当前位置: 首页>>代码示例>>PHP>>正文


PHP Mage_Catalog_Model_Product::hasData方法代码示例

本文整理汇总了PHP中Mage_Catalog_Model_Product::hasData方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Catalog_Model_Product::hasData方法的具体用法?PHP Mage_Catalog_Model_Product::hasData怎么用?PHP Mage_Catalog_Model_Product::hasData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Mage_Catalog_Model_Product的用法示例。


在下文中一共展示了Mage_Catalog_Model_Product::hasData方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _createProduct

 /**
  * @param Mage_Catalog_Model_Product $product
  * @return array
  */
 protected function _createProduct(Mage_Catalog_Model_Product $product)
 {
     $brand = null;
     if ($product->hasData('brand')) {
         $brand = $product->getAttributeText('brand');
     }
     $manufacturer = null;
     if ($product->hasData('manufacturer')) {
         $manufacturer = $product->getAttributeText('manufacturer');
     }
     $data = array('id' => $product->getEntityId(), 'productTypeId' => $this->_getProductTypeId($product), 'name' => array($this->_createLocalizedValue($product->getName())), 'shortDescription' => array($this->_createLocalizedValue($product->getShortDescription())), 'description' => array($this->_createLocalizedValue($product->getDescription())), 'GTIN' => $product->hasData('gtin') ? $product->getAttributeText('gtin') : null, 'brand' => !empty($brand) ? array($this->_createLocalizedValue($brand)) : null, 'manufacturer' => !empty($manufacturer) ? array($this->_createLocalizedValue($manufacturer)) : null, 'MPN' => $product->hasData('mpn') ? $product->getAttributeText('mpn') : null, 'MSRP' => $this->_getMsrp($product), 'MAP' => $product->hasData('map') ? $this->_getCurrencyAmount($product->getAttributeText('map')) : null, 'images' => $this->_createImageUrls($product), 'attributes' => $this->_createAttributes($product), 'variationFactors' => $this->_createVariationFactors($product), 'skuList' => $this->_createSkus($product));
     return $data;
 }
开发者ID:ridhoq,项目名称:mxpi-twitter,代码行数:17,代码来源:Product.php

示例2: hasLinks

 /**
  * Check if product has links
  *
  * @param Mage_Catalog_Model_Product $product
  * @return boolean
  */
 public function hasLinks($product)
 {
     if ($product->hasData('links_exist')) {
         return $product->getData('links_exist');
     }
     return count($this->getLinks($product)) > 0;
 }
开发者ID:nemphys,项目名称:magento2,代码行数:13,代码来源:Type.php

示例3: getAdjustmentAmount

 public function getAdjustmentAmount(Mage_Catalog_Model_Product $product, $default = 0.0)
 {
     $default = round($default, 2);
     if ($product->hasData('lokey_pisa_amount')) {
         $adjustment = round($product->getData('lokey_pisa_amount'), 2);
     } else {
         $adjustment = $default;
     }
     return max($adjustment, 0.0);
 }
开发者ID:xxorax,项目名称:Lokey_PerItemShipping,代码行数:10,代码来源:Data.php

示例4: isBundleProductSimple

 /**
  * @param Mage_Catalog_Model_Product $product
  * @return bool
  * @todo
  */
 public function isBundleProductSimple(Mage_Catalog_Model_Product $product)
 {
     if (!$product->hasData('is_bundle_simple')) {
         /** @var Ho_SimpleBundle_Model_Bundle_Product_Type $typeInstance */
         $typeInstance = $product->getTypeInstance(true);
         $optionsCollection = $typeInstance->getOptionsCollection($product);
         $optionsCollection->addFieldToFilter('type', array('neq' => 'fixed'));
         $select = $optionsCollection->getSelect();
         $select->reset('columns');
         $select->columns('type');
         $result = $optionsCollection->getConnection()->fetchCol($select);
         $product->setData('is_bundle_simple', !count($result));
     }
     return $product->getData('is_bundle_simple');
 }
开发者ID:EliasZ,项目名称:Ho_SimpleBundle,代码行数:20,代码来源:Data.php

示例5: getProductSplashPage

 /**
  * Retrieve a splash page for the product / attribute code combination
  *
  * @param Mage_Catalog_Model_Product $product
  * @param $attributeCode
  * @return Fishpig_AttributeSplash_Model_Splash|null
  */
 public function getProductSplashPage(Mage_Catalog_Model_Product $product, $attributeCode)
 {
     $key = $attributeCode . '_splash_page';
     if (!$product->hasData($key)) {
         $product->setData($key, false);
         $collection = Mage::getResourceModel('attributeSplash/page_collection')->addStoreFilter(Mage::app()->getStore())->addAttributeCodeFilter($attributeCode)->addProductFilter($product)->setPageSize(1)->setCurPage(1)->load();
         if (count($collection) > 0) {
             $page = $collection->getFirstItem();
             if ($page->getId()) {
                 $product->setData($key, $page);
             }
         }
     }
     return $product->getData($key);
 }
