Народ помогите никак не могу сделать отдельную темизацию в Drupal 7
Я сделал так
в template.php
<?php
function velotemplates_preprocess_page(&$vars, $hook) {
if (isset($vars['node'])) {
// If the node type is "blog" the template suggestion will be "page--node--blog.tpl.php".
$vars['theme_hook_suggestions'][] = 'page__node__' . str_replace('_', '--', $vars['node']->type);
}
}
function
velotemplates_theme() {
$items = array();
$items['user_login'] = array(
'render element' => 'form',
'path' => drupal_get_path('theme', 'velotemplates') . '/templates',
//define the file name
'template' => 'user-login',
'preprocess functions' => array(
'velotemplates_preprocess_user_login'
),
);
return $items;
}
?>
Создаю файл page--node--article.tpl.php тоесть темизировть отдельно по типу статья
Очистил кеш
http://dl3.joxi.net/drive/2017/01/10/0012/1159/824455/55/23730eaa02.jpg
обновляюсь и ничего
что я сделал нитак...
Комментарии
Этот кусок относиться к темизации логина и регитрации.. Я прост показал весь код файла
<?php
function Theme_name_preprocess_page(&$variables)
{
if (isset($variables['node'])) {
$variables['theme_hook_suggestions'][] = 'page__type__' . $variables['node']->type;
$variables['theme_hook_suggestions'][] = 'page__node__' . $variables['node']->type;
}
}
?>Я так тоже делал
<?php
function velotemplates_preprocess_page(&$variables)
{
if (isset($variables['node'])) {
$variables['theme_hook_suggestions'][] = 'page__type__' . $variables['node']->type;
$variables['theme_hook_suggestions'][] = 'page__node__' . $variables['node']->type;
}
}
?>
Резуьтата тоже нет
файл называл и page--node-article.tpl.php и page--type-article.tpl.php
Я делал по разному на разных форумах лазил и что-то не идет
"тьфу ты" не то вам скинул вам дал
function name_theme_preprocess_node(&$vars)
{
$vars['theme_hook_suggestions'][] = 'node__' . $vars['type'] . '__' . $vars['view_mode'];
}
page--node--tovar.tpl.php темизирует не всю страницу кстати, а только контентк ваш page.tpl.php
Нужно page--node--article.tpl.php и page--type--article.tpl.php
Шаблоны поместить в папку темы и сбросить кеш. Тестировать на странице соответствующего типа материала.
И, если используете $vars['node']->type - его наличие и нужно проверять.
? ну обьясните мне "гуру"
Я просил помощи а не критики... Я взял этот код с форума.. Там ребята написали что работает.. Но у меня почему-то не идет
А можно просто указать на мою ошибку.. Я раньше хуки не использовал...
article
А что там может быть кроме article может я что не понимаю
str_replace меня смущает только
по идее должно быть page--node--article
Да там если тип(машинное имя материала) если _ то будет -- зачем менять. на --. если, помоему шаблонизатор сделает превратит в --. и тогда смысл заменять _ на --
Кто - то насмотрелся "i am superman", "Доктор Хаус", "Интерны" или просто отслужил в армии "замком"
Вы сами почитайте-то хоть) У автора тип контента article, что вы прицепились к str_replace?
ая придуприждааал...
Я читал ту статью и делал так
<?php
function velotemplates_preprocess_page(&$variables) {
if ($variables['node']->type != "") {
$variables['template_files'][] = "page-node-" . $variables['node']->type;
}
}
?>
и делал файл page-node-article.tpl.php
Результат ноль