<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sun Limited Mt. &#187; Smarty</title>
	<atom:link href="http://blog.syuhari.jp/archives/category/smarty/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.syuhari.jp</link>
	<description>I love iPhone, CakePHP and WordPress.</description>
	<lastBuildDate>Thu, 20 Oct 2011 19:36:15 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Smarty で正規表現を if 文で使用する</title>
		<link>http://blog.syuhari.jp/archives/157</link>
		<comments>http://blog.syuhari.jp/archives/157#comments</comments>
		<pubDate>Thu, 27 Dec 2007 05:31:15 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Smarty]]></category>
		<category><![CDATA[age]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ec]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[OpenPNE]]></category>
		<category><![CDATA[OpnePNE]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/archives/157</guid>
		<description><![CDATA[Smarty には正規表現を使用して文字列を置換する regex_replace があります。 これを上手に使用して if 文で正規表現を用いて条件分岐させます。 if (preg_match('/php/i', 'PHP is the web scripting language of choice.')) { echo 'A match was found.'; } else { echo 'A match was not found.'; } PHP で上記のような処理を Smarty で書くと下記のようになります。 {assign var='string' value='PHP is the web scripting language of choice.'} {if $string&#124;regex_replace:'/.*php.*/i':'php' eq 'php'} A match was found. [...]]]></description>
			<content:encoded><![CDATA[<p>Smarty には正規表現を使用して文字列を置換する regex_replace があります。<br />
これを上手に使用して if 文で正規表現を用いて条件分岐させます。</p>
<pre class="code">if (preg_match('/php/i', 'PHP is the web scripting language of choice.')) {
    echo 'A match was found.';
} else {
    echo 'A match was not found.';
}</pre>
<p>PHP で上記のような処理を Smarty で書くと下記のようになります。</p>
<pre class="code">{assign var='string' value='PHP is the web scripting language of choice.'}
{if $string|regex_replace:'/.*php.*/i':'php' eq 'php'}
A match was found.
{else}
A match was not found.
{/if}</pre>
<p>ポイントは regex_replace を用いて、正規表現のパターンに該当する場合は元の文字列を何かしらの文字列（上の例でいうと&#8217;php&#8217;）に置換してしまい、それを eq で置換されているか判定するということです。</p>
<p>これを実際に使用したのは OpenPNE のテンプレートです。<br />
OpenPNE を使用していて、特定のカテゴリのときのみ読み込む CSS を変えたいときがありました。<br />
OpnePNE のイベント関連の URL は　http://expamle.com/?m=pc&amp;a=page_c_event_*** という感じになります。<br />
全部で14種類ありますので、これを普通に if 文で書いていると大変なことになりますし、追加などがあったときのことを考えるとよくありません。</p>
<p>そこで Smarty の if 文に正規表現を使用して下記のようにすることにより1つの条件で page_c_event_*** の URL を条件分岐させました。</p>
<p>Smarty テンプレート</p>
<pre class="code">{if $smarty.get.a|regex_replace:"/page_c_event.*_/":"event" eq "event"}
{** イベントです**}
{else}
{** イベント以外です **}
{/if}</pre>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F157&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/157/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Smarty 今日の日付で曜日を漢字で出力する</title>
		<link>http://blog.syuhari.jp/archives/106</link>
		<comments>http://blog.syuhari.jp/archives/106#comments</comments>
		<pubDate>Wed, 03 Oct 2007 08:45:06 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Smarty]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[form]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/archives/106</guid>
		<description><![CDATA[Smarty を使用していてよく今日の日付の曜日を漢字で出力するのでメモ。 {$smarty.now&#124;date_format:"%Y年%m月%d日（%a） %T"&#124;replace:"Sun":"日"&#124;replace:"Mon":"月"&#124;replace:"Tue":"火"&#124;replace:"Wed":"水"&#124;replace:"Thu":"木"&#124;replace:"Fri":"金"&#124;replace:"Sat":"土"} とやると 2007年10月03日（水）17:42:10 のように表示できる。]]></description>
			<content:encoded><![CDATA[<p>Smarty を使用していてよく今日の日付の曜日を漢字で出力するのでメモ。</p>
<pre class="php" name="code">
{$smarty.now|date_format:"%Y年%m月%d日（%a） %T"|replace:"Sun":"日"|replace:"Mon":"月"|replace:"Tue":"火"|replace:"Wed":"水"|replace:"Thu":"木"|replace:"Fri":"金"|replace:"Sat":"土"}
</pre>
<p>とやると</p>
<p><code>2007年10月03日（水）17:42:10</code><br />
のように表示できる。</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F106&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/106/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OpenPNEでのSmarty の覚書</title>
		<link>http://blog.syuhari.jp/archives/75</link>
		<comments>http://blog.syuhari.jp/archives/75#comments</comments>
		<pubDate>Mon, 03 Sep 2007 15:40:24 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[OpenPNE]]></category>
		<category><![CDATA[Smarty]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[age]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[ec]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/archives/75</guid>
		<description><![CDATA[「OpenPNE　PHP で作成したプログラムを組み込む」で書いたように、 /openpne/webapp_ext/modules/pc/page/hoge_foo.php に class pc_page_hoge_foo extends OpenPNE_Action { function execute($requests) { // ここに処理を書く } } のようにすると ?m=pc&#38;a=page_hoge_foo でアクセスできるようになります。 このときにどうやって Smarty に値を渡すのか少し戸惑ったのでメモしておきます。 Smarty タグ 通常は 「{」「}」 ですが、OpenPNE では 「({」「})」 です。 assign $smarty-&#62;assign("var", $var); のようにして Smarty に値を渡したいときは execute メソッド内で $this-&#62;view-&#62;set("var", $var); とすればOK。 display $smarty-&#62;display("hoge_foo.tpl"); は自動的にやってくれます。 default_modifiers (escape) また、OpenPNE の smarty オブジェクトはオブジェクト生成時に $smarty-&#62;default_modifiers に escpae 修飾子が設定されているので、 テンプレート変数に [...]]]></description>
			<content:encoded><![CDATA[<p>「<a href="http://www.syuhari.jp/blog/archives/74" class="liinternal">OpenPNE　PHP で作成したプログラムを組み込む</a>」で書いたように、</p>
<p>/openpne/webapp_ext/modules/pc/page/hoge_foo.php に</p>
<pre class="code">class pc_page_hoge_foo extends OpenPNE_Action
{
    function execute($requests)
    {
    	// ここに処理を書く
    }
}</pre>
<p>のようにすると ?m=pc&amp;a=page_hoge_foo でアクセスできるようになります。<br />
このときにどうやって Smarty に値を渡すのか少し戸惑ったのでメモしておきます。</p>
<h4>Smarty タグ</h4>
<p>通常は 「{」「}」 ですが、OpenPNE では 「({」「})」 です。</p>
<h4>assign</h4>
<p><code>$smarty-&gt;assign("var", $var);</code><br />
のようにして Smarty に値を渡したいときは execute メソッド内で<br />
<code>$this-&gt;view-&gt;set("var", $var);</code><br />
とすればOK。</p>
<h4>display</h4>
<p><code>$smarty-&gt;display("hoge_foo.tpl");</code><br />
は自動的にやってくれます。</p>
<h4>default_modifiers (escape)</h4>
<p>また、OpenPNE の smarty オブジェクトはオブジェクト生成時に<br />
$smarty-&gt;default_modifiers に escpae 修飾子が設定されているので、<br />
テンプレート変数に HTML タグが設定されていて HTMLタグを出力したい場合は<br />
({$var|smarty:nodefaults})<br />
とすれば、escape 処理されずに出力されます。</p>
<p>私は HTML_QuickForm をよく使うので、form タグ関係を出したいことがありますので、その場合に使用しています。</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F75&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/75/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenPNE テンプレートのカスタマイズ</title>
		<link>http://blog.syuhari.jp/archives/72</link>
		<comments>http://blog.syuhari.jp/archives/72#comments</comments>
		<pubDate>Mon, 03 Sep 2007 08:33:26 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[OpenPNE]]></category>
		<category><![CDATA[Smarty]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[conf]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/archives/72</guid>
		<description><![CDATA[OpenPNE は Smarty を使用していますが、そのテンプレートを修正したい場合、直接オリジナルのテンプレートを編集するのではなくカスタマイズ用のテンプレートを作成して修正することができます。 ディレクトリは下記になります。 オリジナルのテンプレート /openpne/webapp/modules/pc/templates/ カスタマイズ用のテンプレート /openpne/webapp_ext/modules/pc/templates/ /openpne/webapp_ext/modules/pc/templates/ ディレクトリは最初からはないので作成します。 次にカスタマイズしたいテンプレートをオリジナルのテンプレートディレクトリからカスタマイズ用のディレクトリにコピーします。 次に /openpne/config.php の define('USE_EXT_DIR', false); を define('USE_EXT_DIR', true) に変更すれば、カスタマイズ用ディレクトリにテンプレートが存在すればそちらを優先して使用されます。 カスタマイズ失敗してもカスタマイズ用のテンプレートを削除すればオリジナルのテンプレートが使用されますので、便利ですね。 この /openpne/webapp_ext/ ディレクトリはテンプレート以外でも webapp ディレクトリのファイルを上書きできます。]]></description>
			<content:encoded><![CDATA[<p>OpenPNE は Smarty を使用していますが、そのテンプレートを修正したい場合、直接オリジナルのテンプレートを編集するのではなくカスタマイズ用のテンプレートを作成して修正することができます。</p>
<p>ディレクトリは下記になります。<br />
オリジナルのテンプレート<br />
/openpne/webapp/modules/pc/templates/<br />
カスタマイズ用のテンプレート<br />
/openpne/webapp_ext/modules/pc/templates/</p>
<p>/openpne/webapp_ext/modules/pc/templates/ ディレクトリは最初からはないので作成します。<br />
次にカスタマイズしたいテンプレートをオリジナルのテンプレートディレクトリからカスタマイズ用のディレクトリにコピーします。</p>
<p>次に /openpne/config.php の<br />
<code>define('USE_EXT_DIR', false);</code><br />
を<br />
<code>define('USE_EXT_DIR', true)</code><br />
に変更すれば、カスタマイズ用ディレクトリにテンプレートが存在すればそちらを優先して使用されます。</p>
<p>カスタマイズ失敗してもカスタマイズ用のテンプレートを削除すればオリジナルのテンプレートが使用されますので、便利ですね。<br />
この /openpne/webapp_ext/ ディレクトリはテンプレート以外でも webapp ディレクトリのファイルを上書きできます。</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F72&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/72/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Smarty truncate のマルチバイト対応 mb_truncate</title>
		<link>http://blog.syuhari.jp/archives/53</link>
		<comments>http://blog.syuhari.jp/archives/53#comments</comments>
		<pubDate>Thu, 02 Aug 2007 21:59:46 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Smarty]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[truncate]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/archives/53</guid>
		<description><![CDATA[Smarty のマルチバイトプラグインの紹介の続きです。 truncate というプラグインが Smarty に標準であります。 文字列を指定文字数で切るというものです。 ただ、マルチバイトには対応していないため最後の切られた文字が文字化けしてしまうことがあります。 その truncate プラグインをマルチバイト対応したものが下記のページで紹介されている mb_truncate プラグインです。 このプラグインは以前からかなり重宝しています。 文字化けしたり、切り捨てられる文字数がおかしい場合は mb_internal_encoding で内部文字コードを指定してあげれば直ると思います。 もともとの配布元のページが見れないので、下記のページよりダウンロードできます。 kawama.jp: [Smarty]mb_truncate]]></description>
			<content:encoded><![CDATA[<p>Smarty のマルチバイトプラグインの紹介の続きです。</p>
<p>truncate というプラグインが Smarty に標準であります。<br />
文字列を指定文字数で切るというものです。<br />
ただ、マルチバイトには対応していないため最後の切られた文字が文字化けしてしまうことがあります。</p>
<p>その truncate プラグインをマルチバイト対応したものが下記のページで紹介されている mb_truncate プラグインです。</p>
<p>このプラグインは以前からかなり重宝しています。<br />
文字化けしたり、切り捨てられる文字数がおかしい場合は <a href="http://jp2.php.net/manual/ja/function.mb-internal-encoding.php" target="_blank" class="liexternal">mb_internal_encoding</a> で内部文字コードを指定してあげれば直ると思います。</p>
<p>もともとの配布元のページが見れないので、下記のページよりダウンロードできます。<br />
<a href="http://kawama.jp/archives/2006/02/smartymb_trunca.html" target="_blank" class="liexternal">kawama.jp: [Smarty]mb_truncate</a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F53&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/53/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smarty のマルチバイト対応</title>
		<link>http://blog.syuhari.jp/archives/52</link>
		<comments>http://blog.syuhari.jp/archives/52#comments</comments>
		<pubDate>Thu, 02 Aug 2007 21:45:40 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Smarty]]></category>
		<category><![CDATA[age]]></category>
		<category><![CDATA[conf]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[Word]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/archives/52</guid>
		<description><![CDATA[マルチバイトの文字列を指定行数で強制改行する仕様があって、wordwrap 関数をマルチバイト化してさらに Smarty のプラグインを作ろうと思っていたらありました。 Smarty のマルチバイト対応 Artisan Version管理システム マルチバイト処理に弱いとされる、Smartyをマルチバイト対応とし、よりアプリケーション内で役立てることができるよう、オリジナルの関数や、関数に改造を行っています。]]></description>
			<content:encoded><![CDATA[<p>マルチバイトの文字列を指定行数で強制改行する仕様があって、wordwrap 関数をマルチバイト化してさらに Smarty のプラグインを作ろうと思っていたらありました。</p>
<p>Smarty のマルチバイト対応<br />
<a href="http://php.five-foxes.com/artisan/artisan_config.php?page=73" target="_blank" class="liexternal">Artisan Version管理システム</a></p>
<blockquote><p>マルチバイト処理に弱いとされる、Smartyをマルチバイト対応とし、よりアプリケーション内で役立てることができるよう、オリジナルの関数や、関数に改造を行っています。</p></blockquote>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F52&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/52/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP で Smarty を使用するメモ</title>
		<link>http://blog.syuhari.jp/archives/8</link>
		<comments>http://blog.syuhari.jp/archives/8#comments</comments>
		<pubDate>Fri, 29 Jun 2007 21:54:11 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Smarty]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[ec]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/archives/8</guid>
		<description><![CDATA[Smarty を CakePHP で使用する方法を調べたメモ Smarty の用意 Smarty ディレクトリを/vendors ディレクトリへコピー /vendors/smarty/Smarty.class.php のようになる。 Smarty が使用するディレクトリを作成 /app/tmp/smarty/cache/ /app/tmp/smarty/compile/ Smarty 用の View クラスの準備 レンダリングを任せる Smarty View Class を設定します。 Smarty View Class をダウンロードして smarty.php とリネームして /app/views/ に配置する。 smarty という名前のサブディレクトリを使用しないなら $this-&#62;subDir = 'smarty'.DS; をコメントアウトする。 また、 $this-&#62;Smarty-&#62;assign_by_ref('view', $this); を $this-&#62;Smarty-&#62;assign_by_ref('this', $this); に変更する。 この変更はテンプレートの中で $this を .thtml と同じように使用したい場合に必要。 AppController の設定 /app/app_controller.php を作成 class [...]]]></description>
			<content:encoded><![CDATA[<p>Smarty を CakePHP で使用する方法を調べたメモ</p>
<h3>Smarty の用意</h3>
<p>Smarty ディレクトリを/vendors ディレクトリへコピー</p>
<pre>/vendors/smarty/Smarty.class.php</pre>
<p>のようになる。</p>
<p>Smarty が使用するディレクトリを作成</p>
<pre>/app/tmp/smarty/cache/
/app/tmp/smarty/compile/</pre>
<h3>Smarty 用の View クラスの準備</h3>
<p>レンダリングを任せる Smarty View Class を設定します。<br />
<a href="http://cakeforge.org/snippet/detail.php?type=snippet&amp;id=6" target="_blank" class="liexternal">Smarty View Class</a> をダウンロードして smarty.php とリネームして</p>
<pre>/app/views/</pre>
<p>に配置する。</p>
<p>smarty という名前のサブディレクトリを使用しないなら<br />
<code>$this-&gt;subDir = 'smarty'.DS;</code><br />
をコメントアウトする。<br />
また、<br />
<code>$this-&gt;Smarty-&gt;assign_by_ref('view', $this);</code><br />
を<br />
<code>$this-&gt;Smarty-&gt;assign_by_ref('this', $this);</code><br />
に変更する。<br />
この変更はテンプレートの中で $this を .thtml と同じように使用したい場合に必要。</p>
<h3>AppController の設定</h3>
<pre>/app/app_controller.php</pre>
<p>を作成</p>
<pre class="code">class Appcontroller extends Controller{
    var $view = "Smarty";
}</pre>
<h3>実際の使用</h3>
<p>view に .tpl があれば Smarty テンプレートとして処理を行い、なければデフォルトの .thtml を表示するようになる。</p>
<p>.tpl の中では .thtml で使用できるヘルパーも使用できる。<br />
.thtml の「&lt;?php echo」を「{」、「;?&gt;」を「}」にすればほぼそのまま利用できる。</p>
<p>ただ、.thtml で HTMLヘルパーを使用している場合</p>
<pre class="code">{$html-&gt;input('Post/name', array('size'=&gt;'30'))}</pre>
<p>のままでは、array(&#8230;) でエラーになる。</p>
<p>これを修正するには、Smarty のプラグインを使用して解決する。<br />
<a href="http://cakeforge.org/snippet/download.php?type=snippet&amp;id=15" target="_blank" class="liexternal">プラグイン</a>をダウンロードして function.assign_assoc.php にリネームして</p>
<pre>/vendors/samrty/libs/plugins/</pre>
<p>に配置する。</p>
<p>テンプレートの先頭で</p>
<pre class="code">{assign_assoc var='ArrayName' value='size=&gt;30'}</pre>
<p>などとして</p>
<pre class="code">{$html-&gt;input('Post/name', $ArrayName)}</pre>
<p>とすればOK.</p>
<p>ただ結構最後のやつが面倒かも。。。</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F8&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/8/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

