Что я сделал:
скачал файл CSmartyViewRenderer.php
http://code.google.com/p/yiiext/source/ ... nderer.php
поместил его в директорию protected/extensions/Smarty/
скачал последнюю стабильную версию Smarty 2.6.26
http://www.smarty.net/do_download.php?d ... 2.6.26.zip
поместил в директорию protected/vendors/Smarty/
замечу, всё что находилось в Smarty/libs/ я перенёс в Smarty/
далее как описывалось в инструкции
http://www.yiiframework.com/extension/s ... derer/#doc
вставил в конфиг такой код
- Код: Выделить всё
'viewRenderer'=>array(
'class'=>'application.extensions.Smarty.CSmartyViewRenderer',
'fileExtension' => '.tpl',
//'pluginsDir' => 'application.smartyPlugins',
//'configDir' => 'application.smartyConfig',
),
после этого создал шаблонный файл themes/classic/index.tpl
а в конфиге прописал
'theme' => 'classic',
имеется контролер controllers/SiteController.php
- Код: Выделить всё
class SiteController extends CController
{
public function actionIndex()
{
$this->render('index');
}
}
при запуске как я понимаю должна генерироваться шаблон themes/classic/index.tpl но в место этого выводит ошибку
- Код: Выделить всё
CException
Description
Property "CWebApplication.viewRenderer" is read only.
Source File
C:wampwwwyii-1.1.0.r1700frameworkbaseCModule.php(435)
00423: }
00424: }
00425:
00426: /**
00427: * Configures the module with the specified configuration.
00428: * @param array the configuration array
00429: */
00430: public function configure($config)
00431: {
00432: if(is_array($config))
00433: {
00434: foreach($config as $key=>$value)
00435: $this->$key=$value;
00436: }
00437: }
00438:
00439: /**
00440: * Loads static application components.
00441: */
00442: protected function preloadComponents()
00443: {
00444: foreach($this->preload as $id)
00445: $this->getComponent($id);
00446: }
00447:
Stack Trace
#0 C:\wamp\www\yii-1.1.0.r1700\framework\base\CModule.php(435): CComponent->__set('viewRenderer', Array)
#1 C:\wamp\www\yii-1.1.0.r1700\framework\base\CApplication.php(117): CModule->configure(Array)
#2 C:\wamp\www\yii-1.1.0.r1700\framework\YiiBase.php(112): CApplication->__construct('C:\wamp\www\mys...')
#3 C:\wamp\www\yii-1.1.0.r1700\framework\YiiBase.php(85): YiiBase::createApplication('CWebApplication', 'C:\wamp\www\mys...')
#4 C:\wamp\www\mysite\index.php(11): YiiBase::createWebApplication('C:\wamp\www\mys...')
#5 {main}
2010-03-01 16:04:16 Apache/2.2.11 (Win32) PHP/5.3.0 Yii Framework/1.1.0
ниже привожу свой конфиг
- Код: Выделить всё
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'Yii Blog Demo',
'defaultController'=>'site',
'sourceLanguage' => 'ru',
'language' => 'en',
'theme' => 'classic',
'import'=>array(
'application.models.*',
'application.components.*',
),
/* */
'viewRenderer'=>array(
'class'=>'application.extensions.Smarty.CSmartyViewRenderer',
'fileExtension' => '.tpl',
//'pluginsDir' => 'application.smartyPlugins',
//'configDir' => 'application.smartyConfig',
),
'components'=>array(
'errorHandler'=>array(
'errorAction'=>'site/error',
),
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'posts'=>'post/list',
),
),
),
// application-level parameters that can be accessed
// using Yii::app()->params['paramName']
'params'=>require(dirname(__FILE__).'/params.php'),
);
сразу извиняюсь что размещаю большие коды, хотя наверное было лучше приложить ввиде файла.
Подскажите, что я не так сделал, может что-то я упустил. Да и ещё непонятно где должна располагаться директория compile для компилировании шаблонов ?

