Codeigniter中的Magento类型主题设置

时间:2014-09-09 07:59:49

标签: php codeigniter codeigniter-2

我们如何在codeigniter中设置多个主题,就像在Magento中一样?

我想在HMV​​C CI中这样做。 我想在我的开发中添加主题功能。我正在使用Codeigniter HMVC

中的HMVC设置

这已正确设置并正常工作。 这是一个很好的开发方法。 在这里,我尝试使用此代码添加主题功能,可以从管理面板控制。

/themes/themeName/templates/   
/themes/themeName/modulesName/View   

方法是如果在themes文件夹中找不到视图文件,它应该来自

application/modules/moduleName.

我对这个脚本有什么改变?

任何人都可以建议我使用此代码进行哪些修改?

1 个答案:

答案 0 :(得分:0)

也许我误解了但为什么不扩展CI的Loader类并添加主题功能呢?我最近这样做了,效果很好。

public function theme($view, $theme, $vars = array(), $return = FALSE) {

    // Check if extension was specified. If not, add .php
    $ext = pathinfo(APPPATH . $theme, PATHINFO_EXTENSION);
    $view_file = ($ext == '') ? $view.'.php' : $view;

    // Verify whether or not the requested theme file exists and set the template directory path prefix accordingly
    if(file_exists(APPPATH . "views/store/theme/$theme/$view_file")) {
        $this->_ci_view_paths = array(APPPATH . "views/store/theme/$theme/" => true);
    }
    else {
        $this->_ci_view_paths = array(APPPATH . "views/store/theme/default/" => true);
    }

    return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return));
}