我希望有一个带有 3 个模板的 codeigniter 应用程序。
用于显示登录视图或错误视图的模板。
带有标题正文导航的模板
带有标题正文侧边栏页脚的模板
现在我可以构建 codeigniter 应用程序,但是我找不到一个简单的模板系统来完成这个任务。有很多关于可用库的建议,但它们缺乏实现细节。
建议和指导将不胜感激。
我希望有一个带有 3 个模板的 codeigniter 应用程序。
用于显示登录视图或错误视图的模板。
带有标题正文导航的模板
带有标题正文侧边栏页脚的模板
现在我可以构建 codeigniter 应用程序,但是我找不到一个简单的模板系统来完成这个任务。有很多关于可用库的建议,但它们缺乏实现细节。
建议和指导将不胜感激。
您可以使用 CodeIgniter 模板。 http://williamsconcepts.com/ci/codeigniter/libraries/template/index.html 在此处下载库,您还可以获得完整的文档。
使用此库,您可以使用多个模板,并且可以轻松管理并分组管理它。
一旦你了解它,这很简单。
您需要为上面列出的每个内容创建一个视图文件,因此您需要这样的内容(文件夹/文件明智):
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'); ?>
这相当简单。
一个简单的例子:
在您的控制器中,您可以放置
//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 的图书馆