[Решено] Вывод views в node.tpl.php\page.tpl.php | Drupal 7

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

Аватар пользователя overfull overfull 29 июня 2015 в 19:44

Доброго времени суток.
Прошу простить за очередной нелепый вопрос новичка, но, решить проблему надо, а решение в инете не нашел Sad

И так, нужно вывести вьюс. Насколько я понял его нужно запихнуть в node--news.tpl.php (в page--news.tpl.php - пихал, кэш чистил) и он выводится вот так:
линк: admin/structure/views/view/all_projects/
<?php
$block = module_invoke('views','block_view','all_projects');
print render($block['content']);
?>

Но, у меня таким образом ничего не выводится. Блок выводится, вьюс - нет.

Комментарии

Аватар пользователя overfull overfull 29 июня 2015 в 21:02

"kstukstu" wrote:
Этого не может быть...

Честное слово, без понятия.
Смотрел в модулях всё подтянулось правильно, без ошибок.

Аватар пользователя overfull overfull 29 июня 2015 в 21:05

Так, давайте ещё раз. Может я что-то не правильно понял.

Имеем вьюху: example.com/admin/structure/views/view/all_projects/edit
Имеем страница под названием News: example.com/news
в эту самую страницу нужно запихнуть вьюху.
Значит, создаем node--news.tpl.php
Чистим кэш.
Туда пихаем:

<?php
$block = module_invoke('views','block_view','all_projects');
print render($block['content']);
?>

Но, ничего не вылазит Sad

Аватар пользователя serega111 serega111 29 июня 2015 в 21:20

"overfull" wrote:
Так, давайте ещё раз. Может я что-то не правильно понял.

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

Аватар пользователя overfull overfull 29 июня 2015 в 21:41

"serega111" wrote:
Вы явно что-то совсем не так поняли. Вы явно делаете что-то совсем не через то место.
Лучше начнем с того, что вы напишите, что это за страница, что это за вьюха и зачем вы ее там выводите

Мне вообще нужно вывести часть информации с совсем другой страницы в рубрику News.
т.е.:
есть вьюха (structure->views->all_project(Content))
есть страница, куда нужно вывести эту вьюху: example.com/news

я не знаю как это сделать

Аватар пользователя kstukstu kstukstu 29 июня 2015 в 22:13

$block = module_invoke('views','block_view','all_projects');
Вы здесь указываете имя вьюхи, а нужна системное имя блока (если таковой имеется).
Если блока вьюхи нет используйте views_embed_view(). Ссылку на мануал Вам привели выше.

Аватар пользователя serega111 serega111 30 июня 2015 в 10:50

А нельзя было просто создать новое отображение вьюхи - блок, тогда бы у вас на странице admin/structure/blocks появился новый блок, который можно разместить где нужно и задать ограничения на вывод по урлу? Добавлять view_embed_view в шаблон не самое лучшее решение.