我想允许管理员自行更改管理员仪表板布局并添加一个选项,以便他们可以上传自己的布局或者#34; Premium"布局。
但是,我没有逻辑可以做到这一点。我曾经做过一件事:
这看起来很奇怪。
如何动态更改后端代码?有很多PHP代码有许多视图。我知道许多CMS允许用户更改前端(而不是管理仪表板)。我想要管理员仪表板的类似功能。这是针对MMORPG游戏的,admin/user
面板位于同一个"页面"中。也许某些管理员不喜欢让面板与另一台服务器相同。
答案 0 :(得分:0)
我认为您应该将模板名称存储在数据库中,并在MY_Controller.php
文件夹下的application/core
文件中定义。
例如;
MY_Controller.php文件:
<?php
Class Front_Controller extends CI_Controller
{
function __construct()
{
parent::__construct();
$this -> load -> model('CommonModel');
$this -> activeTemplate = $this -> CommonModel -> activeTemplate();
}
}
CommonModel.php文件:
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Class CommonModel Extends CI_Model
{
function activeTemplate()
{
return $this -> db -> get_where('settings', array('feature' => 'frontTemplate'))->row('value');
}
最后,我们的Controller示例:
<?php defined('BASEPATH') OR exit('No direct script access allowed');
Class Home Extends Front_Controller
{
public function index()
{
$this -> load -> view($this -> activeTemplate.'/front/master', $data);
}
因此,如果您想使用该结构,则需要在视图文件夹下打开新文件夹,其中包含存储在我们数据库中的主题名称。例如;如果$this -> activeTemplate
返回“theme1”值,则需要在application/views/theme1/front
(或其他内容)下添加您的观看次数。
如果您使用该结构,则可以轻松更改正面的主题。