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

試す

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


お役に立てれば。

于 2012-12-08T07:04:10.473 に答える
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 に答える