Библиотека воспламенителей тем. - PullRequest
1 голос
/ 09 марта 2012

Мне нужно 3 разных шаблона для моего приложения Codeigniter. Я читал о библиотеке Темы. Но я так и не понял, как добавить шаблон в Codeignier ..

Я понял, как задействовать шаблон в контроллере.

Пожалуйста, помогите

Ответы [ 2 ]

2 голосов
/ 09 марта 2012

Я использую эту библиотеку шаблонов, она очень проста и хорошо работает для меня.

применение / библиотеки / template.php

<?php
class Template {
    var $template_data = array();
    var $use_template  = '';

    /**
     * Set variable for using in the template
     */
    function set($name, $value)
    {
        $this->template_data[$name] = $value;
    }

    /**
     * Set template name
     */
    function set_template($name)
    {
        $this->use_template = $name;
    }

    /**
     * Load view
     */
    function load($view = '' , $view_data = array(), $template = '', $return = FALSE)
    {
        $this->CI =& get_instance();

        if (empty($template)) {
            $template = $this->CI->config->item('template_master');
        }

        if (!empty($this->use_template)) {
            $template = $this->use_template;
        }

        $this->set($this->CI->config->item('data_container'), $this->CI->load->view($view, array_merge($view_data, array ('template' => $this->template_data)), true));
        return $this->CI->load->view($this->CI->config->item('template_folder') . '/' . $template, $this->template_data, $return);
    }
}

приложение / Config / template.php

<?php
$config['template_master']  = 'main';
$config['template_folder']  = 'templates';
$config['data_container']   = 'content';

Приложение / просмотров / шаблоны / main.php

Header<br />
<?php echo $content; ?></br>
Footer

приложение / контроллеры / welcome.php

<?php
class Welcome extends CI_Controller
{
    public function index()
    {
        $this->load->config('template');
        $this->load->library('template');
        $this->template->load('welcome', array('view' => 'data'));
    }
}

Я обычно помещаю файлы config / library в автозагрузку, и вы можете использовать в любое время $ this-> template-> set_template ('other_template'); использовать другой:)

Надеюсь, это поможет.

1 голос
/ 09 марта 2012

Я использовал следующую настройку в проекте CodeIgniter:

Различные шаблоны вместе с таблицами стилей и изображениями находятся в следующей папке:

/templates/1/header.php
/templates/1/footer.php
/templates/1/images/*
/templates/1/style/*
/templates/2/header.php
/templates/2/footer.php
/templates/2/images/*
/templates/2/style/*

В ваших контроллерах определите, какой шаблон вы хотите загрузить, и передайте путь к этому шаблону в качестве переменной (в данном случае templatepath) в ваши файлы View. Внутри просмотра файлов вы делаете следующее:

<?php include($templatepath.'/header.php'); ?>

вверху и

<?php include($templatepath.'/footer.php'); ?>

внизу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...