+ Ответить в теме
Показано с 1 по 7 из 7
  1. #1
    Новичок Karlsson - весьма и весьма положительная личность Karlsson - весьма и весьма положительная личность
    Регистрация
    01.10.2009
    Адрес
    Kaliningrad, Russia
    Сообщений
    1
    Сказали 'Спасибо' за это сообщение. :
    0 за это сообщение
    3 Всего
    Загрузки
    4
    Закачек
    0
    Вес репутации
    0

    По умолчанию Как заставить фильтр выводить списки отсортированные по алфавиту, а не по ID?

    Не могу заставить фильтр сортироваться по алфавиту.
    Нужно внедрить сортировку в стандартные опции - производитель, тип товара.

    Попробовал переключить в "особую опцию", но не понял где нужно воткнуть ORDER BY ...
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  2. #2
    Moderator Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима
    Регистрация
    23.11.2010
    Сообщений
    434
    Сказали 'Спасибо' за это сообщение. :
    2 за это сообщение
    290 Всего
    Загрузки
    14
    Закачек
    0
    Вес репутации
    40

    По умолчанию Re: Как заставить фильтр выводить списки отсортированные по алфавиту, а не по ID?

    ORDER BY там воткнуть некуда.
    В недрах Viartshop 4.0.7 рождается примерно такой запрос:
    Код:
    SELECT COUNT( DISTINCT i.item_id ) AS total, Группировать поля для подсчета
    FROM Фильтр SQL From
    ((va_items i INNER JOIN va_items_categories ic ON i.item_id = ic.item_id))
    WHERE i.is_showing =1
    AND i.is_approved =1
    AND ((i.hide_out_of_stock =1 AND i.stock_level >0) OR i.hide_out_of_stock =0 OR i.hide_out_of_stock IS NULL)
    AND (i.language_code IS NULL OR i.language_code = '' OR i.language_code = 'ru')
    AND i.sites_all =1 AND i.guest_access_level &2 AND ic.category_id =3
    AND (Запрос SQL Where для подсчета)
    GROUP BY Группировать поля для подсчета
    Кстати, из текста запроса видно, что текст в поле Фильтр SQL From обязательно должен оканчиваться запятой.

    PS: Добавление "ORDER BY" в этот запрос ни на что не влияет, порядок формируется чуть раньше. Для решения проблемы можно добавить строку типа такой
    Код:
    $sql .= " ORDER BY 1;";
    в файл block_filter.php после строки 124.

    PPS: А можно добавить поле в настройки опции фильтра, а значение этого поля подставлять в вышеприведенную строку.
    Последний раз редактировалось Aleksey; 26.06.2011 в 23:58.
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  3. Сказали спасибо:

    nemo (27.06.2011) , newshop (27.06.2011)

  4. #3
    Новичок Karlsson - весьма и весьма положительная личность Karlsson - весьма и весьма положительная личность
    Регистрация
    01.10.2009
    Адрес
    Kaliningrad, Russia
    Сообщений
    1
    Сказали 'Спасибо' за это сообщение. :
    0 за это сообщение
    3 Всего
    Загрузки
    4
    Закачек
    0
    Вес репутации
    0

    По умолчанию Re: Как заставить фильтр выводить списки отсортированные по алфавиту, а не по ID?

    Мерси!

    В моем случае стандартного фильтра с единственной опцией (например Производитель) помогает конструкция
    Код:
    $sql .= " ORDER BY 2";
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  5. #4
    Новичок Olejkee на пути к лучшему
    Регистрация
    29.06.2010
    Адрес
    Краснодар
    Возраст
    22
    Сообщений
    7
    Сказали 'Спасибо' за это сообщение. :
    0 за это сообщение
    0 Всего
    Загрузки
    0
    Закачек
    0
    Вес репутации
    0

    По умолчанию Re: Как заставить фильтр выводить списки отсортированные по алфавиту, а не по ID?

    дабы не плодить тему...
    аналогичная проблема, только для 3.6.
    как упорядочить типы товара и производителей?
    заранее спасибо
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  6. #5
    Сообщество ViArts oldmanager - весьма и весьма положительная личность oldmanager - весьма и весьма положительная личность oldmanager - весьма и весьма положительная личность
    Регистрация
    12.02.2010
    Адрес
    Москва
    Сообщений
    196
    Сказали 'Спасибо' за это сообщение. :
    0 за это сообщение
    21 Всего
    Загрузки
    16
    Закачек
    0
    Вес репутации
    12

    По умолчанию Re: Как заставить фильтр выводить списки отсортированные по алфавиту, а не по ID?

    Цитата Сообщение от Olejkee Посмотреть сообщение
    дабы не плодить тему...
    аналогичная проблема, только для 3.6.
    как упорядочить типы товара и производителей?
    заранее спасибо
    Присоединяюсь к вопросу.

    P.S. Если можно, то с указанием названия файла и куска кода, после которого нужно вставить
    $sql .= " ORDER BY 1;"; или $sql .= " ORDER BY 2";
    Заранее спасибо.
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  7. #6
    Moderator Subbota за этого человека можно гордится Subbota за этого человека можно гордится Subbota за этого человека можно гордится Subbota за этого человека можно гордится Subbota за этого человека можно гордится Subbota за этого человека можно гордится Subbota за этого человека можно гордится Subbota за этого человека можно гордится Subbota за этого человека можно гордится
    Регистрация
    28.02.2010
    Сообщений
    430
    Сказали 'Спасибо' за это сообщение. :
    1 за это сообщение
    77 Всего
    Загрузки
    26
    Закачек
    0
    Вес репутации
    24

    По умолчанию Re: Как заставить фильтр выводить списки отсортированные по алфавиту, а не по ID?

    чтобы, к примеру, на странице "печать" правильно выводились блоки, нужно добавить в SQL
    запрос сортировку по полю "Название блока характеристик"



    вот список файлов где используется таблица "Названия блоков характеристик"


    например за карточку товара отвечает файл \blocks\block_product_details.php
    нужно по аналогии с примером выше изменить сортировку в SQL запросе
    Последний раз редактировалось Subbota; 30.12.2011 в 02:27.
    Все наши проблемы начинаются внутри нас
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  8. Сказали спасибо:

    oldmanager (07.01.2012)

  9. #7
    Сообщество ViArts oldmanager - весьма и весьма положительная личность oldmanager - весьма и весьма положительная личность oldmanager - весьма и весьма положительная личность
    Регистрация
    12.02.2010
    Адрес
    Москва
    Сообщений
    196
    Сказали 'Спасибо' за это сообщение. :
    0 за это сообщение
    21 Всего
    Загрузки
    16
    Закачек
    0
    Вес репутации
    12

    По умолчанию Re: Как заставить фильтр выводить списки отсортированные по алфавиту, а не по ID?

    Спасибо за ответ.
    Прочёл... посмотрел... и понял, что я в этом не разбираюсь

    P.S. Но если что, буду знать, к кому обращаться.
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо


 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

     

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Back to top