2016-08-08 7 views
2

Я новичок в drupal и читаю документы, но надеюсь получить объяснение чему-то.Содержание страницы Drupal

У меня есть страница под названием page-type-home-page.tpl.php. Часть этой страницы печатает рендер ($ page ['content'])). Я хочу удалить что-то, что отображается как часть содержимого страницы со страницы, но не понимаю, откуда это происходит и где/как выглядеть.

Спасибо!

+1

Просьба указать, является ли это Drupal 7 или Drupal 6 (вы помещаете туда оба тега) – mgadrat

+0

Хорошей функцией для просмотра переменных, доступных в шаблоне, является функция 'get_defined_vars()'.Если у вас включен модуль devel, в вашем шаблоне вы можете вызвать 'dpm (get_defined_vars);', чтобы увидеть, какие переменные вам нужно играть с – 2pha

ответ

0

Предполагая, что вы говорите о Drupal-7

Ну $page['content'] содержит строку, которая представляет собой обработанную версию о том, что это вводится в область содержимого вашей темы.

По умолчанию единственным блоком в этом регионе является блок «Содержимое главной страницы», созданный ядром Drupal. Многие вещи могут генерировать этот контент, но он всегда проходит через API меню. Например, если вы просматриваете узел, используется URL-адрес: node/12. Модуль узла объявляет запись меню для node/%node, эта запись в меню содержит функцию обратного вызова, которая будет отображать все, что захочет модуль. Таким образом, модуль может использовать другую стратегию, чтобы превратить ее содержимое из простой функции в сложную штриховку шаблонов.

Ключ, чтобы изменить то, что находится в коробке, извините, что находится в $page['content'], заключается в том, чтобы знать, что визуализируется, и понимать, как это делается.

Если это узел, сначала вы хотите посмотреть, сможете ли вы достичь своей цели с помощью параметров отображения типа контента. admin/structure/types/manage/page/display: И это справедливо для всех сущностей (пользователей, комментариев, таксономического термина и т. Д.). Поскольку это первое, что модуль этих объектов будет объединен, когда они попытаются отобразить ваш контент.

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

Если модуль не имеет tpl файл переопределения, попробуйте шаблон предложение: here's a list from Drupal.org

Ex: node--type.tpl.php

Если все это не удовлетворяет ваши потребности, вам придется копаться в preprocess functions; Эти функции позволяют вам изменять то, что находится в переменных, переданных в файлы .tpl.php. Это немного более продвинуто, и я рекомендую вам прочитать this previous stackoverflow question/answer

0

Просто не используйте эту страницу $ page ['content'], которая печатает весь контент, но вместо этого разместите свой собственный код шаблона и распечатайте отдельные значения полей, где вам нужно им нравятся:

<?php print render($content['your_field_name']); ?> 

https://drupal.stackexchange.com/questions/30063/how-to-print-fields-in-node-tpl-php

Если вы хотите сделать только простой стиль, как за исключение некоторого поля, вы можете использовать параметры отображения типа контента, как объяснено mgadrat, но если вы хотите использовать какой-то сложный стиль, с это обычное html-решение.

 Смежные вопросы

  • Нет связанных вопросов^_^