2013-07-04 29 views
1

我已經構建了一個包含兩個數據表的組件,這些數據由一個ID相關聯。Joomla組件相關表

我有工作,這樣當你正在查看錶A,您可以單擊某個字段並繼續表B的看法 - 這是由該ID從表A

我最後的挑戰過濾:當用戶在查看錶格B時點擊AddNew按鈕時,我們需要將相關的ID轉換爲addnew表格,以便將其保存在隱藏字段中。

歡迎任何指點! 在最後期限之前,拔掉頭髮太多,咖啡因過量!

+0

將ID作爲GET變量'?id = x',並通過'echo(int)JRequest :: getVar('id')'將其插入到隱藏中(如果存在)。 – MrCode

回答

1

您可以:

a。在表格A的視圖中添加一個隱藏字段與相關的ID行

<form method="post" name="adminForm" id="adminForm" > 
    ... 
    <input type="hidden" name="yourid" value="...." /> 
</form> 

b。覆蓋在表B(用於擴展JControllerForm的一個)的一個字段的控制器的功能add(),添加在重定向URL的yourid參數

class ...Controller... extends JControllerForm { 

    public function add() { 
     //... 
     $yid = $app->input->get('yourid'); 
     $this->setRedirect(JRoute::_('index.php?option=' . 
      $this->option . '&view=' . $this->view_item . 
      '&yourid=' . $yid . $this->getRedirectToItemAppend(), false)); 
     //... 
    } 
} 

℃。在表b的模型中,您可以獲取yourid輸入參數,並編輯其餘查詢。

public function __construct($config = array()) { 
     // .. 
     $this->yid = $app->input->get('yourid'); 
     parent::__construct($config); 
    } 

希望這會有所幫助。