Проблема с аргументами

Главные вкладки

Аватар пользователя Paldru Paldru 1 октября 2009 в 15:24

Начал разбираться с аргументами. Что имеем:
1. Один тип материала, каждой ноде которого присваевается по 1 термину из разных словарей(всего 2 термина)
2. Словари "Города" и "Тип"
Значит что нужно:
1. Вывод /razdel/kiev - тут показывается все с этого города, независимо от типа
2. Вывод /razdel/kiev/tip - - тут показывается все с этого города, с учетом типа
Термины из словарей город и тип в основном на русском языке, как его транслитерировать. Знаю что юзать pathauto(как правильно синоним создать?), а потом в аргументах выбрать term syn
3. Сделать 2 поля select и кнопочку "Отфильтровать", как ее сделать чтобы выбирались аргументы по типу exposed filter?

Пробую добавить аргумент term syn, но на странице кроме хлебных крошек ничего не выводиться. Через id термина вывод идет, но мне нужно через синоним.

Комментарии

Аватар пользователя Paldru Paldru 1 октября 2009 в 20:06

"gorr" wrote:
Можно вот эти функции задействовать:
custom_url_rewrite_outbound
custom_url_rewrite_inbound

Это вариант :). Только как это лучше реализовать? С програмированием я не очень дружу, но вижу это как-то так:
Берем делаем 2 аргумента "Term ID", в функциях смотрим входящие id термина, выдираем их русские названия, транслитим, переводим в нижний регистр (если синонимы с большой буквы), и дальше теперь отдаем обработанные аргументы.
Теперь главный вопрос - как это все перевести в код? Или может все проще можно сделать?

Аватар пользователя gorr gorr 1 октября 2009 в 21:42

Все еще проще, нам надо получать из одного вида пути другой, указанный в паре туда и обратно.
my-site.com/razdel/kiev/avto
my-site.com/razdel/киев/авто

my-site.com/razdel/avto
my-site.com/razdel/авто
В одну сторону преобразуем в функции custom_url_rewrite_outbound,
а в другую в функции custom_url_rewrite_inbound. Все.

Аватар пользователя Paldru Paldru 1 октября 2009 в 22:12

Т.е выбираем в качестве аргументов 2 "term name"?
Как при этом выглядит код этих функций в settings.php? С inbound и outbound до этого работал, но там была более простая задача.

function custom_url_rewrite_outbound(&$path, &$options, $original_path) {

}

function custom_url_rewrite_inbound(&$result, $path, $path_language) {

}