修改单页cakephp

时间:2012-08-05 10:51:15

标签: cakephp edit

我希望单个页面(如:domain.sg/contact)可编辑,但我认为创建新的数据库表,模型,控制器和视图不是这个原始问题的最佳实践。你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果您希望在不使用数据库的情况下编辑文件,则需要在页面上或其他位置使用文件系统功能和编辑表单。

在编辑表单的页面控制器中:

public function edit_contact()
{
 //retrieve file's contents and output to view
 $file = fopen('/path/to/contact.ctp', w);
 $file_contents = file_get_contents($file);
 $this->set('contents', $file_contents);
 if($this->request->is('post'))
 {
  fwrite($file, $this->request->data['contents']);
 }
 fclose($file);
}

查看文件:

//edit_contact.ctp
echo $this->Form->create('Edit Contact);
echo $this->Form->input('Content', array('type' => 'textarea', 'value' => $contents));
echo $this->Form->end('Update File');

然后创建您想要编辑的contact.ctp。

警告:此表单不进行验证,并允许用户输入他们想要的内容,包括可能对您或其他访问者使用的恶意代码。