Как изменить путь к файлу smarty html для получения?

Вот моя проблема, я установил Codeigniter (v.3) с использованием стороннего (MX штука), теперь я попытался интегрировать Smarty (v.3) (шаблон) с системой. Вот что я сделал:

  1. Скачал последние файлы Smarty с smarty.net

  2. Отредактируйте autoload.php

    $autoload['libraries'] = array('smarty');
    
  3. скопируйте файлы smarty и вставьте их в приложение /libaries/Smarty

  4. создал файл 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);
            }
        }
    }
    
  5. Файлы и структура папок папки скина следующие:

    • кожа
    • "-> Тема
    • "-> Добро пожаловать
    • '---> файлы (welcome_message.html)
  6. Мой код в приветствии 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');
        }
    }
    
  7. Теперь я пытаюсь запустить его, но я получил это сообщение об ошибке:

        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( введите описание изображения здесь). Как это может произойти?

Любая помощь с благодарностью, спасибо, ребята!

0 ответов

Другие вопросы по тегам