我正在努力寻找关于如何在我的 Drupal 站点中与打印的 php 变量在同一行添加文本的答案。它必须非常容易,但我正在学习。当我输入
Time:<?php print render($content['field_duration']); ?>minutes
我得到:
Time:
5
minutes
无论如何让它成为“时间:5分钟”?
将常量字符串放在 PHP 中怎么样?
<?php print render($dur = 'Time: ' . implode($content['field_duration']) . ' minutes'); ?>
渲染函数通过引用获取参数,因此字符串必须存储在变量中。implode 函数使数组成为一个字符串。
一种更“ Drupal”的方法:
$field_items = field_get_items('node', $node, 'field_duration');
echo 'Time: ' . $field_items[0]['value'] . ' minutes';
你最好把它放在一个预处理函数中并将变量传递给模板文件,而不是直接在那里做,但无论你把它放在哪里,逻辑都应该起作用。
我想用css或不用render()解决这个问题会更容易。
使用 CSS 是这样的:
<style>
#text, #time {
float: left;
}
</style>
<div>
<div id="text">Time: </div>
<div id="time">
<?php print render($content['field_duration']); ?>
</div>
</div>
并且没有 render() - 只是为了$content['your_field']
自己输出。var_dump()
这个变量来确定它包含什么数据,然后echo
直接这个数据(foreach
如果它是一个数组)。我希望它应该工作得很好。
尝试
<?php print render("时间:{$content['field_duration']}分钟"); ?>
希望这可以帮助。