Фильтры для термина

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

Аватар пользователя Salamosha Salamosha 7 декабря 2011 в 12:10

Здравствуйте!
Такая проблема: у меня есть словари Каталог,Производитель.
Термины: Каталога
-Офисная техника
-Копиры
-МФУ
-Принтеры
Производитель:
-HP
-Xerox
-Sharp

Далее есть въюха с полями: Заголовок, содержание, фото, цена. И два фильтра: Тип и expose фильтр по производителям с выпадающим списком. Как выводить въюху вместо терминов, чтобы остались фильтры?

Подскажите пожалуйста, уже неделю не могу разобраться. Пробовал сделать через Taxonomy redirect, но не вышло

Комментарии

Аватар пользователя divined divined 7 декабря 2011 в 12:36

трудно описать в двух словах,
поищите тут я поднимал подобную тему в начале своего осваивания дру.

Taxonomy redirect - верное направление

Например в Taxonomy redirect пришите правило:

Словарь: каталог
путь: catalog/!name

выставляете дополнительные опции убирания пробелов и приведение к нижнему регистру...

создаете views с адресом catalog, и в аргументы ставите Тerm name, где нужно прописать замену нижнего подчеркивания на пробелы.

Теперь при заходе на адрес catalog/офисная_техника будет показываться материалы в данном разделе.

Если же хотите английские пути, тут все немного сложнее, хотя видел что 3 Views уже поддерживает синонимы как аргументы, т.е.
Термин создаете на английском, а синоним указываете на русском, тогда адреса будут на латинице.

Это в общих чертах )

Аватар пользователя Salamosha Salamosha 7 января 2012 в 12:53

Если кому пригодится, я нашёл сниппет чуть подправил его и получил вывод терминов в строку
$vid = your_id; /* <---- put correct vocabulary ID here */
$terms = taxonomy_get_tree($vid);
print "

";
foreach ( $terms as $term ) {
$tcount = taxonomy_term_count_nodes($term->tid);
$children_terms = taxonomy_get_children($term->tid);
if ($term->depth == 0) {
print "

";
}
} /* end foreach */
print "

";
print l($term->name." (".$tcount.")",'taxonomy/term/'
.$term->tid, array('title' => $tcount." posts in "
.$term->name));
if ($children_terms) {

foreach ( $children_terms as $children_term ) {
$t_children_count = taxonomy_term_count_nodes($children_term->tid);
print "

  • ";
    print l($children_term->name." (".$t_children_count.")",
    'taxonomy/term/'.$children_term->tid, array('title' =>
    $t_children_count." posts in ".$children_term->name));

    }/* end foreach children */
    print "

  • ";
    }
    print "

    ";
    ?>