目标应该如下:我有一个编辑视图,其中包含一个依赖于另一个表的自定义字段(下拉列表)。在那里我可以从地址列表(第二个表)中选择来保存数据行的 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 ;
}
}
到目前为止这有效,但我必须在关闭此模式窗口时更新下拉列表的内容,而不是在模式窗口中获取 invoiceadresses 的列表视图。
我的第二次尝试是在链接中添加“tmpl=component”,但我没有保存按钮。我不知道如何做到这一点。有人已经解决了这个问题吗?