Можно ли сделать отдельный шаблон для страниц node/add/тип и для страниц *edit

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

Аватар пользователя Valeratal Valeratal 9 июня 2009 в 22:45

собственно сабж
просто нужно убрать часть блоков при создании нод, и добавить других
примерно как на хабре, справа все убирается, а вставляются полезные советы

Комментарии

Аватар пользователя penexe penexe 10 июня 2009 в 4:36

page-nodetype-blog.tpl.php
page-nodetype-story.tpl.php

<?php
function my_theme_preprocess_page(&$variables) {
  if (
arg(0) == 'node') {
    if ((
is_numeric(arg(1)) && arg(2) == 'edit')) {
      
$variables['template_files'][] = 'page-nodetype-'$variables['node']->type;
    }
    elseif (
arg(1) == 'add' && arg(2)) {
      
$variables['template_files'][] = 'page-nodetype-'str_replace('-''_'arg(2));
    }
  }
}
?>
Аватар пользователя Алешка Алешка 10 июня 2009 в 9:31

В настройках блоков, которые нужно убрать, прописать шаблон страниц, на которых не показывать блоки: заходим в admin/build/block, на нужном блоке нажимаем "настроить", далее в разделе "Показывать блок на определенных страницах" выбрать "Показывать на всех страницах кроме перечисленных", чуть ниже ввести шаблон страниц вида edit/*.

Соответственно добавление блока "полезные советы" - выбрать у блока "Показывать только на перечисленных страницах".

Шаблон страниц уместно делать, когда нужно дизайн переписать и что-то стилизовать в зависимости от назначения. Решение Вашей проблемы с блоками, если я правильно понял, описал выше.

Аватар пользователя Valeratal Valeratal 10 июня 2009 в 10:31

penexe спасибо, попробую

Алешка

с блоками - не подходит
потому что у блока часто нужно прописывать не одно условие а несколько. Показывать там-то, показывать тому-то и тд.

А шаблон нужен, чтобы тупо сменить регион в сайдбаре (и не нужно перенастраиватьь кучу блоков)
например, для форума, свой шаблон, в котором вообще нет сайбаров

Аватар пользователя Andigo Andigo 10 июня 2009 в 12:24

Где-то на друпал.org видел модуль, который как раз позволяет управлять регионами как блоками. То есть, для всех страниц правая колонка будет с одним набором блоков, а для страниц редактирования с другим.
Где-то и здесь на сайте описалово этого модуля проскакивало.

Аватар пользователя Алешка Алешка 15 июня 2009 в 7:29

Попробовать копать в сторону создания регионов внутри ноды. По регионам можно почитать здесь. Собственно в этих регионах блоки так же легко поддаются управлению. Да и сам регион можно скрыть программно через if, когда это нужно.