public static function getConnection() { if (!self::$_connection) { self::$_connection = self::getResource()->getConnection('oemdb_read'); } return self::$_connection; }
public function getPartNumbers($productIds) { if (is_array($productIds)) { $productIds = array_map('addslashes', $productIds); $condition = 'entity_id IN (' . implode(',', $productIds) . ')'; } else { $condition = 'entity_id=' . (int) $productIds; } $skus = Vikont_ARIOEM_Helper_Db::getTableValues('catalog/product', array('id' => 'entity_id', 'sku'), $condition); $ids2skus = array(); foreach ($skus as $item) { $ids2skus[$item['sku']] = $item['id']; } $data = Vikont_ARIOEM_Helper_OEM::getPartNumbers(array_keys($ids2skus)); $result = array(); foreach ($data as $item) { $partNumbers = array(); foreach ($item as $fieldName => $value) { if ('sku' == $fieldName) { continue; } if ($value) { $partNumbers[] = $value; } } if (count($partNumbers)) { $result[$ids2skus[$item['sku']]] = $partNumbers; } } return $result; }
/** * Return customer quote OEM items * * @return array */ public function getCartOEMItems() { if (null === self::$_filteredItems) { self::$_filteredItems = array(); $oemAttrSetId = Mage::getStoreConfig('arioem/add_to_cart/oem_product_attr_set_id'); $items = Mage::getSingleton('checkout/session')->getQuote()->getAllVisibleItems(); $configHelper = Mage::helper('catalog/product_configuration'); $brandOptionId = Mage::getStoreConfig('arioem/add_to_cart/dummy_product_brand_option_id'); $partNumberOptionId = Mage::getStoreConfig('arioem/add_to_cart/dummy_product_partNo_option_id'); foreach ($items as $item) { if ($oemAttrSetId == $item->getProduct()->getAttributeSetId()) { $qty = $item->getQty(); $options = Vikont_ARIOEM_Helper_Data::indexArray($configHelper->getCustomOptions($item), 'option_id'); $brandCode = Vikont_ARIOEM_Model_Source_Oembrand::getOptionCode($options[$brandOptionId]['value']); $partNumber = $options[$partNumberOptionId]['value']; $oemData = $this->getOEMData($brandCode, $partNumber); self::$_filteredItems[$item->getId()] = array('brandCode' => $brandCode, 'partNumber' => $partNumber, 'name' => $item->getName(), 'price' => $item->getPrice(), 'rowTotal' => $item->getRowTotal(), 'qty' => $qty); } } } return self::$_filteredItems; }