Вывод нодов через views, и вывод через стандартный шаблон

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

Аватар пользователя 3xdimon 3xdimon 19 августа 2011 в 14:00

Есть такая проблема, тут искал, решения не нашел...

есть нод продукт, и есть нод статья и есть остальные ноды выводящиеся через обычный.

Путь: /node/% - перехватывает все ноды

поставил контекстный фильтр по "Содержимое: Nid". Теперь товары выводятся нормально, но другие ноды - нет...

Подскажите как с помощью views вывести через разные представления - товары - через Представление товаров, статьи через представление статьи и другие, что не статьи и товары - шли через стандартный друпаловский вывод ???

Комментарии

Аватар пользователя 3xdimon 3xdimon 19 августа 2011 в 21:05

Пробывал, оно просто не выводит ничего...

точнее вывод товара - выводит, а остальные просто тупо ничего не выводят...

Аватар пользователя bredov bredov 19 августа 2011 в 22:05

все-таки сформулируйте вышестоящую задачу. Вам нужно вывести типы материалов по отдельности? Это делается вьюсом, причем просто. Выложите сюда скрин с настройками представления, проще будет понять, что имеется в виду.

Аватар пользователя 3xdimon 3xdimon 22 августа 2011 в 9:08

Вот собственно говоря он... подскажите что не так делаю, т.к. views в первый раз, а для каждой страницы создавать шаблон - не хочется...
надо чтоб это представление работало только для товаров, а остальные выводились стандартно...

Аватар пользователя 3xdimon 3xdimon 23 августа 2011 в 10:22

Пока нашел ручной метод


<?php if ($node->type == 'product'): ?>
        <?php print views_embed_view('product','default'$node->nid); ?>
<?php 
else: ?>

Может есть какой либо другой? неручно, а автоматический?

Аватар пользователя 3xdimon 3xdimon 25 августа 2011 в 10:31

Так что никто не знает как настроить views чтоб при перехвате node/%
Перехватывались товары, а другие ноды - выводились стандартно?

Аватар пользователя bredov bredov 25 августа 2011 в 14:56

можно попробовать настроить пути для разных типов контента (автоматические синонимы), чтобы товары имели путь типа goods/%, тогда во вьюхе поставить перехват именно этого пути.

Аватар пользователя D8i8m8a8 D8i8m8a8 26 августа 2011 в 0:12

"3xdimon" wrote:

"3xdimon" wrote:
Пока нашел ручной метод

<?php if ($node->type == 'product'): ?>
<?php print views_embed_view('product','default', $node->nid); ?>
<?php else: ?>

А где писать єтот php код?

Аватар пользователя bredov bredov 26 августа 2011 в 0:56

"D8i8m8a8" wrote:
Автоматические синонимы "не работают")

хм-м, с синонимами каталога в Уберкарте это работает ...

"D8i8m8a8" wrote:
А где писать єтот php код?

в шаблоне ноды.

Аватар пользователя D8i8m8a8 D8i8m8a8 26 августа 2011 в 10:32

"bredov" wrote:
хм-м, с синонимами каталога в Уберкарте это работает ...

Да работает, возможно Уберкарт испосзует какойто редирект ...

Аватар пользователя D8i8m8a8 D8i8m8a8 26 августа 2011 в 10:57

"3xdimon" wrote:
Пока нашел ручной метод

<?php if ($node->type == 'product'): ?>
<?php print views_embed_view('product','default', $node->nid); ?>
<?php else: ?>

3xdimon, bredov Огромное спасибо!!! Кодом всё работает!!!

Аватар пользователя ivan-zykov ivan-zykov 24 февраля 2012 в 13:21

Аналогичную проблему нужно было решить. Выяснилось, что проверка по типу материала работает, если символ % не последний в адресе и страница представления выводится во вкладке. Тогда лишняя вкладка не появляется, то есть проверка по типу материала работает. А вот если представлением пытаться заменить страницу (node/%), то тогда в настройках контекстных фильтров проверка по типу ноды работает не правильно (как писал 3xdimon, перехватываются пути ко всем нодам).

Я так понимаю, удалось решить проблему создав блок и выведя его в шаблоне:

print views_embed_view('maps_districts','block_1', $node->nid);

Всё верно?

Аватар пользователя ivan-zykov ivan-zykov 24 февраля 2012 в 13:27

Я так понял, что в настройках контекстных фильтров в списке для выбора "Действие в случае если значение фильтра недействительно" не хватает что-то вроде "Скрыть представление", там есть только "Вывести Страница не найдена".

А в D6, кстати, есть "Скрыть представление / Страница не найдена (404)". Только не знаю, работало ли это в D6.

Аватар пользователя ivan-zykov ivan-zykov 24 февраля 2012 в 13:48

Теперь появилась другая проблема. В шаблоне типа ноды вставил строку:
print views_embed_view('maps_districts','block_1', $node->nid);

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