【问题标题】:backend of Codeigniter 2.2 project with several templates带有多个模板的 Codeigniter 2.2 项目的后端
【发布时间】:2014-08-24 07:53:13
【问题描述】:

在 Codeigniter 2.2 项目中,我想为后端制作几个模板,并在用户的 db 表中保存用于用户的模板。 当用户打开登录页面时,会打开默认模板,因为用户尚未登录。 登录时,我保存会话当前模板名称。 但问题是,在我的配置文件中,我有几个用于分页布局的块。 不同的模板使用不同的标签进行分页布局。 所以在配置文件中我必须写如下内容:

if ( $current_template == 'template_name' ) {
    $config['full_tag_open'] = '<p>';
    $config['full_tag_close'] = '</p>';
}...

但在配置文件中似乎无法访问 CI get_instance() 方法! 哪个可以决定这个?是否有一些好的工具可以做到这一点?

【问题讨论】:

    标签: php codeigniter templates


    【解决方案1】:

    我假设您的服务器端代码是一致的,视图是一致的,只是 css/js 中的更改,否则对于不同的视图,可以扩展相同的方法。

    如果您正在制作基于模板的 UI,那么您应该采用模块化方法来显示内容,例如对于视图页面,您必须具有页眉、页脚和主要内容部分。现在,如果您有不同的模板,那么您应该在不同的模板目录中具有相同名称的 css/js 文件,如下图所示:

    用户登录后将模板名称保存在会话中,您的主题将是动态的,如下代码将用于加载 css/js

    <?php
    $templateName=$this->session->userdata('currentTemplate');
    ?>
    <link rel="stylesheet" type="text/css" href="<?php echo base_url().'ui_components'.$templateName>?>/css/style.css"/>
    <script type="text/javascript" src="<?php echo base_url().'ui_components/'.$templateName?>/js/main.js"></script>
    

    你可以试试这种简单的模板系统。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-02
      • 1970-01-01
      • 2018-06-28
      • 2016-06-09
      相关资源
      最近更新 更多