Drupal 7 - нормально ли писать php коды внутри файла шаблона? - PullRequest
0 голосов
/ 15 марта 2011

Я изучаю Drupal 7 для моего нового проекта.

Вот что я хочу сделать

  1. создать новый тип контента под названием 'video'
  2. создайте новый модуль под названием 'video'
  3. сделать http://domain.com/video доступным.
  4. когда пользователь получает доступ к / видео, затем выполняет запрос, который запрашивает строки видео из таблицы видео (созданной с помощью 'video' content type '), а затем отображает запросы с пользовательским шаблоном.

Я научился делать # 1 ~ # 3, но я немного запутался с # 4.

давайте предположим, что имя моего пользовательского шаблона 'video.tpl.php'

в video.tpl.php, я пишу php-функции для запроса строк видео?

Я не думаю, что это хорошая практика. Вместо этого я хочу написать модуль и вызвать функцию в модуле, когда загружен video.tpl.php.

Как мне это сделать?

Ответы [ 3 ]

2 голосов
/ 15 марта 2011

Для 4 вам сначала нужно создать модуль, реализовать hook_menu (), определить пункт меню для «видео» с обратным вызовом страницы.Если вы не знаете, как это сделать, вероятно, уже есть много вопросов по этому поводу).Внутри обратного вызова страницы вам нужно сделать 3 вещи.

  1. Загрузить nids, что-то вроде

    $ nids = db_query ("SELECT nid FROM {node} WHERE type= 'video' ORDER BY созданный DESC ") -> fetchCol ();

  2. Загрузка узлов.

    $ node = node_load_multiple ($ nids);

  3. Построить их.

    return node_view_multiple ($ node);

Но, опять же, вы должны только сделатьэто если вы хотите изучить API.Все это сделает с помощью Views, вам нужно просто щелкнуть его вместе.

1 голос
/ 15 марта 2011

Виды, безусловно, путь. Вы могли бы написать модуль, но это было бы как изобретать колесо. Изучите виды, и вы будете использовать его снова и снова .... учебные пособия:

учебник просмотров

Учебник по другим видам

1 голос
/ 15 марта 2011

Вы должны использовать просмотров

...