Вложенные Views

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

Аватар пользователя Dimm Dimm 16 августа 2007 в 23:34

Надо было сделать такое:
Есть 2 словаря:
-Рубрики (Авто, техника, компьютеры...)
-районы города(Железнодорожный, Ленинский...)
И 2 типа Нод:
-Товары (привязаны к рубрике)
-Фирмы (привязаны к району)
Товары с помощью Node Refrence привязываются к одной из фирм

Как сделать выборку товаров из определенной рубрики и района
то есть:
аргумент (термин таксономии) -> нода -> (NodeRefrence) -> нода <- аргумент (термин таксономии)

Решил вопрос сам с помощью вложенных views:
1. Создал views возвращающий ID фирм принадлежащих термину таксономии(аргумент).
2. Вызываю этот views в Argument Handling Code второго views
c помощью кода
global $current_view4;
$current_view4->args[0]=$args[1];
$view4 = views_get_view('taxonomy_region_firms');
$items=views_build_view('items', $view4, $current_view4->args, false, false);
$i=0;
foreach ($items[items] as $item) {
$view->filter[3]['value'][$i]=$item->nid;
$i=$i+1;
}
$view->is_cacheable = 0;
return $args;
3. Во втором views выбираю товары по термину таксономии рубрика (первый аргумент)
и по Node Refrence ссылке на фирму (фильтр который динамически изменяется с помощью приведенного выше кода).
4. Получившийся views запускаю с двумя аргументами: tid рубрики и tid района и получаю товары в нужной рубрике, принадлежащие фирмам данного района.

Комментарии

Аватар пользователя orbisnull orbisnull 17 августа 2007 в 7:19

Такой вариант не пришел в голову для подобной задачи (эх, с views я на Вы), а Category чем вас не устроил? все -категории и только товары - ноды... я так собирался делать