Создал новый view для стандартного типа артиклей, назвал его home_article. Добавил ему блок, назвал его home_article_block.
Далее мне нужно было вывести его в конкретном месте на странице. Сначала я пробовал указать в свойсвах блока - вывести в содержание, а в файле page.tpl.php прописал код «».
Но он мне почему-то продублировал контент. Сначала вывел темы как он обычно выводит, а потом вывел мой блок.
Потом пробовал вывести блок программно. Нашел статью на сайте
Не получается вывести через эту функцию блок.
Ссылка на блок:
http://drupalhotel/admin/structure/block/manage/views/home_article-block...
«
$block = module_invoke('', 'home_article_block_home_article', 'home_article-block_1');
print render($block);
?>»
Комментарии
А в разделе редактирования блоков этого view-блока нет? Там можно его в любой регион назначить.
UPD: извиняюсь, это же семерка, еще не юзал ее путем.
В разделе редактирования он есть, но у меня нет регионов футер, хедер и содержание. Я все вывожу программно.
Не проще в page.tpl сделать регионы?
пока это единственный выход, что я нашел. Хотелось бы разобраться и со вторым вариантом.
С дублированием я разобрался. В настрах опубликованных публикаций убрал галку публикация на главной странице и теперь выводит только мой блок.
Теперь мне интересно как вывести программно через функцию «module_invoke».
Вроде нашел решение, чтобы вывести свой блок нужно прописать след код по моему примеру:
<?php
$block = module_invoke('views', 'block_view', 'home_article-block_1');
print render($block);
?>
так правильней наверно
<?php
$block = module_invoke('views', 'block_view', 'home_article-block_1');
echo render($block['content']);
?>