element['key_field'] ? $this->element['key_field'] : 'value'); $val = ($this->element['value_field'] ? $this->element['value_field'] : $this->name); VmConfig::loadConfig(); return JHtml::_('select.genericlist', $this->_getProducts(), $this->name, 'class="inputbox" ', 'value', 'text', $this->value, $this->id); } static public function _getProducts($virtuemart_category_id=0) { static $hash = array(); if(is_array($virtuemart_category_id)){ $catHash = implode('.',$virtuemart_category_id); } else { $catHash = $virtuemart_category_id; } if(isset($hash[$catHash])){ return $hash[$catHash]; } else { $productModel = VmModel::getModel('Product'); $productModel->_noLimit = true; if(vmAccess::manager('managevendors')){ $productModel->virtuemart_vendor_id = 0; } $onlyPublished = true; $params = array('searchcustoms'=>false,'virtuemart_custom_id'=>false, 'keyword' =>false, 'published' =>1,'virtuemart_manufacturer_id' => 0, 'product_parent_id' => 0); $ids = $productModel->sortSearchListQuery ($onlyPublished, $virtuemart_category_id, FALSE, FALSE, $params ); $productModel->listing = TRUE; $products = $productModel->getProducts ($ids, false, false, $onlyPublished, true); $productModel->listing = FALSE; //$products = $productModel->getProductListing(false, false, false, false, true, $virtuemart_category_id, $virtuemart_category_id); $productModel->_noLimit = false; $i = 0; $hash[$catHash] = array(); $hash[$catHash][$i]['value'] = 0; $hash[$catHash][$i]['text'] = vmText::_("COM_VIRTUEMART_LIST_EMPTY_OPTION"); foreach ($products as $product) { $hash[$catHash][$i]['value'] = $product->virtuemart_product_id; $hash[$catHash][$i]['text'] = $product->product_name. " (". $product->product_sku.")"; $i++; } } return $hash[$catHash]; } }