Вы можете просто использовать php's print_r()
. Или используйте специальный модуль, такой как devel : он предоставляет помощники, которые красиво печатают переменные, включая массивы и объекты. Он также предоставляет кнопку очистки кэша, может генерировать случайные узлы и т. Д.
Я думаю, что devel's dprint_r()
и dpm()
являются наиболее часто используемыми функциями и наиболее полезными для разработчиков Drupal, когда дело доходит до печати и отладки переменных.
В вашем случае $primary_nav
- это обработанная переменная: сначала она создается функциями из зарегистрированной темы, затем ее можно изменить в process или препроцесс hooks , предоставляемый темами и / или модулями.
Зная это, вы можете распечатать его прямо из шаблона, над которым вы работаете, например page.tpl.php :
<?php if (!empty($primary_nav)): ?>
<!--<?php print render($primary_nav); ?>-->
<?php dpm($primary_nav); ?>
<?php endif; ?>
.. или отладить его «раньше» в процессе или препроцесс , например:
function some_preprocess_page(&$variables) {
dpm($variables['primary_nav']);
}
Кроме того, если вы не знаете, что происходит или какие переменные доступны в шаблоне, сочетание php get_defined_vars()
с красивой функцией печати может быть очень полезным: dpm(get_defined_vars());