IOO Опубликовано: июля 24, 2016 Жалоба Поделиться Опубликовано: июля 24, 2016 Случайно наткнулся на визуальный баг в версии 2.х. Все замеры сделаны на http://demo.opencart.pro/ В админке > в карточке товара > вкладка "Связи" > Строка "Главная категория" Выпадающий список категорий сортируется черти как и не соответствует тому, как это было в 1.5.х версиях (выводился в соответствии с выставленной сортировкой в "Категориях", либо по алф. если у всех одинаковые значения, все как обычно). Почему-то начинает сортировать по ID, и то не с первых значений, а потом добавляет в непонятном порядке. Вот пример с демо: Скрытый текст <option value="36">Компоненты > Мониторы > test 2</option> <option value="37">MP3 Плееры > test 5</option> <option value="38">MP3 Плееры > test 4</option> <option value="39">MP3 Плееры > test 6</option> <option value="40">MP3 Плееры > test 7</option> <option value="41">MP3 Плееры > test 8</option> <option value="42">MP3 Плееры > test 9</option> <option value="43">MP3 Плееры > test 11</option> <option value="44">MP3 Плееры > test 12</option> <option value="45">Ноутбуки > Windows</option> <option value="46">Ноутбуки > Macs</option> <option value="47">MP3 Плееры > test 15</option> <option value="48">MP3 Плееры > test 16</option> <option value="49">MP3 Плееры > test 17</option> <option value="50">MP3 Плееры > test 18</option> <option value="51">MP3 Плееры > test 19</option> <option value="52">MP3 Плееры > test 20</option> <option value="53">MP3 Плееры > test 21</option> <option value="54">MP3 Плееры > test 22</option> <option value="55">MP3 Плееры > test 23</option> <option value="56">MP3 Плееры > test 24</option> <option value="58">MP3 Плееры > test 20 > test 25</option> <option value="20">Компьютеры</option> <option value="26">Компьютеры > PC</option> <option value="28" selected="selected">Компоненты > Мониторы</option> <option value="29">Компоненты > Мышки</option> <option value="30">Компоненты > Принтеры</option> <option value="31">Компоненты > Сканеры</option> <option value="32">Компоненты > Веб-камеры</option> <option value="18">Ноутбуки</option> <option value="27">Компьютеры > Mac</option> <option value="25">Компоненты</option> <option value="57">Планшеты</option> <option value="17">Дополнения</option> <option value="24">Телефоны и PDA</option> <option value="33">Камеры</option> <option value="34">MP3 Плееры</option> з.ы. у соседей ocstore такая же шляпа. Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
Это популярное сообщение. IOO Опубликовано: апреля 8, 2017 Автор Это популярное сообщение. Жалоба Поделиться Опубликовано: апреля 8, 2017 Апну тему. Недавно вернулся к этой ошибке вывода категорий. Решение для себя нашел в admin/model/catalog/category.php в функции getCategories в 260 строке $sql .= " GROUP BY cp.category_id"; заменил на $sql .= " GROUP BY cp.category_id ORDER BY name, c1.parent_id"; и удалил условие ниже (не уверен в адекватности этого действия, но уж как есть) if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { $sql .= " ORDER BY " . $data['sort']; } else { $sql .= " ORDER BY sort_order"; } if (isset($data['order']) && ($data['order'] == 'DESC')) { $sql .= " DESC"; } else { $sql .= " ASC"; } Выводить категории стало по алфавиту, и с учетом структуры "категорий-подкатегорий-и глубже". Мне этого достаточно, как думаю и большинству. Для удобства личных ocmod'ов: Скрытый текст <file path="admin/model/catalog/category.php"> <operation> <search><![CDATA[$sql .= " GROUP BY cp.category_id";]]></search> <add position="replace"><![CDATA[$sql .= " GROUP BY cp.category_id ORDER BY name, c1.parent_id";]]></add> </operation> <operation> <search><![CDATA[if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {]]></search> <add position="replace" offset="11"><![CDATA[]]></add> </operation> </file> Сделать идеальную сортировку через c1.sort_order у меня не вышло. Чтобы учитывало выставленную сортировку и корректную структуру вложения категорий. Пробовал варианты: $sql .= " GROUP BY cp.category_id ORDER BY c1.sort_order, c1.parent_id"; Но не сработало. Дальше копать было лень. Может кто более компетентный подскажет? rux и CheeSS 2 Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
CheeSS Опубликовано: июня 9, 2017 Жалоба Поделиться Опубликовано: июня 9, 2017 В 08.04.2017 at 14:50, IOO сказал: Апну тему. Недавно вернулся к этой ошибке вывода категорий. Решение для себя нашел в admin/model/catalog/category.php в функции getCategories в 260 строке $sql .= " GROUP BY cp.category_id"; заменил на $sql .= " GROUP BY cp.category_id ORDER BY name, c1.parent_id"; и удалил условие ниже (не уверен в адекватности этого действия, но уж как есть) if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { $sql .= " ORDER BY " . $data['sort']; } else { $sql .= " ORDER BY sort_order"; } if (isset($data['order']) && ($data['order'] == 'DESC')) { $sql .= " DESC"; } else { $sql .= " ASC"; } Выводить категории стало по алфавиту, и с учетом структуры "категорий-подкатегорий-и глубже". Мне этого достаточно, как думаю и большинству. Для удобства личных ocmod'ов: Скрыть содержимое <file path="admin/model/catalog/category.php"> <operation> <search><![CDATA[$sql .= " GROUP BY cp.category_id";]]></search> <add position="replace"><![CDATA[$sql .= " GROUP BY cp.category_id ORDER BY name, c1.parent_id";]]></add> </operation> <operation> <search><![CDATA[if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {]]></search> <add position="replace" offset="11"><![CDATA[]]></add> </operation> </file> Сделать идеальную сортировку через c1.sort_order у меня не вышло. Чтобы учитывало выставленную сортировку и корректную структуру вложения категорий. Пробовал варианты: $sql .= " GROUP BY cp.category_id ORDER BY c1.sort_order, c1.parent_id"; Но не сработало. Дальше копать было лень. Может кто более компетентный подскажет? Спасибо, решение помогло! По алфавиту более чем достаточно, по сравнению с тем что было)) Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
YaRad Опубликовано: апреля 24, 2020 Жалоба Поделиться Опубликовано: апреля 24, 2020 На уровне разработчиков никак не решилось? Установил платную версию 2.3. Та же фигня. Никак нельзя вылечить модулем никак? Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть учётная запись, войдите, чтобы публиковать под своей учётной записью.