开发者ID:sreichel,项目名称:magento-Fishpig-Attribute-Splash-Pages,代码行数:22,代码来源:Data.php

示例6: loadProductSubscriptionData

 /**
  * @param Mage_Catalog_Model_Product $product
  *
  * @return $this
  */
 public function loadProductSubscriptionData(Mage_Catalog_Model_Product $product)
 {
     if ($product->hasData('adyen_subscription_data')) {
         return $this;
     }
     /** @var Mage_Catalog_Model_Product $product */
     if ($product->getData('adyen_subscription_type') > 0) {
         $subscriptionCollection = Mage::getResourceModel('adyen_subscription/product_subscription_collection')->addProductFilter($product);
         if (!$product->getStore()->isAdmin()) {
             $subscriptionCollection->addStoreFilter($product->getStore());
         }
         $subscriptionCollection->setOrder('sort_order', 'ASC');
         $product->setData('adyen_subscription_data', $subscriptionCollection);
     } else {
         $product->setData('adyen_subscription_data', null);
     }
     return $this;
 }
开发者ID:Adyen,项目名称:adyen-magento-subscription,代码行数:23,代码来源:Product.php

示例7: _resizeProductImage

 /**
  * Resize specified type of image on the product for use in the fallback and returns the image URL
  * or returns the image URL for the specified image path if present
  *
  * @param Mage_Catalog_Model_Product $product
  * @param string $type
  * @param bool $keepFrame
  * @param string $image
  * @param bool $placeholder
  * @return string|bool
  */
 protected function _resizeProductImage($product, $type, $keepFrame, $image = null, $placeholder = false)
 {
     $hasTypeData = $product->hasData($type) && $product->getData($type) != 'no_selection';
     if ($image == 'no_selection') {
         $image = null;
     }
     if ($hasTypeData || $placeholder || $image) {
         $helper = Mage::helper('catalog/image')->init($product, $type, $image)->keepFrame($hasTypeData || $image ? $keepFrame : false);
         $size = Mage::getStoreConfig(Mage_Catalog_Helper_Image::XML_NODE_PRODUCT_BASE_IMAGE_WIDTH);
         if ($type == 'small_image') {
             $size = Mage::getStoreConfig(Mage_Catalog_Helper_Image::XML_NODE_PRODUCT_SMALL_IMAGE_WIDTH);
         }
         if (is_numeric($size)) {
             if ($type == "small_image") {
                 $helper->constrainOnly(true)->resize(500, 500);
             } else {
                 $helper->constrainOnly(true)->resize($size);
             }
         }
         return (string) $helper;
     }
     return false;
 }
开发者ID:nandodrw,项目名称:zapatos,代码行数:34,代码来源:Mediafallback.php

示例8: getProductAttributeValue

 /**
  * Retrieve Product Attribute Value
  *
  * @param Mage_Catalog_Model_Product $product
  * @param Mage_Catalog_Model_Resource_Eav_Attribute $attribute
  * @return string
  */
 public function getProductAttributeValue($product, $attribute)
 {
     if (!$product->hasData($attribute->getAttributeCode())) {
         return ' ';
     }
     if ($attribute->getSourceModel() || in_array($attribute->getFrontendInput(), array('select', 'boolean', 'multiselect'))) {
         //$value = $attribute->getSource()->getOptionText($product->getData($attribute->getAttributeCode()));
         $value = $attribute->getFrontend()->getValue($product);
     } else {
         $value = $product->getData($attribute->getAttributeCode());
     }
     return $value ? $value : ' ';
 }
开发者ID:ronseigel,项目名称:agent-ohm,代码行数:20,代码来源:Product_Compare_List.php

示例9: getSelectionsCollection

 /**
  * Retrive bundle selections collection based on used options
  *
  * @param array $optionIds
  * @param Mage_Catalog_Model_Product $product
  * @return Mage_Bundle_Model_Resource_Selection_Collection
  */
 public function getSelectionsCollection($optionIds, $product)
 {
     $keyOptionIds = is_array($optionIds) ? implode('_', $optionIds) : '';
     $key = $this->_keySelectionsCollection . $keyOptionIds;
     if (!$product->hasData($key)) {
         $storeId = $product->getStoreId();
         $selectionsCollection = Mage::getResourceModel('Mage_Bundle_Model_Resource_Selection_Collection')->addAttributeToSelect(Mage::getSingleton('Mage_Catalog_Model_Config')->getProductAttributes())->addAttributeToSelect('tax_class_id')->setFlag('require_stock_items', true)->setFlag('product_children', true)->setPositionOrder()->addStoreFilter($this->getStoreFilter($product))->setStoreId($storeId)->addFilterByRequiredOptions()->setOptionIdsFilter($optionIds);
         if (!Mage::helper('Mage_Catalog_Helper_Data')->isPriceGlobal() && $storeId) {
             $websiteId = Mage::app()->getStore($storeId)->getWebsiteId();
             $selectionsCollection->joinPrices($websiteId);
         }
         $product->setData($key, $selectionsCollection);
     }
     return $product->getData($key);
 }
