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';
これを前処理関数に入れて、変数をテンプレートファイルに直接渡すよりも、テンプレートファイルに渡す方がよいでしょうが、ロジックはどこに置いても機能するはずです。
試す
<?php print render( "時間:{$ content ['field_duration']}分"); ?>
お役に立てれば。
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
配列の場合は経由して)確認します。私はそれがうまくいくはずだと思います。