Каков наилучший способ добавить контент / представление к узлу - PullRequest
2 голосов
/ 10 августа 2010

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

Теперь я хочу добавить эту навигацию к каждому узлу с type = 'video'.Я не знаю, должен ли я создать шаблон для него (тогда я должен поместить файл шаблона в папку темы, которая не очень хороша) или использовать какие-то хуки (я не определил, какой использовать)?

Я попытался установить http://drupal.org/project/views_attach,, однако представление появилось только в содержании (после заголовка), что не является тем, что я действительно хочу.Я хочу, чтобы это было в верхней части заголовка.

Пожалуйста, помогите.Я пользуюсь drupal 6 Заранее спасибо.

Ответы [ 4 ]

0 голосов
/ 26 августа 2010

Я наконец-то нашел, как реализовать представление как блок (просто выберите блок как представление содержимого), и я использую этот код ниже для отображения блока в определенном типе узла

<?php
  $match = FALSE;
  $types = array('video'=>1);

  if ((arg(0) == 'node') && is_numeric(arg(1))) {
    $node = node_load(arg(1));
    $match = isset($types[$node->type]);
  }
  return $match
}
?>
0 голосов
/ 10 августа 2010

Вы можете визуализировать представление в любом месте шаблона узла с помощью views_embed_view.

Создайте шаблон, соответствующий типу вашего видео узла: node-video.tpl.php и вставьте представление в нужное вам место.

0 голосов
/ 11 августа 2010

Если вы не хотите делать это с помощью файлов шаблонов, модуль Panels можно использовать для разных макетов в зависимости от типа узла.После установки создайте вариант под панелью node_view и ограничьте выбор этого варианта для узлов типа 'video'

0 голосов
/ 10 августа 2010

Звучит так, как будто вы просто создаете блок навигации любым количеством способов и говорите блоку показывать только на типах видео узлов, используя php в правилах отображения. Может быть, модуль menu_block поможет вам в этом.

...