Как изменить путь к файлу smarty html для получения?
Вот моя проблема, я установил Codeigniter (v.3) с использованием стороннего (MX штука), теперь я попытался интегрировать Smarty (v.3) (шаблон) с системой. Вот что я сделал:
Скачал последние файлы Smarty с smarty.net
Отредактируйте autoload.php
$autoload['libraries'] = array('smarty');
скопируйте файлы smarty и вставьте их в приложение /libaries/Smarty
создал файл smarty.php на приложение / библиотеки
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); require_once( APPPATH.'libraries/Smarty/Smarty.class.php' ); class CI_Smarty extends Smarty { public function __construct() { parent::__construct(); $this->compile_dir = APPPATH. "templates_c"; $this->template_dir = VIEWPATH ; $this->plugins_dir = APPPATH.'libraries/smarty/plugins/'; $this->assign( 'APPPATH', APPPATH ); $this->assign( 'BASEPATH', BASEPATH ); // Assign CodeIgniter object by reference to CI if ( method_exists( $this, 'assignByRef') ) { $ci =& get_instance(); $this->assignByRef("ci", $ci); } log_message('debug', "Smarty Class Initialized"); } function view($template, $data = array(), $return = FALSE) { foreach ($data as $key => $val) { $this->assign($key, $val); } if ($return == FALSE) { $CI =& get_instance(); if (method_exists( $CI->output, 'set_output' )) { $CI->output->set_output( $this->fetch($template) ); } else { $CI->output->final_output = $this->fetch($template); } return; } else { return $this->fetch($template); } } }
Файлы и структура папок папки скина следующие:
- кожа
- "-> Тема
- "-> Добро пожаловать
- '---> файлы (welcome_message.html)
Мой код в приветствии conteroller (application\modules\welcome\welcome.php)
class Welcome extends MX_Controller { function __construct() { parent::__construct(); $this->load->model('welcome_model','welcome'); } public function index() { $this->smarty->display('welcome_message.html'); } }
Теперь я пытаюсь запустить его, но я получил это сообщение об ошибке:
An uncaught Exception was encountered Type: SmartyException Message: Unable to load template file 'welcome_message.html' Filename: C:\xampp\htdocs\cleanci01\application\libraries\Smarty\sysplugins\smarty_internal_template.php Line Number: 139 Backtrace: File: C:\xampp\htdocs\cleanci01\application\libraries\Smarty\sysplugins\smarty_internal_templatebase.php Line: 192 Function: render File: C:\xampp\htdocs\cleanci01\application\libraries\Smarty\sysplugins\smarty_internal_templatebase.php Line: 109 Function: _execute File: C:\xampp\htdocs\cleanci01\application\modules\welcome\Welcome.php Line: 14 Function: display File: C:\xampp\htdocs\cleanci01\index.php Line: 294 Function: require_once
Я не уверен, как я скажу smarty, что он должен получить файл из "skin/theme/welcome/", а не из FCPATH( введите описание изображения здесь). Как это может произойти?
Любая помощь с благодарностью, спасибо, ребята!