2013-05-16 41 views
1

我有一個控制器Users_controller和一個函數travel()。我有一個視圖travel.ctp爲該函數.in travel.ctp我使用元素profile.ctp顯示一些存儲在views/element/profile.ctp中的內容。 在travel.ctp我elemet我寫類似下面如何提交表單從一個元素到控制器並將其存儲在另一個模型

<?php echo $this->Form->create('User', array('url' => array('action' => 'travel')));?> 

我的疑問是

  1. 我如何獲取表單動作profile.ctp添加的元素通過

    <?php echo $this->element("profile");?> 
    

    travel()中的表單數據?

  2. 如何將數據保存在另一個表中?
  3. 我該如何重用該元素?因爲我爲該表單發佈了一個動作,那麼如何將其重新用於另一個動作?

回答

1

在你的控制器,你必須例如設置一個變量

$this->set('result', 'something'); 

,並在您travel.ctp傳遞價值「東西」到你的元素包括:

元素(「檔案」 ?,陣列( '結果'=> $結果));>

進入你的profile.ctp你可以使用這個變量通常喜歡:

$result 

將數據保存到另一個表,其中要保存你的數據,你可以手動更改名稱形式的

<?php echo $this->Form->create('User', array('url' => array('action' => 'travel')));?> 

或不設置窗體的名字和你的控制器的負載模型

<?php echo $this->Form->create(null, array('url' => array('action' => 'travel')));?> 

,如果你想重用元素,但改變的動作可以傳遞設置類似操作的值:

在你travel.ctp

<?php echo $this->element("profile", array('result' => $result, 'action' => 'youraction'));?> 

在你profile.ctp

<?php echo $this->Form->create('User', array('url' => array('action' => $action)));?> 
+0

感謝您的回覆 – SibinF

+0

歡迎您 –

+0

u能來聊了一會... – SibinF

相關問題