2013-03-01 93 views
0

目標應該如下: 我有一個編輯視圖,其中依賴於另一個表的自定義字段(下拉列表)。在那裏,我可以從地址列表中選擇(第二個表)來保存數據行的ID。我開始與此:Joomla 2.5在模式窗口中打開視圖來添加數據

自定義字段代碼:

jimport('joomla.form.helper'); 
JFormHelper::loadFieldClass('list'); 
JHTML::_('behavior.modal'); 
class JFormFieldInvoiceAdress extends JFormFieldList 
{ 
    protected $type = 'invoiceadress'; 
    protected function getInput() { 
     $db = JFactory::getDBO(); 
     $query = $db->getQuery(true); 
     $query->select('id,zip,city,adress'); 
     $query->from('#__pb_invoiceadresses'); 
     $db->setQuery((string)$query); 
     $types = $db->loadObjectList(); 
     $options = array(); 
     foreach($types as $type) { 
     $options[] = JHTML::_('select.option', $type->id, $type->zip . " " . $type->city . ", " .$type->adress); 
     } 
     $dropdown = JHTML::_('select.genericlist', $options, $this->name, 'class="inputbox"', 'value', 'text', $this->value); 
     $link = 'index.php?option=com_mycomponent&view=invoiceadresseedit&layout=edit&id=0'; 
     $dropdown .= "<a href=\"" . JRoute::_($link) . "\" class=\"modal\" rel=\"{handler: 'iframe', size: {x: 875, y: 550}, onClose: function() {}}\" >Neue Adresse</a>";      
     return $dropdown ; 
    } 
} 

到目前爲止是這種情況,但我必須更新關閉此模式窗口,並沒有得到invoiceadresses的列表視圖中的下拉列表的內容模態窗口。

我的第二次嘗試是在鏈接中添加'tmpl = component',但沒有保存按鈕。我不知道如何做到這一點。任何人已經解決了這個?

回答

0

找到了解決辦法,我正在回答下一個出現同樣問題的人。

呼叫這個鏈接編輯觀點:

$link = 'index.php?option=com_mycomponent&view=invoiceadresseedit&layout=edit&id=0&tmpl=component'; 

這將只顯示形式,而不管理GUI和工具欄的其餘部分。

添加一個保存按鈕,以您的編輯形式是這樣的:

<input class="button" type="submit" value="<?php echo JText::_('SAVE');?>" onClick="window.parent.location.reload();" /> 

而且完蛋了。數據將被保存,然後模式窗口關閉並且當前頁面重新加載,下拉菜單將被更新爲新數據。

相關問題