Искать  
 
   
 
Фильтрация категорий
Отправлено: 12 Январь 2009 07:19 P.M.   [ Игнорировать ]
Студент
Avatar
RankRank
Всего сообщений:  142
Зарегистрирован  2008-01-02

Трям. Речь идет о category=“ID&ID;&ID;”. & - позволяет использовать категории для продвинутого поиска (фильтрации) записей ака search для weblog:entries тега.

Конечно можно было бы фильтровать по кастам филдам, но параметру search требуется задать как само поле, так и его значение, что неприминимо в моем случае (урлы плавают, пример - resto.ru (понажимайте на верхнее меню, а потом еще и еще).

Собственно вопрос, так-как я использую кат_урл_тайтл вместо кат_айди то приходится парсить тайтл из сегментов и искать им айди.

Текущий код (нашел на офф форуме, так-же пробовал плагин category_id (сорцы имеют этот же запрос)

{exp:query sql="SELECT cat_id FROM exp_categories WHERE cat_url_title = '{segment_3)' "}{/exp:query} 

Подскажите плз как модифицировать запрос, чтобы можно было парсить id для всех девяти сегментов и ставить & после каждой категории, у последней уберу бэкспесом. Разумеется я пробовал методом тыка, скину позже код если вообще потребуется.

Профиль
 
 
Отправлено: 12 Январь 2009 09:24 P.M.   [ Игнорировать ]   [ # 1 ]
Member
Avatar
RankRankRank
Всего сообщений:  153
Зарегистрирован  2008-08-19

может что-то типа этого:

{exp:query sql="SELECT c1.cat_id as cat1,
                       c2.cat_id as cat2,
                       c3.cat_id as cat3
                       ...
     FROM exp_categories as c1,
          exp_categories as c2,
          exp_categories as c3,
          ...
     WHERE c1.cat_url_title = '{segment_3)' AND
           c2.cat_url_title = '{segment_4)' AND
           c3.cat_url_title = '{segment_5)'
           ...
 "
}
{cat1}
&{cat2}&{cat3}...
{/exp:query} 
Профиль