Drupal: печать поля без разметки - PullRequest
1 голос
/ 23 апреля 2011

Есть ли способ напечатать содержимое поля без получения всей разметки? Я новичок в Drupal, но я знаю о field.tpl.php, однако мне просто интересно, есть ли более быстрый способ получить контент в узле - custom.tpl.php. Это было бы по сравнению с WordPress <?php echo get_field('field_name'); ?>

Ответы [ 3 ]

1 голос
/ 23 апреля 2011

Ну, кроме использования field.tpl.php, я могу подумать о 2 решениях:

first:

Используйте фрагмент php для удаления тегов html в вашем template.php.

в вашем template.php

function mytheme_strip_html_tags($n_field) {

   return preg_replace("/<.*?>/", "", $n_field);

}

, затем вызовите функцию mytheme_strip_html_tags($field_name)

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

РЕДАКТИРОВАТЬ: Вы можете сделать модуль и поместить этот фрагмент внутри.Таким образом, он работает с каждой темой.

секунда:

Загрузите модуль токенов.Токены - это ссылки на ваши поля.У модуля токенов есть режим вывода, который разбирает HTML для вас.[field_name-raw]

Вам необходимо следовать инструкциям по добавлению токенов, но это не так сложно.

0 голосов
/ 27 января 2015

Вы можете просто использовать PHP strip_tags() примерно так:

<?php print strip_tags($node->field_name[LANGUAGE_NONE][0]['value']); ?>
0 голосов
/ 26 апреля 2011

У вас есть доступ к переменной $ node внутри node.tpl.php, поэтому:

<?php print $node->field_monkey_height; ?>

должно работать ... обратите внимание, что многие поля будут скрывать свои данные внутри массивов (для полей с несколькими значениями и т. Д.), Поэтому вам может потребоваться сделать следующее:

<?php drupal_set_message(print_r($node->field_monkey_height), 1); ?>

... чтобы выяснить точный путь к нужным вам данным.

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