Переменная $ content в node.tpl.php (Drupal 5)

print $contentЗаявление в node.tpl.php вызывает все мое расположение , чтобы сломать , вероятно , из - за неправильного вложенности DIVs.

Я хочу проверить и исправить это, но не могу понять, что / где является источником $contentпеременной в файле node.tpl.php.

Буду признателен за любую помощь. Спасибо.

13.10.2009 13:20:25
Как уже указывалось многими, переменная $ content собирается из многих источников и поэтому ее трудно отлаживать. Вы можете оставить print_rили var_dumpв переменных $ содержимого одного из разорванных страниц?
Henrik Opel 13.10.2009 17:56:01
5 ОТВЕТОВ
РЕШЕНИЕ

$contentПеременной в узлах Drupal не от какого - либо одного места. Все включенные модули могут добавлять, удалять и настраивать $contentпеременные, используя ловушки Drupal, такие как hook_nodeapiи hook_view.

Знание того, какие модули вы включили, и точный HTML-код, который вызывает проблемы, могут помочь людям больше помочь вам. Как есть, ответ на ваш вопрос "это зависит".

1
13.10.2009 14:39:52

Попробуйте использовать отладчик, чтобы увидеть, что содержит переменную в данный момент. Если я правильно помню, $ content - это сгенерированный html-контент для текущего узла.

-1
13.10.2009 13:23:36
Есть много «узлов» или «постов», которые трудно отладить. Я бы предпочел найти и отладить исходный HTML.
eozzy 13.10.2009 13:25:33

Это $contentто, что возвращается изhook_view()

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

0
14.09.2011 20:23:38
Мне просто нужно найти, какой блок / функцию / содержимое файла он печатает, чтобы я мог проверить и исправить ошибки проверки. hook_view в каком файле? Содержит ли он HTML, который может иметь неправильное вложение?
eozzy 13.10.2009 13:38:59
hook_viewне в конкретном файле. hook_viewэто хук, который любой модуль может использовать для добавления $content. Многие модули делают разные вещи для $content.
ceejayoz 13.10.2009 14:37:19

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

Способ отладки - отключить модули, пока проблема не исчезнет, ​​а затем выяснить, что в этом модуле вызывает проблему.

1
13.10.2009 13:39:13
Правильно, это то, что мне нужно знать, какие узлы печатает контент и где я могу найти их, чтобы отследить ошибку.
eozzy 13.10.2009 13:43:05
Любой модуль может иметь зацепки, которые вызывают появление или изменение содержимого в $ content. В результате этот $ контент может содержать что угодно. Обычно это пользовательские ошибки, но не всегда. После того, как вы изолировали модуль, вы, вероятно, сможете увидеть, что вызвало проблему. ps почему даунвот?
Jeremy French 13.10.2009 14:34:26

$ content - это переменная, которая содержит весь контент. Поэтому трудно точно указать точное место ошибки с помощью вложенных элементов div.

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

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

2
13.10.2009 14:15:20