我们如何在codeigniter中设置多个主题,就像在Magento中一样?
我想在HMVC CI中这样做。 我想在我的开发中添加主题功能。我正在使用Codeigniter HMVC
中的HMVC设置这已正确设置并正常工作。 这是一个很好的开发方法。 在这里,我尝试使用此代码添加主题功能,可以从管理面板控制。
/themes/themeName/templates/
/themes/themeName/modulesName/View
方法是如果在themes文件夹中找不到视图文件,它应该来自
application/modules/moduleName.
我对这个脚本有什么改变?
任何人都可以建议我使用此代码进行哪些修改?
答案 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));
}