Стал вопрос о размещении/отображении views на страницах определенного типа. Есть тип материала. Создаются страницы этого типа и к ним должен прикручиваться этот views. Для страниц иного типа - иной views.
Спасибо заранее.
Стал вопрос о размещении/отображении views на страницах определенного типа. Есть тип материала. Создаются страницы этого типа и к ним должен прикручиваться этот views. Для страниц иного типа - иной views.
Спасибо заранее.
Комментарии
А вы попробуйте у этого view сделать фильтр Node:Type и там в поле которое появится с нажатым ctrl выберите те типы, которые нужны
Такой фильтр стоит, но он же для того, чтобы запихать в этот вьюс только материалы определенного типа. А нужно, чтобы вьюс этот отображался с этим своим списком только на страницах этого же типа.
Фильтр - это "что выводить", а не "где выводить".
готовый views выводится в виде блоков или страниц. если вы использовали тип "блок", все настройки видимости ищите в админке в управлении блоками. выбирайте ваш блок, в настройках внизу есть варианты где выводить, где не выводить
это я знаю. Проблема именно в том, чтобы заставить новые страницы, которые будут создаваться кем-то там подхватывать этот вьюс автоматом и не лазить в блок не писать каждый раз там адрес новой страницы для отображения на ней блока. Типов несколько, и такой вью для каждого свой.
мой вариант предполагает использование pathauto. в нем вы устанавливаете для определенных типов материалов определенную часть урла. например, для типа "новости" устанавливаете путь news http://site.ru/news/vash-zagolovok. и так далее для других типов
у вас есть блок с нужным вьюс, у вас есть тип материала "новости" с урлом "news". для того, чтобы вьюс был виден только на страницах, созданных типом "новости" в настройках видимости блока выберите "показывать только на ...." и вбиваете в поле news
hint: видимость блока можно определять кодом php, для чего есть специальное поле на странице редактирования блока.
вот это интересно конечно. Но я не имею представления что в этом случае нужно писать в качестве кода.
Можно примерчик какой-то на эту тему?
/
Проще всего копируете в папке темы файл node.tpl.php
называете его node-ваш тип материала.tpl.php
в этот файл вставляете в нужное место код
<?php
$output = views_embed_view('viewname', $display_id = 'default', арггумент если нужно );
print '
print($output);
print '
';
?>
Все работает благодаря совету от ravik.
Пользуйтесь, у кого такая же проблема.
Совет от gumk поступил уже после того, как я решил эту проблему. Благодарю, но лезть в код мне кажется не будет проще. Но все же спасибо.
А мне кажется, что ответ от gumk несколько универсальнее. Тоже стояла такая задача. gumk, спасибо.

Но совет по поводу видимости блоков - он конечно ещё лучше.