• ベストアンサー

Smarty配列変数を並べて1行に表示したい

以下のように、配列変数を二つ並べて、一行に表示したいです。 {$list1}{$list2} ご存知の方がおられましたら教えてください。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Dags
  • ベストアンサー率78% (11/14)
回答No.2

テンプレート内の配列連結かな。 対応の仕方は、4種類ほどあります。 1.PHP内部でSmartyのappendを使用する。 $this->append ("list",$list2) 2.PHP内部でPHPのarray_pushを使用する。 array_push($list,$list2); 3.テンプレート内でPHPを使用する。 $this->append('list',$this->getTemplateVars("list2") ); 4.プラグインを自作する。 調べてください。 どれが適切なのか仕様を見ないとわからないのですが、今度も使用するのであれば、4をお勧めします。 ※Smartyの最新版ではテンプレート内でPHPの使用が制限されている可能性があります。 詳しくは、下記の変数をお調べください $smarty->allow_php_tag $smarty->php_handling この設定を変更することは、セキュアに関わってきますので気をつけください。

hatokamome
質問者

お礼

3.の方法で出来ました。 実装方法を何通りも教えていだたきとても勉強になりました。 感謝しております。 ありがとうございました。

その他の回答 (1)

  • Dags
  • ベストアンサー率78% (11/14)
回答No.1

文字結合 {$list1|cat:$list2}

hatokamome
質問者

補足

説明していなくてすみません。 このようにすると、連結しないで、末尾についてきてしまいます。 <select name="id"> {$list|cat:$list2} </select> $listは配列です。   教えてください。 なにとぞ!!

関連するQ&A