开发者ID:natxetee,项目名称:magento2,代码行数:22,代码来源:Type.php

示例10: getAssociatedProductIds

 /**
  * Retrieve related products identifiers
  *
  * @param Mage_Catalog_Model_Product $product
  * @return array
  */
 public function getAssociatedProductIds($product)
 {
     if (!$product->hasData($this->_keyAssociatedProductIds)) {
         $associatedProductIds = array();
         foreach ($this->getAssociatedProducts($product) as $item) {
             $associatedProductIds[] = $item->getId();
         }
         $product->setData($this->_keyAssociatedProductIds, $associatedProductIds);
     }
     return $product->getData($this->_keyAssociatedProductIds);
 }
开发者ID:natxetee,项目名称:magento2,代码行数:17,代码来源:Grouped.php

示例11: getProductUrl

 /**
  * Get product url
  *
  * @param  Mage_Catalog_Model_Product $product
  * @param  bool $useSid
  * @return string
  */
 public function getProductUrl($product, $useSid = null)
 {
     if ($useSid === null) {
         $useSid = Mage::app()->getUseSessionInUrl();
     }
     $categoryId = $product->getCategoryId() && !$product->getDoNotUseCategoryId() ? $product->getCategoryId() : 0;
     $cacheUrlKey = sprintf('url_%d_%d', $categoryId, $useSid);
     $url = $product->getData($cacheUrlKey);
     if (is_null($url)) {
         if ($product->getStoreId()) {
             $this->getUrlInstance()->setStore($product->getStoreId());
         }
         // auto add SID to URL
         $originalSid = $this->getUrlInstance()->getUseSession();
         if ($originalSid != $useSid) {
             $this->getUrlInstance()->setUseSession($useSid);
         }
         if ($product->hasData('request_path') && $product->getRequestPath() != '') {
             $this->setData($cacheUrlKey, $this->getUrlInstance()->getDirectUrl($product->getRequestPath()));
             $this->getUrlInstance()->setUseSession($originalSid);
             return $this->getData($cacheUrlKey);
         }
         Varien_Profiler::start('REWRITE: ' . __METHOD__);
         $rewrite = $this->getUrlRewrite();
         if ($product->getStoreId()) {
             $rewrite->setStoreId($product->getStoreId());
         } else {
             $rewrite->setStoreId(Mage::app()->getStore()->getId());
         }
         $idPath = 'product/' . $product->getId();
         if ($product->getCategoryId() && !$product->getDoNotUseCategoryId() && Mage::getStoreConfig('catalog/seo/product_use_categories')) {
             $idPath .= '/' . $product->getCategoryId();
         }
         $rewrite->loadByIdPath($idPath);
         //echo $this->getUrlInstance()->getBaseUrl();
         if ($rewrite->getId()) {
             $this->setData($cacheUrlKey, $this->getUrlInstance()->getDirectUrl($rewrite->getRequestPath()));
             Varien_Profiler::stop('REWRITE: ' . __METHOD__);
             $this->getUrlInstance()->setUseSession($originalSid);
             return $this->getData($cacheUrlKey);
         }
         Varien_Profiler::stop('REWRITE: ' . __METHOD__);
         Varien_Profiler::start('REGULAR: ' . __METHOD__);
         $url = $this->getUrlInstance()->getUrl('catalog/product/view', array('id' => $product->getId(), 's' => $product->getUrlKey(), 'category' => $product->getCategoryId()));
         $this->getUrlInstance()->setUseSession($originalSid);
         Varien_Profiler::stop('REGULAR: ' . __METHOD__);
     }
     return $url;
 }
开发者ID:jauderho,项目名称:magento-mirror,代码行数:56,代码来源:Url.php

示例12: loadProductRules

 /**
  * Load matched product rules to the product
  *
  * @param Mage_Catalog_Model_Product $product
  * @return $this
  */
 public function loadProductRules(Mage_Catalog_Model_Product $product)
 {
     if (!$product->hasData('matched_rules')) {
         $product->setMatchedRules($this->getResource()->getProductRuleIds($product->getId()));
     }
     return $this;
 }
