Php/Smarty/smarty3のphpタグ置換対応

提供: 初心者エンジニアの簡易メモ
ナビゲーションに移動 検索に移動

{php}タグ置き換えメモ

正規表現で$_SERVERパターン

修正前

{{php}}if (preg_match("/^hoge/", $_SERVER['HTTP_HOST'])):{{/php}}
   ...
{{php}}else:{{/php}}
   ...
{{php}}endif;{{/php}}

修正後

{{if preg_match('/^hoge/', $smarty.server.HTTP_HOST)}}
   ...
{{else}}
   ...
{{/if}}

正規表現で配列パターン

修正前

{{php}}if (preg_match("/hoge/", $this->_tpl_vars['data']['title'])):{{/php}}
   ...
{{php}}elseif (preg_match("/piyo/", $this->_tpl_vars['data']['title'])):{{/php}}
   ...
{{php}}endif;{{/php}}

修正後

{{if preg_match("/hoge/", $data.title)}}
   ...
{{elseif preg_match("/piyo/", $data.title)}}
   ...
{{/if}}

smarty内で変数定義で分岐パターン

修正前

{{php}}global $ad_part;{{/php}}

{{php}}if ($ad_part == null):{{/php}}
   ...
{{php}}$ad_part = 2;{{/php}}
{{php}}elseif ($ad_part == 2):{{/php}}
   ...
{{php}}endif;{{/php}}

修正後

{{if empty($ad_part)}}
   ...
{{assign var="ad_part" value=2 scope="global"}}
{{elseif $ad_part == 2}}
   ...
{{/if}}

smarty内で変数定義でインクリメントパターン

修正前

{{php}}global $ad_part; $ad_part = 0;{{/php}}
{{php}}if ($ad_part % 2 == 0):{{/php}}
   ...
{{php}}elseif ($ad_part % 2 == 1):{{/php}}
   ...
{{/if}}
{{php}}$ad_part++;{{/php}}

修正後

{{assign var="ad_part" value=0 scope="global"}}
{i{f $ad_part % 2 == 0}}
   ...
{{elseif $ad_part % 2 == 1}}
   ...
{{/if}}
{{assign var="ad_part" value=$ad_part+1 scope="global"}}

smarty内でrand変数定義パターン

修正前

{{php}}
$rand = rand(1, 1000);
{{/php}}
<a href="" title="" target="_blank" onclick="ad_click{{php}}echo $rand;{{/php}}();">

修正後

{{math equation="rand(1,1000)" assign="rand"}}
<a href="" title="" target="_blank" onclick="ad_click{{$rand}}();">