0

我希望有一个带有 3 个模板的 codeigniter 应用程序。

  1. 用于显示登录视图或错误视图的模板。

  2. 带有标题正文导航的模板

  3. 带有标题正文侧边栏页脚的模板

现在我可以构建 codeigniter 应用程序,但是我找不到一个简单的模板系统来完成这个任务。有很多关于可用库的建议,但它们缺乏实现细节。

建议和指导将不胜感激。

4

3 回答 3

1

您可以使用 CodeIgniter 模板。 http://williamsconcepts.com/ci/codeigniter/libraries/template/index.html 在此处下载库,您还可以获得完整的文档。

使用此库,您可以使用多个模板,并且可以轻松管理并分组管理它。

于 2013-02-01T11:14:23.680 回答
0

一旦你了解它,这很简单。

您需要为上面列出的每个内容创建一个视图文件,因此您需要这样的内容(文件夹/文件明智):

views/page-login.php
views/page-error.php
views/header.php
views/footer.php

然后从您的控制器中,您将加载其中一个页面视图。然后,您可以在页面视图中加载所需的元素,因此页眉和页脚以及它们之间的页面特定代码。

例如,您的登录页面可能是:

<?php $this->load->view('header'); ?>

    <h1>Login</h1>
    <p>Please login to my website.</p>

<?php $this->load->view('footer'); ?>
于 2013-02-01T10:27:57.237 回答
0

这相当简单。

一个简单的例子:

在您的控制器中,您可以放置

//a test variable
$data["foo"] = 'bar';
$data["page"] = 'a_page'; // this will make sure it loads the views/pages/a_page.php in your template
$this->load->view('templates/login',$data);

在你的views/template/login.php你可以放:

<!-- your login template html  -->
<html>
    ...
    <!-- include the view you want inside your login template -->
    <?php $this->load->view('pages/'.$page);?><!-- As you can see it loads /views/pages/a_page.php -->
    <?php echo $foo;?> //This will echo Bar
</html>

或者:

<?php $this->load->view('template/login_header');?>
<?php $this->load->view('pages/'.$page);?>
<?php $this->load->view('template/login_footer');?>

views/pages/a_page.php也会知道$foo

这会在您的模板中加载另一个视图 (views/pages/a_page.php)。

通过这种方式,您可以创建所需的所有模板,并将您的视图包含在这些模板中。

提示:以这种方式处理页眉和页脚很快就会变得难以管理。而且还是用模板库比较好。试试Phil sturgeon 的图书馆

于 2013-02-01T10:28:42.413 回答