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


PHP Mage_Catalog_Model_Product_Option::saveOptions方法代码示例

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


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

示例1: saveOptions

 public function saveOptions()
 {
     $helper = Mage::helper('customoptions');
     if (!$helper->isEnabled() || Mage::app()->getRequest()->getControllerName() != 'catalog_product' && Mage::app()->getRequest()->getControllerName() != 'adminhtml_catalog_product') {
         return parent::saveOptions();
     }
     $options = $this->getOptions();
     $post = Mage::app()->getRequest()->getPost();
     $productId = $this->getProduct()->getId();
     $storeId = $this->getProduct()->getStoreId();
     // bug magento fix
     if ($storeId > 0 && isset($post['copy_to_stores'][$storeId]) && $post['copy_to_stores'][$storeId] == 0) {
         return $this;
     }
     $relation = Mage::getSingleton('customoptions/relation');
     $connection = Mage::getSingleton('core/resource')->getConnection('core_write');
     $tablePrefix = (string) Mage::getConfig()->getTablePrefix();
     if (isset($post['image_delete'])) {
         $productOption = Mage::getModel('catalog/product_option');
         foreach ($post['image_delete'] as $optionId) {
             $connection->update($tablePrefix . 'catalog_product_option', array('image_path' => ''), 'option_id = ' . intval($optionId));
             $helper->deleteOptionFile(null, $optionId, false);
         }
     }
     foreach ($options as $option) {
         if (isset($option['option_id'])) {
             $connection->update($tablePrefix . 'catalog_product_option_type_value', array('default' => 0), 'option_id = ' . $option['option_id']);
             if (isset($option['default'])) {
                 foreach ($option['default'] as $value) {
                     $connection->update($tablePrefix . 'catalog_product_option_type_value', array('default' => 1), 'option_type_id = ' . $value);
                 }
             }
         }
     }
     if ($helper->isCustomerGroupsEnabled()) {
         $options = $this->getOptions();
         foreach ($options as $key => $option) {
             if (isset($option['customer_groups'])) {
                 $options[$key]['customer_groups'] = implode(',', $option['customer_groups']);
             }
         }
         $this->setOptions($options);
     }
     if ($helper->isStoreViewsEnabled()) {
         $options = $this->getOptions();
         foreach ($options as $key => $option) {
             if (isset($option['store_views'])) {
                 $options[$key]['store_views'] = implode(',', $option['store_views']);
             }
         }
         $this->setOptions($options);
     }
     // qnty_input, exclude_first_image
     $options = $this->getOptions();
     foreach ($options as $key => $option) {
         if (!isset($option['qnty_input']) || $this->getGroupByType($option['type']) != self::OPTION_GROUP_SELECT || $option['type'] == 'multiple' || $option['type'] == 'hidden') {
             $options[$key]['qnty_input'] = 0;
         }
         if (!isset($option['exclude_first_image']) || $this->getGroupByType($option['type']) != self::OPTION_GROUP_SELECT) {
             $options[$key]['exclude_first_image'] = 0;
         }
         if ($helper->isSkuNameLinkingEnabled() && (!isset($option['scope']['title']) || $option['scope']['title'] != 1) && (!isset($option['title']) || $option['title'] == '') && $this->getGroupByType($option['type']) != self::OPTION_GROUP_SELECT && $option['sku']) {
             $options[$key]['title'] = $helper->getProductNameBySku($option['sku'], $storeId);
         }
     }
     $this->setOptions($options);
     // original code m1510 parent::saveOptions();
     foreach ($this->getOptions() as $option) {
         $this->setData($option)->setData('product_id', $productId)->setData('store_id', $storeId);
         if ($this->getData('option_id') == '0') {
             $this->unsetData('option_id');
         } else {
             $this->setId($this->getData('option_id'));
         }
         $isEdit = (bool) $this->getId() ? true : false;
         if ($this->getData('is_delete') == '1') {
             if ($isEdit) {
                 $this->getValueInstance()->deleteValue($this->getId());
                 $this->deletePrices($this->getId());
                 $this->deleteTitles($this->getId());
                 $this->delete();
                 $helper->deleteOptionFile(null, $this->getId(), false);
             }
         } else {
             if ($this->getData('previous_type') != '') {
                 $previousType = $this->getData('previous_type');
                 //if previous option has dfferent group from one is came now need to remove all data of previous group
                 if ($this->getGroupByType($previousType) != $this->getGroupByType($this->getData('type'))) {
                     switch ($this->getGroupByType($previousType)) {
                         case self::OPTION_GROUP_SELECT:
                             $this->unsetData('values');
                             if ($isEdit) {
                                 $this->getValueInstance()->deleteValue($this->getId());
                             }
                             break;
                         case self::OPTION_GROUP_FILE:
                             $this->setData('file_extension', '');
                             $this->setData('image_size_x', '0');
                             $this->setData('image_size_y', '0');
                             break;
//.........这里部分代码省略.........
开发者ID:xiaoguizhidao,项目名称:cupboardglasspipes.ecomitize.com,代码行数:101,代码来源:Option.php

示例2: saveOptions

 /**
  * Save options.
  *
  * @return Mage_Catalog_Model_Product_Option
  */
 public function saveOptions()
 {
     /* {#AITOC_COMMENT_END#}
              Mage::app()->removeCache('aitsys_used_product_count_aitcg_count');
              
              if($this->getProduct()->getData('status') == Mage_Catalog_Model_Product_Status::STATUS_ENABLED) {
                 
                 $bHasAitOption = false;
                 $updateOptions = array();
                 foreach ($this->getOptions() as $iKey => $aOption)
                 {
                     if( Mage::helper('aitcg/options')->checkAitOption( $aOption ) ) {
                         if($aOption['option_id'] == 0) {
                             $bHasAitOption = true;
                             break;
                         }
                         $updateOptions[ $aOption['option_id'] ] = $aOption['is_delete'];
                     }
                 }
     
                 if($bHasAitOption == false) {
                     foreach ($this->getProduct()->getOptions() as $iKey => $aOption)
                     {
                         if(Mage::helper('aitcg/options')->checkAitOption( $aOption )) {
                             if(!isset($updateOptions[ $aOption->getId() ]) || $updateOptions[ $aOption->getId() ]!=1) {
                                 $bHasAitOption = true;
                                 break;
                             }
                         }
                     }
                 }
     
                 if($bHasAitOption) {
                     $performer = Aitoc_Aitsys_Abstract_Service::get()->platform()->getModule('Aitoc_Aitcg')->getLicense()->getPerformer();
                     $ruler = $performer->getRuler();
                     $ruler->checkRuleAdd($this->getProduct(), true);
                 }
     
                 
             }
             {#AITOC_COMMENT_START#} */
     parent::saveOptions();
 }
开发者ID:Eximagen,项目名称:BulletMagento,代码行数:48,代码来源:Option.php


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