есть ли аргумент в пользу того, что вы находитесь на странице со списком просмотров?

StackOverflow https://stackoverflow.com/questions/374791

  •  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 представлений.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top