как настроить внешний вид узла Drupal 7?

Я создал статью в Drupal 7 и хочу настроить способ отображения содержимого.

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

Есть ли способ заглянуть внутрь $content, чтобы узнать точные пары значений, которые мне нужны?

Или есть другой способ настроить отображение и вывод содержимого Drupal 7?


person Charlie    schedule 26.05.2011    source источник


Ответы (1)


Если вы установите и включите модуль devel, он даст вам доступ к очень удобной функции dsm, которая создаст виджет, который позволит вам исследовать содержимое любой переменной или объекта. Таким образом, в вашем файле node.tpl.php: dsm($content); вверху позволит вам проверить содержимое. Обычно вам нужно создать собственный файл node-type.tpl.php, например. node-article.tpl.php, который применяется только к узлам определенного типа.

person Finbarr    schedule 26.05.2011
comment
Совершенно потрясающий Finbarr, модуль разработки потрясающий. Итак, я хотел бы получить доступ к заголовку статьи, который находится в $array --› body --› #object --› title, где #obect (Object)stdClass, как я могу получить значение заголовка статьи? это так?: $content[body][#object][title] - person Charlie; 26.05.2011
comment
ОСТЕРЕГАЙТЕСЬ XSS! Вы никогда не сможете просто напечатать что-либо, не зная, где оно было. Большинство значений, которые вы найдете с помощью dsm, испорчены, и их печать откроет дыры в безопасности XSS. Вы можете печатать только те значения, о которых известно, что они уже экранированы и отфильтрованы (например, $content[#some_field][#view]), или экранировать их самостоятельно с помощью одного из множества помощников фильтрации и экранирования. - person berkes; 26.05.2011