示例#1
0
 public function quoteItemHasCustomTagOptions(Mage_Sales_Model_Quote_Item $quoteItem)
 {
     return array_reduce($quoteItem->getOptions(), function ($acc, Mage_Sales_Model_Quote_Item_Option $option) {
         if ($acc || !preg_match('/^option_/', $option->getCode())) {
             return $acc;
         }
         return !!Mage::getResourceModel('catalog/product_option_value_collection')->addFieldToFilter('option_type_id', $option->getValue())->addFieldToFilter('is_custom_tag', '1')->setPageSize(1)->load()->getSize();
     }, false);
 }
示例#2
0
 /**
  * Generate hash from cart item options data.
  *
  * @param Mage_Sales_Model_Quote_Item
  * @param array $avoidCodes
  * @return string
  */
 public function getCartItemOptionHash(Mage_Sales_Model_Quote_Item $item, array $avoidCodes)
 {
     /* @var $product Mage_Catalog_Model_Product */
     $product = $item->getProduct();
     if ($product && $product->getId()) {
         $options = $item->getOptions();
         $optionHash = $product->getId();
         if (count($options)) {
             foreach ($options as $o) {
                 if (!in_array($o->getCode(), $avoidCodes)) {
                     $optionHash .= $o->getCode() . '_' . $o->getValue();
                 }
             }
         }
     }
     if (!is_null($optionHash)) {
         $optionHash = sha1($optionHash);
     }
     return $optionHash;
 }