Example #1
0
 /**
  * Prepare product
  *
  * @param array $productRow
  * @return Varien_Object
  */
 protected function _prepareProduct(array $productRow)
 {
     $product = new Varien_Object();
     $product->setId($productRow[$this->getIdFieldName()]);
     $productLoaded = Mage::getModel('catalog/product')->setData($productRow);
     $requestPath = $productLoaded->getUrl();
     $idPath = sprintf('product/%d', $productLoaded->getEntityId());
     if (($categoryIdAsc = Mage::helper('ascurl')->getCategoryIdAsc($productLoaded, true)) && Mage::getStoreConfig(self::USE_CANONICAL_URL_AT_GOOGLE_SITEMAP, $productLoaded->getStoreId())) {
         $idPath = sprintf('%s/%d', $idPath, $categoryIdAsc);
     }
     $rewrited = $this->_getWriteAdapter()->query(str_replace('to_replace', $idPath, $this->rewriteQuery))->fetch();
     if (isset($rewrited['request_path'])) {
         $product->setUrl($rewrited['request_path']);
     }
     try {
         if (Mage::getStoreConfig(AW_Ascurl_Model_Sitemap::USE_IMAGES, $productLoaded->getStoreId())) {
             $product->setImageUrl($productLoaded->getImageUrl());
         }
     } catch (Exception $ex) {
     }
     return $product;
 }
Example #2
0
 private function _getProductInformationWork($item, $getInfo, $hasChildren, $children)
 {
     $getProduct = in_array('product', $getInfo);
     $getImage = in_array('image_url', $getInfo);
     $getLink = in_array('product_url', $getInfo);
     $result = new Varien_Object();
     $result->setProductId((int) $item->getProductId());
     $result->setIsConfigurable(false);
     $result->setIsBundle(false);
     $result->setSku($item->getSku());
     if (Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE == $item->getProductType() && $hasChildren) {
         $result->setIsConfigurable(true);
         $result->setParentId($result->getProductId());
         $result->setProductId((int) $children[0]->getProductId());
     }
     if (Mage_Catalog_Model_Product_Type::TYPE_BUNDLE == $item->getProductType() && $hasChildren) {
         $result->setIsBundle(true);
         $product = Mage::getModel('catalog/product')->load($result->getProductId());
         $result->setSku($product->getSku());
         $result->setProduct($product);
     } else {
         if ($getProduct || $getImage || $getLink && !$result->getIsConfigurable()) {
             $result->setProduct(Mage::getModel('catalog/product')->load($result->getProductId()));
         }
     }
     if ($getLink) {
         $result->setProductUrl($this->getProductUrl($result->getIsConfigurable() ? Mage::getModel('catalog/product')->load($result->getParentId()) : $result->getProduct()));
     }
     if ($getImage) {
         $result->setImageUrl($this->getProductImage($result['product']));
     }
     return $result;
 }