Get Smarty

Donate

Donate Bitcoin Bitcoin
Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Buy cheap glasses from Cheapglasses123.com and save up to 80%.

Where to buy prescription glasses? GlassesPeople.com is your best choice!

Where to buy discount wedding dresses and cheap smart dresses free shipping - Weddingdresstrend.com

Find Wedding Dresses Online at Canada from Ca-dress.com

Discount Wedding Dresses at EvWedding.com

soccer kp is New 2016 Nike Mercurial Superfly V soccer cleats from soccerkpkp.com

Advertisement

プリフィルタ/ポストフィルタプラグイン

プリフィルタ/ポストフィルタプラグインは概念において非常によく似ています。 それらの違いは実行されるタイミングにあります。

string smarty_prefilter_name( $source,  
  &$smarty);  
string $source;
object &$smarty;
 

プリフィルタは、テンプレートソースをコンパイルする直前に何らかの処理を行うために使用されます。 プリフィルタ関数への第1パラメータはテンプレートソースであり、 これは他のプリフィルタによって既に修正されている可能性があります。 このプラグインは戻り値に、修正されたテンプレートソースを返すようにして下さい。 また、このテンプレートソースはどこにも保存されず、コンパイルする目的だけに使用される事に注意して下さい。

string smarty_postfilter_name( $compiled,  
  &$smarty);  
string $compiled;
object &$smarty;
 

ポストフィルタは、テンプレートのコンパイルが行われてファイルシステムに保存される前に、 そのテンプレートのコンパイル結果(PHPスクリプト)に何らかの処理を行うために使用されます。 ポストフィルタへの第1パラメータはコンパイルされたテンプレートソースであり、 これは他のポストフィルタによって既に修正されている可能性があります。 このプラグインは戻り値に、修正されたテンプレートソースを返すようにして下さい。

Example 16.7. プリフィルタプラグイン


<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     prefilter.pre01.php
 * Type:     prefilter
 * Name:     pre01
 * Purpose:  html タグを小文字に変換する
 * -------------------------------------------------------------
 */
 function smarty_prefilter_pre01($source, &$smarty)
 {
     return preg_replace('!<(\w+)[^>]+>!e', 'strtolower("$1")', $source);
 }
?>

     

Example 16.8. ポストフィルタプラグイン


<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     postfilter.post01.php
 * Type:     postfilter
 * Name:     post01
 * Purpose:  現在のテンプレートのすべての変数をリストするスクリプトを出力する
 * -------------------------------------------------------------
 */
 function smarty_postfilter_post01($compiled, &$smarty)
 {
     $compiled = "<pre>\n<?php print_r(\$this->get_template_vars()); ?>\n</pre>" . $compiled;
     return $compiled;
 }
?>

     

register_prefilter() unregister_prefilter() register_postfilter() および unregister_postfilter() も参照してください。

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 1 plus 0? (Are you human?)

Advertisement