我使用 CakePHP 框架,并且希望在我的项目中拥有多个模板。
CakePHP有没有办法实现多个模板?
例如,管理员可以在后端选择第一个或第二个模板,用户可以使用相同的模板。 (就像在 Joomla 后端一样)。如果有什么办法,我该如何实现?
最佳答案
只是向您提供有关如何做到这一点的基本想法。
在 app_controller 中尝试以下代码。
<?php
class AppController extends Controller
{
var $components = array( 'Auth','Session', 'RequestHandler','Email','Gzip.Gzip','SwiftMailer');
var $helpers = array( 'Javascript', 'Form', 'Html', 'Session','Time','Custom','Paginator','Text' );
function beforeFilter()
{
if(isset($this->params['admin']) && $this->params['admin'] == 1)
{
$this->layout = "admin";
}
else
{
$this->layout = "default";
}
}
?>
在扩展 app_controller 的其他 Controller 文件中添加您必须具有如下代码。
<?php
class OtherController extends Controller
{
var public $uses = array('ModelName');
function beforeFilter()
{
parent::beforeFilter();
}
?>
您还可以将 $this->layout
覆盖到每个 Controller 操作。
关于templates - 我如何在cakephp中实现多模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14474023/