Drupal: преобразование имени термина таксономии в идентификатор термина

Я использую «таксономию: идентификатор термина» в качестве аргумента в одном из моих представлений Drupal, и мне трудно заставить его работать правильно.

На странице администрирования представлений говорится: «При использовании имени термина, как правило, более эффективно преобразовать его в идентификатор термина и использовать Таксономия: Идентификатор термина, а не Таксономия: Имя термина».

Как преобразовать имя термина из URL в идентификатор термина?


person imgrgry    schedule 30.04.2010    source источник


Ответы (1)


вы не показали, как сделать ссылку на эти просмотры с агрументами, например: http://site.com/views_page/taxonomy_name, затем: arg (1) - это ваше имя_термина, получите идентификатор через: $term = taxonomy_get_term_by_name(arg(1));
результат $term->tid

Но если http://site.com/views_page/taxonomy_name - это псевдонимный путь к терминам таксономии, представления должны видеть непосредственно tid при обработке аргументов через arg (2 ) в таксономии / термине / пути TID.

person Nikit    schedule 30.04.2010
comment
но как передать это значение аргументу представления? - person imgrgry; 30.04.2010
comment
Добавьте аргумент в представлениях, см. Параметры валидатора, выберите код PHP: внимательно прочтите комментарий: вы можете изменить аргумент, установив аргумент $ handler- ›. Так что вы можете изменить имя на tid здесь. - person Nikit; 30.04.2010
comment
Обратите внимание, что при выполнении $ term- ›tid имеет значение null. есть идеи, как это решить? - person claire; 31.01.2012
comment
2claire: if (! $ Term- ›tid) вернуть false; - person Nikit; 06.02.2012