1

我正在努力寻找关于如何在我的 Drupal 站点中与打印的 php 变量在同一行添加文本的答案。它必须非常容易,但我正在学习。当我输入

Time:<?php print render($content['field_duration']); ?>minutes

我得到:

Time:
5
minutes

无论如何让它成为“时间:5分钟”?

4

4 回答 4

2

将常量字符串放在 PHP 中怎么样?

<?php print render($dur = 'Time: ' . implode($content['field_duration']) . ' minutes'); ?>

渲染函数通过引用获取参数,因此字符串必须存储在变量中。implode 函数使数组成为一个字符串。

于 2012-12-08T06:57:47.213 回答
1

一种更“ Drupal”的方法:

$field_items = field_get_items('node', $node, 'field_duration');

echo 'Time: ' . $field_items[0]['value'] . ' minutes';

你最好把它放在一个预处理函数中并将变量传递给模板文件,而不是直接在那里做,但无论你把它放在哪里,逻辑都应该起作用。

于 2012-12-08T16:00:50.350 回答
0

我想用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如果它是一个数组)。我希望它应该工作得很好。

于 2012-12-08T14:15:45.090 回答
0

尝试

<?php print render("时间:{$content['field_duration']}分钟"); ?>


希望这可以帮助。

于 2012-12-08T07:04:10.473 回答