page-content-type.tpl.php отдельный шаблон для контент типа

tpl.php друпал drupal

Наверно вы не раз создавали отдельные шаблоны для своих нод переопределяя их как node-content-type.tpl.php.

Иногда этим можно и ограничится, а иногда для отдельного контент типа необходимо задать определенный шаблон. К сожалению в 6ом Друпале так не получится сделать без написания дополнительного кода. Чтобы наши новые шаблоны для контент типов page-content-type.tpl.php заработали, нужно в файл template.php поместить следующий код:

function phptemplate_preprocess_page(&$vars) {
  if (isset($vars['node'])) {
    $vars['template_files'][] = 'page-'. str_replace('_', '-', $vars['node']->type); 
  } 
}

 Теперь можно создавать свой шаблон для контент типа, например page-news.tpl.php (где news машинное имя контент типа новостей).

Также в Друпале возможно переопределять шаблоны вывода термина таксономии добавив функцию в template.php:

После этого можно будет в папке с текущей темой переопределить шаблон node-taxonomy.tpl.php

function phptemplate_preprocess_node(&$vars) {
  if (arg(0) == 'taxonomy') {
    $suggestions = array(
      'node-taxonomy'
    );
    $vars['template_files'] = array_merge($vars['template_files'], $suggestions);
  }
}

Комментарии

Добавить комментарий

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook
(If you're a human, don't change the following field)
Your first name.
(If you're a human, don't change the following field)
Your first name.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

А подскажите как для своего

А подскажите как для своего переопределеного шаблон прописать новую таблицу css? Или этот тип все равно будет брать родные стили? Если можно прописать, то где это прописывают кроме как в этом шаблоне?

новый файл css можно добавить

новый файл css можно добавить в файле .info

stylesheets[] = css/new.css

Например так. Если нужно переопределить уже существующий css, то можно использовать !important, например так

font-size: 15px !important;

Или можно отключать css сторонних модулей, об этом в этой статье

http://drupalbook.ru/content/udalenie-ili-pereopredelenie-standartnykh-css-failov