2011-12-19 8 views
0

修飾子出力:私が持っているキャッシングsmartyの値ではなく、ページがキャッシュされていない場合、私は唯一のデータベースからフェッチされるキャッシュ私のSmartyの中で有効にしていると、その下のように日付と時刻を割り当てた

$smarty->assign('added_timestamp', $added_timestamp); 

(20分5秒前)

{$added_timestamp|relative_time} 

のような相対的な期間を生成するカスタムSmartyの修飾子は、今、私は必要なもの{$added_timestamp|relative_time}からの出力がキャッシュされるべきではありませんが「$のadded_timestamp」の値がキャッシュされなければならない、です。

私は{nocache}{$added_timestamp|relative_time}{/nocache}で試しましたが、うまくいきません。

任意の提案ですか?

答えて

1

関数プラグインでrelative_time修飾子をラップする必要があります。その関数プラグインはnocacheフラグで登録できます(変更子ではできません)。

$smarty->registerPlugin('function', 'relative_time' 'smarty_function_relative_time', false, array('time')); 
function smarty_function_relative_time(array $params, Smarty_Internal_Template $template) { 
    $template->smarty->loadPlugin('smarty_modifier_relative_time'); 
    return smarty_modifier_relative_time($params[time]); 
} 

{relative_time time=$added_timestamp} 

(Smarty3構文)

関連する問題

 関連する問題