人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHP の smarty テンプレートに関する質問です。テンプレート変数をテンプレート内で書き換え不能にするオプションはあるのでしょうか? テンプレートをレンダリングする前にテンプレート変数を設定して、それがテンプレートにはいってから変更されるのを防ぎたいのです。


●質問者: isogaya
●カテゴリ:インターネット ウェブ制作
✍キーワード:PHP Smarty オプション テンプレート レンダリング
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● oboist
●35ポイント

http://www.google.com/

初参加なので、はずしていたらごめんなさい。

多分、PHPファイル内で変数を定義すれば、書き換わることはないと思うのですが・・・?

hoge.php

(中略)

/** ここでテンプレート変数を設定する */

$smarty->assign("test","hogehoge");

/** テンプレートを呼び出す */

$smarty->display("hoge.tpl");

?>

hoge.tpl

<body>

{$test}←ここにhoge.phpで設定した値「hogehoge」が入る

</body>

◎質問者からの返答

<{assign var="test" value="別のデータ" }>

で変更できませんか?


2 ● toyoshi
●35ポイント

どうやってもPHPなので変更はできてしまいます。

しかし、相手が「PHPは読めない、でもSmartyの使い方は知っている」ということなら

テンプレートからassign関数を使えなくする(名前を変えてしまう)だけで十分だと思います。

http://smarty.m-takagi.org/language.custom.functions.html#langua...

◎質問者からの返答

メソッドを上書きして違うものにするしかないみたいですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