Хотелось бы узнать стоит ли модуль таксономии небольшой доработки?
Касается это ссылок на страницы где показываются ноды принадлежащие нескольким терминам таксономии одновременно (операция «И») или хотя бы одному из них (операция «ИЛИ»). Ссылка при этом формируется taxnomy/term/2+5+3 или taxnomy/term/2,5,3 и обрабатывается модулем taxonomy.
У обоих возможностей заложенных разработчиками Drupal есть недостаток. Вне режима чистых ссылок оператор «плюс» преобразуется в пробел (специальное значение для параметров запроса), потому в модуле таксономии парсится еще и пробел. Оператор же «запятая» при пропускании его через функцию друпала l() превращается в код со знаком %. Связано это опять со спецзначением запятой, иногда она заменяет амперсанд (&).
У себя в блоге я уже описывал один хак модуля таксономии, но мне кажется стоит еще поразмышлять.
Внимательное рассмотрение небуквенноцифровых символов показывает, что безопасными для составления гиперссылок являются только три: «точка» (.), «дефис» (-) и «нижнее подчеркивание» (_).
Мне кажется подходящими в качестве оператора И будет «дефис», а в качестве оператора ИЛИ - «нижнее подчеркивание». Хотелось бы знать мнение сообщества.
Доработка, кстати, очень простая - выше описывал.
Пинать ногами аффтара и бить головой ап стену можно и у него дома...
Комментарии
Тема интересует. Спасибо.
А вьюес работает с несколькими терминами?
В старых версиях друпала был принят такой синтаксис /or/1/2/3 и /and/1/2/3 - на мой взгляд было очень наглядно. Затем его заменили на вроде как более понятную людям инфиксную нотацию 1,2,3 и 1+2+3.
Плюсы и запятые в урлах - зло.
Многие другие символы тоже.
возможно лучше не хакать, а написать свой модуль с переброской на таксомодуль
есть модуль taxonomy_forceall - лучше всего взять его за основу и добавить нужную функциональность.
насколько я помню, он использует для преобразования пути хук hook_init
Хм, а что, это зарубили в drupal 7? И на что заменили?
На вьюс
Ага, но это вывод. Тут другая задача - передать несколько терминов в качестве аргументов.