我为使用CodeIgniter构建的自定义CMS创建了自定义配置文件。我想在CMS中有一个“配置”页面,允许用户保存联系人电子邮件地址和其他变量。
我想允许用户从管理员CP动态设置这些配置变量,但我无法这样做。
我在这里发现了这篇文章:Dynamically updating config data codeigniter提出了类似的问题,但答案并不完全是我想要的。
是否可以从控制器中永久更新配置文件?现在我的代码看起来像这样:
$this->config->load('cms_config');
//load the initial view
$this->data['subview'] = 'admin/setup/index';
$this->load->view('admin/_layout_main', $this->data);
//validate form
if($this->form_validation->run('site_config') == TRUE) {
$this->config->set_item('contact_email', $this->input->post('contact_email'));
}
但这似乎根本没有更新文件。事实上,表单提交似乎没有任何结果。
答案 0 :(得分:1)
这是我在自己的CMS上工作时遇到的设计限制之一。配置在框架文件中。然后,我使用第二个数据库(例如SQLite)来引导额外的配置数据,但由于它不支持同时支持多个数据库,因此面临CI的第二个限制。唯一剩下的选择是在不同的上下文中硬编辑配置文件本身,自定义文件或codeigniter挂钩可以完成这项工作。或安装控制器(在pyro CMS中实现)
如果您想讨论更多cms设计问题,请告诉我,因为我正在研究类似的事情。
祝你好运。