ホームページ  >  記事  >  バックエンド開発  >  php Smarty テンプレート エンジンの実践的なヒント

php Smarty テンプレート エンジンの実践的なヒント

WBOY
WBOYオリジナル
2016-07-25 08:53:30827ブラウズ
  1. {capture name="test"}
  2. {/capture}
  3. {$smarty.capture.test }
コードをコピー

説明: {capture name="test"} と {/capture} の間の内容は、Access の name 属性で指定された変数 $test に格納されます。 name 属性が指定されていない場合、関数はデフォルトで「default」をパラメータとして使用します。これは、Jquery の clone メソッドと同様です。

2番目、config_loadタグ config_load はファイルの内容を直接読み取ることができるため、割り当て手順が不要になります。 例: test.csv ファイル:

  1. pageTitle = "config_load_test"
  2. bodyBgColor = "#eeeeee"
  3. img = "girl.jpg"
  4. width="100"
  5. height="100"
コードをコピー

次にテンプレートインデックス上記の test.csv ファイルは、次のように tpl ファイルで参照できます。

  1. {config_load file="test.csv"}
  2. {#pageTitle#}
コードをコピーします

注: 上記のプロセス中に「警告: Smarty エラー: リソースを読み取れません」のような問題が発生した場合は、test.csv が Smarty 構成ディレクトリに配置されているかどうかを確認してください。デフォルトの構成ディレクトリは configs ディレクトリです。 。

3、phpタグ

割り当てに慣れてきたら、テンプレート ファイルに PHP コードを直接記述することを考えたことはありますか? これは推奨されませんが、ビジネス ニーズによりこれを行う必要がある場合はどうすればよいですか?この例を見てください。

  1. {php}
  2. global $result;
  3. foreach($result as $key=>$value){
  4. echo "key=$key,value=>$value
    ";
  5. }
  6. {/php}
コードをコピー

4、タグを削除 ストリップタグの機能は、タグ内のスペースと改行を削除することです。このタグは、最終的な出力 HTML 形式を圧縮できると個人的に感じています。その効果を確認したい場合は、 のソースコードを見てください。このサイトはい、クールではありません、ふふ:

  1. {strip}
  2. strip
  3. php Smarty ストリップ圧縮 HTML 出力、www.phpernote .com ソース コードの効果を確認します
  • {/strip}
  • コードをコピー

    5、タグを取得 fetch タグには、PHP の関数 file_get_contents と同様の機能があります。次の使用例に示すように、どちらもファイルの内容を読み取ることができ、読み取った結果を文字列の形式で変数に割り当てることができます。

    1. {fetch file="./aaaa.txt" assign="result"}
    2. {if is_array($result)}
    3. is array
    4. {else if}
    5. < ;b>配列ではありません
    6. {/if}
    コードをコピー

    6、定数を使用します

    phpでdefineを使用して定義された定数はsmartyテンプレートで直接使用できます 説明書: {$smarty.const.定義した定数名}



    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。