【问题标题】:CodeIgniter Admin template system [closed]CodeIgniter Admin 模板系统 [关闭]
【发布时间】:2015-12-15 20:51:04
【问题描述】:

我想允许管理员自行更改管理仪表板布局并添加一个选项,以便他们可以上传自己的布局或“高级”布局。

但是,我没有这样做的逻辑。我坚持一件事:

  • 基于CSS(用户可以使用相同名称的CSS创建新模板);

这看起来很奇怪。

如何动态更改后端代码?有很多 PHP 代码的视图。我知道许多允许用户更改前端(而不是管理仪表板)的 CMS。我希望我的管理仪表板具有类似的功能。这是一款 MMORPG 游戏,admin/user 面板在同一个“页面”中。可能有些管理员不喜欢拥有与另一台服务器相同的面板。

【问题讨论】:

  • 您的问题既难以理解,也很可能因为范围很广而被关闭。所以。专门针对基于代码的问题:您能否向我们展示您为实现这一目标所做的尝试以及您遇到的问题?

标签: php css codeigniter


【解决方案1】:

我认为您应该将模板名称存储在数据库中并将其定义在application/core文件夹下的MY_Controller.php文件中。

例如;

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');
    }

最后,我们的控制器示例:

<?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 -&gt; activeTemplate 返回“theme1”值,您需要在application/views/theme1/front(或其他)下添加您的视图。

如果您使用该结构,您可以轻松更改正面的主题。

【讨论】:

  • 哦!很好,谢谢你的回复!但我仍然对 PHP 代码存有疑问。
  • 有什么疑惑?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-28
  • 1970-01-01
  • 2012-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-21
相关资源
最近更新 更多