2011-04-22 95 views
1

有没有办法在没有获得所有标记的情况下打印字段内容?我是Drupal新手,但是我知道field.tpl.php,但是,我只是想知道是否有更快的方法来获取节点中的内容 - custom.tpl.php。它会比较的WordPress的<?php echo get_field('field_name'); ?>Drupal:打印字段没有标记

+0

所以,你想要去除html标签,是吗? – Tivie 2011-04-22 20:47:28

+0

是的,如果除了制作多个field.tpl.php文件之外还有其他方法可以这样做。谢谢!!! – csm232s 2011-04-22 20:55:27

回答

1

那么,除了使用field.tpl.php,我能想到的2个解决方案:

第一:

使用PHP代码片段在模板中剥离HTML标签。 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

你有node.tpl.php内获得了$节点变量,所以:

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

应该工作...注意,许多领域将隐藏自己的数据数组内(多值字段,等等),所以你可能需要做一点:

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

...找出你需要的数据的确切路径。

0

你只可以使用PHP的strip_tags()像这样:

<?php print strip_tags($node->field_name[LANGUAGE_NONE][0]['value']); ?>