View Joomla 2.5在模式窗口中打开视图以添加数据

View Joomla 2.5在模式窗口中打开视图以添加数据,view,modal-dialog,joomla2.5,View,Modal Dialog,Joomla2.5,目标应如下: 我有一个带有自定义字段下拉列表的编辑视图,该下拉列表依赖于另一个表。在那里,我可以从地址列表中选择第二个表来保存数据行的id。我从这个开始: 自定义字段代码: jimport('joomla.form.helper'); JFormHelper::loadFieldClass('list'); JHTML::_('behavior.modal'); class JFormFieldInvoiceAdress extends JFormFieldList { protecte

目标应如下: 我有一个带有自定义字段下拉列表的编辑视图,该下拉列表依赖于另一个表。在那里,我可以从地址列表中选择第二个表来保存数据行的id。我从这个开始:

自定义字段代码:

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 ;
    }
}
到目前为止,这是可行的,但我必须在关闭此模式窗口时更新下拉列表的内容,而不是在模式窗口中获取InvoiceAddress的列表视图


我的第二次尝试是在链接中添加'tmpl=component',但是我没有保存按钮。我不知道如何做到这一点。有人已经解决了这个问题吗?

找到了解决方案,我将为下一个提出同样问题的人回答这个问题

使用此链接调用编辑视图:

$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();" />
就这样。数据将被保存,在此之后,模式窗口关闭,当前页面重新加载,下拉列表将用新数据更新