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


PHP Mage_Catalog_Model_Resource_Eav_Attribute::getSource方法代码示例

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


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

示例1: _getSearchParam

 /**
  * Retrieve filter array
  *
  * @param Enterprise_Search_Model_Resource_Collection $collection
  * @param Mage_Catalog_Model_Resource_Eav_Attribute $attribute
  * @param string|array $value
  * @return array
  */
 protected function _getSearchParam($collection, $attribute, $value)
 {
     if (empty($value) || isset($value['from']) && empty($value['from']) && isset($value['to']) && empty($value['to'])) {
         return false;
     }
     $localeCode = Mage::app()->getStore()->getConfig(Mage_Core_Model_Locale::XML_PATH_DEFAULT_LOCALE);
     $languageCode = Mage::helper('enterprise_search')->getLanguageCodeByLocaleCode($localeCode);
     $languageSuffix = $languageCode ? '_' . $languageCode : '';
     $field = $attribute->getAttributeCode();
     $backendType = $attribute->getBackendType();
     $frontendInput = $attribute->getFrontendInput();
     if ($frontendInput == 'multiselect') {
         $field = 'attr_multi_' . $field;
     } elseif ($frontendInput == 'select' || $frontendInput == 'boolean') {
         $field = 'attr_select_' . $field;
     } elseif ($backendType == 'decimal') {
         $field = 'attr_decimal_' . $field;
     } elseif ($backendType == 'datetime') {
         $field = 'attr_datetime_' . $field;
         if (is_array($value)) {
             foreach ($value as &$val) {
                 if (!is_empty_date($val)) {
                     $date = new Zend_Date($val, Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT));
                     $val = $date->toString(Zend_Date::ISO_8601) . 'Z';
                 }
             }
         } else {
             if (!is_empty_date($value)) {
                 $date = new Zend_Date($value, Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT));
                 $value = $date->toString(Zend_Date::ISO_8601) . 'Z';
             }
         }
     } elseif (in_array($backendType, $this->_textFieldTypes)) {
         $field .= $languageSuffix;
     }
     if ($attribute->usesSource()) {
         $attribute->setStoreId(Mage::app()->getStore()->getId());
         foreach ($value as &$val) {
             $val = $attribute->getSource()->getOptionText($val);
         }
     }
     if (empty($value)) {
         return array();
     } else {
         return array($field => $value);
     }
 }
开发者ID:jpbender,项目名称:mage_virtual,代码行数:55,代码来源:Advanced.php

示例2: _getAttributeOptionIdByValue

 private function _getAttributeOptionIdByValue(Mage_Catalog_Model_Resource_Eav_Attribute $attribute, $value)
 {
     $options = $attribute->getSource()->getAllOptions(false);
     foreach ($options as $option) {
         if ($option['label'] == $value) {
             return $option['value'];
         }
     }
     return false;
 }
开发者ID:mblarsen,项目名称:magento-configurator,代码行数:10,代码来源:Products.php

示例3: getInsertValues

 /**
  * Retrieve data to be insterted after processing attribute
  *
  * @param Mage_Catalog_Model_Resource_Eav_Attribute $attribute
  * @param int $storeId
  * @return array
  */
 protected function getInsertValues($attribute, $storeId)
 {
     $options = array();
     if ($attribute->getSourceModel()) {
         $options = $attribute->getSource()->getAllOptions();
     } else {
         $collection = Mage::getResourceModel('eav/entity_attribute_option_collection')->setStoreFilter($storeId)->setPositionOrder('asc')->setAttributeFilter($attribute->getId())->load();
         $options = $collection->toOptionArray();
     }
     $data = array();
     foreach ($options as $option) {
         // Generate url value
         $urlValue = $this->getHelper()->transliterate($option['label']);
         // Check if this url key is taken and add -{count}
         $count = 0;
         $origUrlValue = $urlValue;
         do {
             $found = false;
             foreach ($data as $line) {
                 if ($line['url_value'] == $urlValue) {
                     $found = true;
                 }
             }
             if ($found) {
                 $urlValue = $origUrlValue . '-' . ++$count;
             }
         } while ($found);
         $data[] = array('attribute_code' => $attribute->getAttributeCode(), 'attribute_id' => $attribute->getId(), 'store_id' => $storeId, 'option_id' => $option['value'], 'url_key' => $this->getHelper()->transliterate($attribute->getStoreLabel($storeId)), 'url_value' => $urlValue);
     }
     return $data;
 }
开发者ID:kesonno,项目名称:improved-magento-layered-navigation,代码行数:38,代码来源:Attribute.php


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