Zend Framework 1.0でSmartyを使用する


もちろん使用する、というのはView_Helperとして。楽ちんですからね。2007/07/20の最新バージョンである1.0.0で動作を確認しています。
Smarty用のZendViewはマニュアルに載っています。

別のテンプレートシステムの使用

これを保存して、
(ドキュメント上ではZend_View_Smartyとなっていますが、
 Common_View_Smartyと変更しています)
起動ファイルで
[php]
require_once ‘Common/View/Smarty.php’;
require_once ‘Zend/Controller/Action/Helper/ViewRenderer.php’;
require_once ‘Zend/Controller/Action/HelperBroker.php’;

$extraParams = array(
‘compile_dir’ => APPLICATION_PATH. ‘/views/templates_c’,
/* 他色々なSmartyオプション */
);
$view = new Common_View_Smarty(null, $extraParams);
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer($view);
$viewRenderer->setViewBasePathSpec(APPLICATION_PATH . ‘/views/templates’)
->setViewScriptPathSpec(‘:controller/:action.:suffix’)
->setViewScriptPathNoControllerSpec(‘:action.:suffix’)
->setViewSuffix(‘tpl’);
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);

[/php]

としてやれば、ViewHelperとして動作します。
#上記APPLICATION_PATH . ‘/views/templates’はお使いのtemplate階層に合わせてください。

追記しました

関連する記事:

  1. PHPの種 - trackback on 2007/7/18 水曜日 at 19:22:58

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

Trackbacks and Pingbacks: