本文整理汇总了PHP中Mage_Catalog_Model_Resource_Eav_Attribute::getSourceModel方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Catalog_Model_Resource_Eav_Attribute::getSourceModel方法的具体用法?PHP Mage_Catalog_Model_Resource_Eav_Attribute::getSourceModel怎么用?PHP Mage_Catalog_Model_Resource_Eav_Attribute::getSourceModel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Catalog_Model_Resource_Eav_Attribute
的用法示例。
在下文中一共展示了Mage_Catalog_Model_Resource_Eav_Attribute::getSourceModel方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: 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 Mage::helper('Mage_Catalog_Helper_Data')->__('N/A');
}
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 (string) $value == '' ? Mage::helper('Mage_Catalog_Helper_Data')->__('No') : $value;
}
示例2: isAttributeWithOptions
/**
* Returns true if given attribute has options
* @param Mage_Catalog_Model_Resource_Eav_Attribute $attribute
* @return bool
*/
public function isAttributeWithOptions(Mage_Catalog_Model_Resource_Eav_Attribute $attribute)
{
$model = Mage::getModel($attribute->getSourceModel());
return $attribute->usesSource() && $attribute->getBackendType() == 'int' && $model instanceof Mage_Eav_Model_Entity_Attribute_Source_Table;
}
示例3: isUsingOptions
/**
* Checks if attribute is using options.
*
* @param Mage_Catalog_Model_Resource_Eav_Attribute $attribute
* @return bool
*/
public function isUsingOptions($attribute)
{
$sourceModel = Mage::getModel($attribute->getSourceModel());
$backendType = $attribute->getBackendType();
return $attribute->usesSource() && ($backendType == 'int' && $sourceModel instanceof Mage_Eav_Model_Entity_Attribute_Source_Table) || $backendType == 'varchar' && $attribute->getFrontendInput() == 'multiselect';
}
示例4: 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 : ' ';
}
示例5: _getAttributeType
/**
* Returns attribute type for indexation.
*
* @param Mage_Catalog_Model_Resource_Eav_Attribute $attribute Attribute
*
* @return string
*/
protected function _getAttributeType($attribute)
{
$type = 'string';
if ($attribute->getBackendType() == 'int' || $attribute->getFrontendClass() == 'validate-digits') {
$type = 'integer';
} elseif ($attribute->getBackendType() == 'decimal') {
$type = 'double';
} elseif ($attribute->getSourceModel() == 'eav/entity_attribute_source_boolean') {
$type = 'boolean';
} elseif ($attribute->getBackendType() == 'datetime') {
$type = 'date';
} elseif ($attribute->usesSource() && $attribute->getSourceModel() === null) {
$type = 'integer';
} else {
if ($attribute->usesSource()) {
$type = 'string';
}
}
return $type;
}
示例6: _getAttributeType
/**
* Returns attribute type for indexation.
*
* @param Mage_Catalog_Model_Resource_Eav_Attribute $attribute
* @return string
*/
protected function _getAttributeType($attribute)
{
$type = 'string';
if ($attribute->getBackendType() == 'decimal') {
$type = 'double';
} elseif ($attribute->getSourceModel() == 'eav/entity_attribute_source_boolean') {
$type = 'boolean';
} elseif ($attribute->getBackendType() == 'datetime') {
$type = 'date';
} elseif ($this->_helper->isUsingOptions($attribute)) {
$type = 'option';
// custom type to build an object for option id (facets) and label (search)
} elseif ($attribute->usesSource() || $attribute->getFrontendClass() == 'validate-digits') {
$type = 'integer';
}
return $type;
}
示例7: 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;
}