Сори за сумбурный заголовок, попробую объяснить на примере
На сайте есть страницы которые содержат по несколько вьюх, блоков и пр.
Для них я хочу создать отдельный шаблон и через module_invoke и html вставки получить нужный вывод
Но шаблон чего мне создавать? Можно конечно взять просто Basic page и её шаблон переопределить, как временный вариант пойдёт, но хочу узнать как правильно.
Панели не хочу использовать, громоздкие, и много лишнего html
Писать модуль? Можно, но может есть готовое. Я использовал как-то EmptyPage, он создаёт заглушки, которые можно как раз переопределить через шаблоны. Но переопределять придётся всю страницу, а есть ли такое же только для контента страницы?
Комментарии
создавать вьючные страницы
Т.е. если мне нужно получить страницу со следующей структурой
block1
view1
block2
view2
вы предлагаете создать для view1 страницу, а в шаблоне для неё добавить вывод block1, block2 и view2?
Суть в том что я не хочу привязываться к конкретным элементам страницы.
Ищу модуль (если таковой есть) в котором можно указать адрес, например /custompage1 и в теме определить шаблон custom-page--1.tpl.php
И в шаблоне уже пишу:
print render( module_invoke('views', 'block_view', 'map-block_1') );
print render( module_invoke('block', 'block_view', 2) );
print render( module_invoke('views', 'block_view', 'map-block_2') );
Для EmptyPage нужно всю страницу формировать, что мне не подходит, с шапкой, подвалом и пр.
сделайте модуль
1. хук меню - определит вашу ссылку
2. хук темы - тему с нужным шаблоном
3. вставляйте в шаблон что пожелаете нужным.
момент.
в render желательно передавать переменную с результатом module_invoke, а не саму функцию. Будет ругаться.
Готовых решений я не встречал.
t1mm1 спасибо, значит повелосипедим
я ради интереса гагуглил суть вопроса.
а решения действительно нет. по крайней мере без напильника и велосипедов.
п.с. а свое решение лучше, быстрее и проще.
ну тогда пустые ноды и page.tpl.php для каждой создаете и пишите ваши invoke. Либо включаете php filter и в теле ноды вызываете
[quote]
Либо включаете php filter и в теле ноды вызываете
[quote]
ай ай ай, по рукам, по рукам, атата!
А чем https://www.drupal.org/project/panels не устраивает?
sasha_gar Спасибо, до этого так и делал, просто почти в каждом проекте сталкиваюсь с подобными задачами, решил разобраться как же правильно делать
sas@drupal.org Для задачи он подходит, но тяжёлый. Я пока ещё не силён в вёрстке, несколько раз приходилось темизировать вывод panels, много времени на это тратил.
В общем начал выбирать имя для самопального модуля, остановился на custom page, а такой уже есть, и делает именно то что мне нужно