Шаблонирование и тематика с помощью CI - PullRequest
1 голос
/ 14 августа 2011

Что ж, с моей CMS, которую я создаю, я смог купить действительно красивый шаблон администратора из леса тем, и я пытаюсь выяснить, как выполнить создание тем / шаблонов.

Страница входа в систему здесь: http://www.kansasoutlawwrestling.com/admintemp/login.html

Панель управления: http://www.kansasoutlawwrestling.com/admintemp/index.html

Теперь большинство файлов одинаковы, однако я буду использовать библиотеку Tank Auth для входа и аутентификации пользователя, которая включает в себя форму регистрации и забытого пароля и т. Д. Я хочу иметь возможность использовать один и тот же макет, шаблон, тему, независимо от того, что является подходящим термином для этих форм аутентификации, потому что, если вы заметите, что на странице входа есть класс входа, который немного усложняет ситуацию.

Или есть лучший способ сделать это без библиотеки шаблонов или даже есть лучшая библиотека, которую я должен использовать?

У кого-нибудь есть идеи?

Новый код:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller {

/**
 * Index Page for this controller.
 *
 * Maps to the following URL
 *      http://example.com/index.php/welcome
 *  - or -  
 *      http://example.com/index.php/welcome/index
 *  - or -
 * Since this controller is set as the default controller in 
 * config/routes.php, it's displayed at http://example.com/
 *
 * So any other public methods not prefixed with an underscore will
 * map to /index.php/welcome/<method_name>
 * @see http://codeigniter.com/user_guide/general/urls.html
 */

public function __construct()
{
    parent::__construct();
    $this->load->helper('url');
    $this->load->library('tank_auth');
}


public function index()
{
    // Set up the template. 
    $this->template->set_layout('default')->enable_parser(false);

    if (!$this->tank_auth->is_logged_in()) {
        redirect('/auth/login/');
    } else {
        $data['user_id']    = $this->tank_auth->get_user_id();
        $data['username']   = $this->tank_auth->get_username();
        $this->load->view('welcome', $data);
    }


}
}

/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */

Исправлена ​​эта проблема

1 Ответ

2 голосов
/ 15 августа 2011

Один из основных способов создания шаблонов сайта в CodeIgniter - создание php-файла шаблона или «макета», который динамически загружает другой файл представления.

Попробуйте что-то вроде этого и посмотрите, работает ли оно для вас:

Вид / layout.php

<html><body>
<?php $this->load->view('header.php'); ?>
<?php $this->load->view($component); ?>
<?php $this->load->view('footer.php'); ?>
</body></html>

Вид / header.php

<h1>Header</h1>

вид / footer.php

<h6>Footer</h6>

вид / login.php

<p>Login here!</p>

Контроллеры / welcome.php

public function index() {
    $data['component'] = "login";
    $this->load->view("layout", $data);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...