有没有办法在不获取所有标记的情况下打印字段内容?我是Drupal的新手,但我知道field.tpl.php,但是,我只是想知道是否有更快的方法来获取节点中的内容 - custom.tpl.php。它将与Wordpress的<?php echo get_field('field_name'); ?>
答案 0 :(得分:1)
好吧,除了使用field.tpl.php之外,我还可以想到两个解决方案:
第一
使用php代码段去除template.php中的html标记。
在你的template.php
中function mytheme_strip_html_tags($n_field) {
return preg_replace("/<.*?>/", "", $n_field);
}
然后调用函数mytheme_strip_html_tags($field_name)
但是,如果您使用多个主题,则需要将此代码段复制到每个主题。
编辑:您可以创建一个模块并将该代码段放入其中。这样它适用于每个主题。
第二
下载令牌模块。标记是对您的字段的引用。令牌模块有一个输出模式,可以为您删除html。 [FIELD_NAME-原料]
您需要按照如何添加令牌的说明进行操作,但并不困难。
答案 1 :(得分:0)
您可以访问node.tpl.php中的$ node变量,所以:
<?php print $node->field_monkey_height; ?>
应该工作...请注意,许多字段会将数据隐藏在数组中(对于多个值字段等),因此您可能需要执行一些操作:
<?php drupal_set_message(print_r($node->field_monkey_height), 1); ?>
...找出所需数据的确切路径。
答案 2 :(得分:0)
您可以像这样使用PHP的strip_tags()
:
<?php print strip_tags($node->field_name[LANGUAGE_NONE][0]['value']); ?>