Coffin Posted January 28, 2012 Share Posted January 28, 2012 Куда и что надо написать, что бы сначала показывались товары, которые есть в наличии, а в самом конце тех, что нет ? Link to comment Share on other sites More sharing options...
Coffin Posted January 30, 2012 Author Share Posted January 30, 2012 Никто не знает ? У меня даже стандартная сортировка по наличию не очень работает Link to comment Share on other sites More sharing options...
wagood Posted January 31, 2012 Share Posted January 31, 2012 Показывались где? Link to comment Share on other sites More sharing options...
Coffin Posted January 31, 2012 Author Share Posted January 31, 2012 Показывались в списке товаров, которые находятся в категории. Сейчас стоит по цене сортировка. Хочу куда-нить прописать ORDER BY available_for_order DESC Что бы всегда показывались сначала те, что доступные для заказа (это у меня флаг "наличия" так сказать), а только потом, которые не доступны для заказа. Пробовал в classes/Category.php в getProducts писать, но она почему-то вызывается только тогда, когда я уже открыл товар для просмотра, а не когда просматриваю товары в категории. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted February 1, 2012 Share Posted February 1, 2012 предполагаю что в getProducts в блоке if ($orderBy == 'id_product' OR $orderBy == 'date_add') $orderByPrefix = 'p'; elseif ($orderBy == 'name') $orderByPrefix = 'pl'; elseif ($orderBy == 'manufacturer') { $orderByPrefix = 'm'; $orderBy = 'name'; } elseif ($orderBy == 'position') $orderByPrefix = 'cp'; надо добавить что-то типа elseif ($orderBy == 'available_for_order') $orderByPrefix = 'p'; и потом в контроллере в productListAssign вызывать уже с нужными параметрами Link to comment Share on other sites More sharing options...
Coffin Posted February 1, 2012 Author Share Posted February 1, 2012 Уже разобрался. Если включен blocklayered, то надо в нем править. я в него написал просто p.available_for_order DESC, p.price ASC, теперь у меня всегда показывается то, что доступно к заказу и сортируется по цене. Удобно Link to comment Share on other sites More sharing options...
Gerra Posted February 3, 2012 Share Posted February 3, 2012 А в какое место прописал то ??? Link to comment Share on other sites More sharing options...
Coffin Posted February 3, 2012 Author Share Posted February 3, 2012 Последняя версия этого модуля. файл blocklayered.php функция getProductByFilters Там перед закрывающей скобкой есть строки GROUP BY p.id_product ORDER BY напиши туда GROUP BY p.id_product ORDER BY p.available_for_order DESC, p.price ASC, Link to comment Share on other sites More sharing options...
Gerra Posted February 3, 2012 Share Posted February 3, 2012 у меня такая строка, версия 1,75 GROUP BY p.id_product ORDER BY '.Tools::getProductsOrder('by', Tools::getValue('orderby'), true).' '.Tools::getProductsOrder('way', Tools::getValue('orderway')). Я так понимаю, сортировка происходит по тому как выбрано пользователем по выпадающему окну которое верху списка товаров или если не указано то умолчание которое задается через админку. Если тупо поменять то оно же работать не будет. Link to comment Share on other sites More sharing options...
Coffin Posted February 3, 2012 Author Share Posted February 3, 2012 у меня такая строка, версия 1,75 GROUP BY p.id_product ORDER BY '.Tools::getProductsOrder('by', Tools::getValue('orderby'), true).' '.Tools::getProductsOrder('way', Tools::getValue('orderway')). Я так понимаю, сортировка происходит по тому как выбрано пользователем по выпадающему окну которое верху списка товаров или если не указано то умолчание которое задается через админку. Если тупо поменять то оно же работать не будет. Тебе после ORDER BY надо добавить p.available_for_order DESC, p.price ASC, А вобще, если что, то стандартная сортировка не контачит с этим модулем. Т.е. если отсортировать по Цене, а потом в блоке фильтрации ченить выбрать, то твоя сортровка по цене слетит Link to comment Share on other sites More sharing options...
Gerra Posted February 3, 2012 Share Posted February 3, 2012 Сортировка у меня работает отлично с фильтром, ничего не сбрасывается. Возможно просто нужно обновить файлы шаблона. Попробую дописать в начале отпишусь. Link to comment Share on other sites More sharing options...
Coffin Posted February 3, 2012 Author Share Posted February 3, 2012 хз, у меня 1451 В стоке стоит сортировка по цене. Если в blocklayered что-нить выбрать, то по цене сортировка сбрасывается. Link to comment Share on other sites More sharing options...
Gerra Posted February 5, 2012 Share Posted February 5, 2012 GROUP BY p.id_product ORDER BY p.available_for_order DESC, p.price ASC, '.Tools::getProductsOrder('by', Tools::getValue('orderby'), true).' '.Tools::getProductsOrder('way', Tools::getValue('orderway')). привел к такому виду но ничего не поменялось, то ли кеширование где-то нужно почистить то ли опять не понял куда прописать, у меня кстати 1.4.6.2 Link to comment Share on other sites More sharing options...
Coffin Posted February 6, 2012 Author Share Posted February 6, 2012 GROUP BY p.id_product ORDER BY p.available_for_order DESC, p.price ASC, '.Tools::getProductsOrder('by', Tools::getValue('orderby'), true).' '.Tools::getProductsOrder('way', Tools::getValue('orderway')). привел к такому виду но ничего не поменялось, то ли кеширование где-то нужно почистить то ли опять не понял куда прописать, у меня кстати 1.4.6.2 А он у тебя через ajax обновляется, когда например на след. страницу перелистываешь ? В админке кэш и перекомпиляцию отключал ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now