Невозможно напечатать поле CCK в шаблоне в Drupal - PullRequest
2 голосов
/ 29 сентября 2010

Я пытаюсь напечатать поле CCK в моем файле node.tpl.php следующим образом; print $node->field_name_here[0]['view']; Но когда я перехожу на эту страницу, я не вижу содержимого. Даже когда я использую print_r($node);, я не вижу никакой информации о переменной. Drupal отображает все остальное в файле node.tpl.php.

НО ... если я остановлю выполнение node.tpl.php, поместив die(); в любом месте после print_r() или print $node->field_name_here[0]['view']; , поле / переменная CCK будет отображаться как следует.

Это не проблема с разрешения, так как я позволил всем пользователям видеть содержимое этих полей. Я даже пытался отключить и удалить модуль разрешений для полей CCK, но все еще не может правильно распечатать поля CCK в моем шаблоне.

Что мне здесь не хватает?

Ответы [ 3 ]

3 голосов
/ 04 апреля 2011
$node = (object) $node;
$node = node_build_content($node, $teaser, $page);
$content = drupal_render($node->content);
// Allow modules to modify the fully-built node.
node_invoke_nodeapi($node, 'alter', $teaser, $page);
return $node;

Просто передайте ваш загруженный узел с указанными выше строками кода. Это вернет вам [представление] узла.

0 голосов
/ 19 января 2011

не должно ли быть следующее?

 print $node->field_name_here[0]['value']; 

вместо этого?(значение вместо представления) - в скриптах я получаю к ним доступ таким образом, и это также отображается на вкладке уровня узла

0 голосов
/ 30 сентября 2010

установите флажок на вкладке отображения типа контента. example.com/admin/content/node-type/{content-type}/display

Существует большая вероятность того, что для поля, с которым вы пытаетесь работать, не установлено ни одного флажка «исключить».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...