2012-08-05 49 views
0

我想單個頁面(如:domain.sg/contact)是可編輯的,但我認爲創建一個新的數據庫表,一個模型,一個控制器和視圖不是這個原語的最佳實踐問題。你有什麼建議?修改單頁cakephp

回答

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。

警告:此表單不驗證,並允許用戶輸入他們想要的任何內容,包括可能用於對您或其他訪問者的惡意代碼。

+0

我正要這樣做,但我不知道在哪裏存儲內容。 – JohannSan 2012-08-05 12:05:37

+0

在「Cake/app/View/Pages」文件夾中創建一個視圖 – Alex 2012-08-05 12:34:31

+0

確定,但是如何編輯它。我希望它是由用戶編輯 – JohannSan 2012-08-05 13:15:59