есть ли аргумент в пользу того, что вы находитесь на странице со списком просмотров?
-
22-08-2019 - |
Вопрос
Мне пришлось переместить заголовок страницы в узел, чтобы удовлетворить потребности клиента, но теперь я не могу отобразить заголовок в просмотре страницы моего списка представлений.Аргумент, который мне нужен для отображения заголовка на страницах редактирования, администрирования и отслеживания:
<?php if ($title && ((arg(2) == 'track') || (arg(2) == 'edit') ||
(arg(0) == 'admin'))): ?>
<h1 class="title"><?php echo $title; ?></h1>
<?php endif; ?>
и мне интересно, есть ли общий аргумент для включения либо всех страниц списка представлений, либо, наоборот, просто исключения всех страниц узлов (NB:Я использую CCK, поэтому у меня много типов контента)?
Обдумываю другие возможности...
Я знаю, что могу создавать разные шаблоны страниц для своих типов контента, но могу ли я создать один другой шаблон страницы для ВСЕХ моих типов контента CCK?
Вот код, который я ввел в template.php, чтобы получить возможность добавлять отдельные шаблоны типов контента:
function _phptemplate_variables($hook, $vars) {
switch ($hook) {
case 'page':
if ($vars['node'] && arg(2) != 'edit') {
$vars['template_files'][] = 'page-'. $vars['node']->type;
}
break;
}
return $vars;
}
Ваше здоровье
Стив
Решение
Хорошо, я нашел собственное решение, которое не требовало создания более 20 шаблонов страниц.Для приведенного выше примера я добавил условие !node->type
на мой запрос, поскольку представление не предоставляет тип узла, затем просмотрел сайт, убедившись, что заголовок отключен на уровне просмотра страницы, где это необходимо.
<?php if ($title && ((arg(2) == 'track') || (arg(2) == 'edit')
|| (arg(0) == 'admin') || !$node->type)): ?>
<h1 class="title"><?php echo $title; ?></h1>
<?php endif; ?>
Спасибо за внимание :-)
Стив
Другие советы
Если кто-то еще исследует подобные вопросы, другой способ предоставить аргумент в файле node.tpl, который будет применяться, когда узел отображается через представление (модуль), может заключаться в использовании:
если ($страница == 0)
Все, что следует за этим, будет игнорироваться при «обычном» отображении одного узла.Это не работает с файлом page.tpl, поэтому, если нужно вернуть заголовок для всех страниц, созданных с помощью представлений, его можно добавить в файлview-view.tpl.php и добавить в тему.Или для определенных типов представлений можно добавить другие более конкретные файлы tpl представлений.