开发者ID:okite11,项目名称:frames21,代码行数:13,代码来源:Rule.php

示例13: _writeOrderProductAttribute

 protected function _writeOrderProductAttribute(Mage_Catalog_Model_Product $product, XMLWriter $xml, $storeId = null)
 {
     // custom attributes are specified in Admin > Configuration > Sales > Auctane Shipstation API
     // static because attributes can be cached, they do not change during a request
     static $attrs = null;
     if (is_null($attrs)) {
         $attrs = Mage::getResourceModel('eav/entity_attribute_collection');
         $attrIds = explode(',', Mage::getStoreConfig('sales/auctaneapi/customattributes', $storeId));
         $attrs->addFieldToFilter('attribute_id', $attrIds);
     }
     /* @var $attr Mage_Eav_Model_Entity_Attribute */
     foreach ($attrs as $attr) {
         if ($product->hasData($attr->getName())) {
             // if an attribute has options/labels
             if (in_array($attr->getFrontendInput(), array('select', 'multiselect'))) {
                 $value = $product->getAttributeText($attr->getName());
                 if (is_array($value)) {
                     $value = implode(',', $value);
                 }
             } else {
                 $value = $product->getDataUsingMethod($attr->getName());
             }
             // fake an item option
             $option = array('value' => $value, 'label' => $attr->getFrontendLabel());
             $this->_writeOrderItemOption($option, $xml, $storeId);
         }
     }
 }
开发者ID:xiaoguizhidao,项目名称:bb,代码行数:28,代码来源:Export.php

示例14: _resizeProductImage

 /**
  * Resize specified type of image on the product for use in the fallback and returns the image URL
  * or returns the image URL for the specified image path if present
  *
  * @param Mage_Catalog_Model_Product $product
  * @param string $type
  * @param bool $keepFrame
  * @param string $image
  * @param bool $placeholder
  * @return string|bool
  */
 protected function _resizeProductImage($product, $type, $keepFrame, $image = null, $placeholder = false, $imgWidth = null, $imgHeight = null)
 {
     $hasTypeData = $product->hasData($type) && $product->getData($type) != 'no_selection';
     if ($image == 'no_selection') {
         $image = null;
     }
     if ($hasTypeData || $placeholder || $image) {
         $helper = Mage::helper('catalog/image')->init($product, $type, $image)->keepFrame($hasTypeData || $image ? $keepFrame : false);
         if ($keepFrame) {
             $helper->constrainOnly(FALSE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize($imgWidth);
         } else {
             if ($imgHeight != null) {
                 $helper->constrainOnly(true)->resize($imgWidth, $imgHeight);
             } else {
                 $helper->constrainOnly(true)->resize($imgWidth);
             }
         }
         return (string) $helper;
     }
     return false;
 }
开发者ID:staywithabhi,项目名称:porto,代码行数:32,代码来源:Mediafallback.php

示例15: getUsedProducts

 /**
  * Retrieve array of "subproducts"
  *
  * @param  Mage_Catalog_Model_Product $product
  * @param  array $requiredAttributeIds
  * @return array
  */
 public function getUsedProducts($product, $requiredAttributeIds = null)
 {
     Magento_Profiler::start('CONFIGURABLE:' . __METHOD__);
     if (!$product->hasData($this->_usedProducts)) {
         if (is_null($requiredAttributeIds) and is_null($product->getData($this->_configurableAttributes))) {
             // If used products load before attributes, we will load attributes.
             $this->getConfigurableAttributes($product);
             // After attributes loading products loaded too.
             Magento_Profiler::stop('CONFIGURABLE:' . __METHOD__);
             return $product->getData($this->_usedProducts);
         }
         $usedProducts = array();
         $collection = $this->getUsedProductCollection($product)->addAttributeToSelect('*')->addFilterByRequiredOptions();
         if (is_array($requiredAttributeIds)) {
             foreach ($requiredAttributeIds as $attributeId) {
                 $attribute = $this->getAttributeById($attributeId, $product);
                 if (!is_null($attribute)) {
                     $collection->addAttributeToFilter($attribute->getAttributeCode(), array('notnull' => 1));
                 }
             }
         }
         foreach ($collection as $item) {
             $usedProducts[] = $item;
         }
         $product->setData($this->_usedProducts, $usedProducts);
     }
     Magento_Profiler::stop('CONFIGURABLE:' . __METHOD__);
     return $product->getData($this->_usedProducts);
 }
开发者ID:nemphys,项目名称:magento2,代码行数:36,代码来源:Configurable.php


注:本文中的Mage_Catalog_Model_Product::hasData方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。