0

Drupal 7 で $tabs 配列を出力したいので、node.tpl.php 内に次のコードを追加してみました。

  <?php
  echo '<div class="btn-group">';
  foreach($tabs as $tab=>$link) {
    echo '<button class="btn"><a href="$link">$tab</a></button>';
  };
  echo '</div>';
  ?>

しかし、それは何も印刷していません...だから、これは多少間違っていると確信しています。page.tpl.phpたぶん、これは?の中にあるはずだからです。私が見つけられなかった構文上の問題はありますか?

ご協力いただきありがとうございます!!

ロザムンダ

4

2 に答える 2

3

問題の 1 つは、一重引用符で囲まれた変数を出力しようとしているということです。PHP は単一引用符内の変数を補間しませんが、二重引用符内では補間します。エコーを次のように変更してみてください。

echo '<button class="btn"><a href="' . $link .'">' . 
    $tab . '</a></button>';

マニュアルから:

注: 二重引用符やヒアドキュメントの構文とは異なり、特殊文字の変数とエスケープ シーケンスは、単一引用符で囲まれた文字列内にある場合は展開されません。

詳細については、文字列のマニュアル エントリを参照してください。

于 2012-08-16T17:05:48.160 に答える
0

そのような変数の参照は、単一引用符ではなく二重引用符でのみ機能するため、次のようにする必要があります

 echo '<button class="btn"><a href="'.$link.'">'.$tab.'</a></button>';

また

echo "<button class=\"btn\"><a href=\"$link\">$tab</a></button>";

ただし、これはおそらくコードを修正しません。

于 2012-08-16T17:06:46.457 に答える