model = $this->getAttribute('model',false); $this->func = $this->getAttribute('func',false); if(!$this->model or !$this->func){ return parent::getOptions(); } $m = VmModel::getModel($this->model); if(!$m){ return parent::getOptions(); } $values = call_user_func(array($m,$this->func)); if(!$this->multiple) $options[] .= JHtml::_('select.option', 0, vmText::_('COM_VIRTUEMART_FORM_TOP_LEVEL')); $lvalue = $this->getAttribute('lvalue','value'); $ltext = $this->getAttribute('ltext','text'); foreach ($values as $v) { $options[] = JHtml::_('select.option', $v->{$lvalue}, $v->{$ltext}); } // Merge any additional options in the XML definition. $options = array_merge(parent::getOptions(), $options); if(!is_array($this->value))$this->value = array($this->value); if($this->multiple){ $this->multiple = ' multiple="multiple" '; } return $options; } }