本文整理汇总了PHP中Mage_Eav_Model_Entity_Attribute::getSource方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Eav_Model_Entity_Attribute::getSource方法的具体用法?PHP Mage_Eav_Model_Entity_Attribute::getSource怎么用?PHP Mage_Eav_Model_Entity_Attribute::getSource使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Eav_Model_Entity_Attribute
的用法示例。
在下文中一共展示了Mage_Eav_Model_Entity_Attribute::getSource方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _addSearchCriteria
/**
* Add data about search criteria to object state
*
* @param Mage_Eav_Model_Entity_Attribute $attribute
* @param mixed $value
* @return Mage_CatalogSearch_Model_Advanced
*/
protected function _addSearchCriteria($attribute, $value)
{
$name = $attribute->getStoreLabel();
if (is_array($value)) {
if (isset($value['from']) && isset($value['to'])) {
if (!empty($value['from']) || !empty($value['to'])) {
if (isset($value['currency'])) {
$currencyModel = Mage::getModel('directory/currency')->load($value['currency']);
$from = $currencyModel->format($value['from'], array(), false);
$to = $currencyModel->format($value['to'], array(), false);
} else {
$currencyModel = null;
}
if (strlen($value['from']) > 0 && strlen($value['to']) > 0) {
// -
$value = sprintf('%s - %s', $currencyModel ? $from : $value['from'], $currencyModel ? $to : $value['to']);
} elseif (strlen($value['from']) > 0) {
// and more
$value = Mage::helper('catalogsearch')->__('%s and greater', $currencyModel ? $from : $value['from']);
} elseif (strlen($value['to']) > 0) {
// to
$value = Mage::helper('catalogsearch')->__('up to %s', $currencyModel ? $to : $value['to']);
}
} else {
return $this;
}
}
}
if (($attribute->getFrontendInput() == 'select' || $attribute->getFrontendInput() == 'multiselect') && is_array($value)) {
foreach ($value as $key => $val) {
$value[$key] = $attribute->getSource()->getOptionText($val);
if (is_array($value[$key])) {
$value[$key] = $value[$key]['label'];
}
}
$value = implode(', ', $value);
} else {
if ($attribute->getFrontendInput() == 'select' || $attribute->getFrontendInput() == 'multiselect') {
$value = $attribute->getSource()->getOptionText($value);
if (is_array($value)) {
$value = $value['label'];
}
} else {
if ($attribute->getFrontendInput() == 'boolean') {
$value = $value == 1 ? Mage::helper('catalogsearch')->__('Yes') : Mage::helper('catalogsearch')->__('No');
}
}
}
$this->_searchCriterias[] = array('name' => $name, 'value' => $value);
return $this;
}
示例2: _getSelectHtmlWithValue
/**
* Select field filter HTML with selected value.
*
* @param Mage_Eav_Model_Entity_Attribute $attribute
* @param mixed $value
* @return string
*/
protected function _getSelectHtmlWithValue(Mage_Eav_Model_Entity_Attribute $attribute, $value)
{
if ($attribute->getFilterOptions()) {
$options = array();
foreach ($attribute->getFilterOptions() as $value => $label) {
$options[] = array('value' => $value, 'label' => $label);
}
} else {
$options = $attribute->getSource()->getAllOptions(false);
}
if ($size = count($options)) {
// add empty vaue option
$firstOption = reset($options);
if ('' === $firstOption['value']) {
$options[key($options)]['label'] = '';
} else {
array_unshift($options, array('value' => '', 'label' => ''));
}
$selectBlock = new Mage_Core_Block_Html_Select(array('name' => $this->getFilterElementName($attribute->getAttributeCode()), 'id' => $this->getFilterElementId($attribute->getAttributeCode()), 'class' => 'select', 'extra_params' => 'style="width:280px"'));
return $selectBlock->setOptions($options)->setValue($value)->getHtml();
} else {
return $this->_helper->__('Attribute does not has options, so filtering is impossible');
}
}
示例3: _applyTypeSpecificConfig
/**
* Apply configuration specific for different element type
*
* @param string $inputType
* @param Varien_Data_Form_Element_Abstract $element
* @param Mage_Eav_Model_Entity_Attribute $attribute
*/
protected function _applyTypeSpecificConfig($inputType, $element, Mage_Eav_Model_Entity_Attribute $attribute)
{
switch ($inputType) {
case 'select':
$element->setValues($attribute->getSource()->getAllOptions(true, true));
break;
case 'multiselect':
$element->setValues($attribute->getSource()->getAllOptions(false, true));
$element->setCanBeEmpty(true);
break;
case 'date':
$element->setImage($this->getViewFileUrl('images/grid-cal.gif'));
$element->setDateFormat(Mage::app()->getLocale()->getDateFormatWithLongYear());
break;
case 'multiline':
$element->setLineCount($attribute->getMultilineCount());
break;
default:
break;
}
}
示例4: getAttributeAdminLabel
/**
* Get Human Readable label for attribute value option
*
* @param Mage_Eav_Model_Entity_Attribute $attribute
* @param int|string $attributeValueId
*
* @return string|boolean
*/
public function getAttributeAdminLabel($attribute, $attributeValueId)
{
if ($attribute->getFrontendInput() == 'select') {
return $attribute->getSource()->getOptionText($attributeValueId);
}
return false;
}
示例5: _getSelectHtmlWithValue
/**
* Select field filter HTML with selected value.
*
* @param Mage_Eav_Model_Entity_Attribute $attribute
* @param mixed $value
* @return string
*/
protected function _getSelectHtmlWithValue(Mage_Eav_Model_Entity_Attribute $attribute, $value)
{
if ($attribute->getFilterOptions()) {
$options = array();
foreach ($attribute->getFilterOptions() as $value => $label) {
$options[] = array('value' => $value, 'label' => $label);
}
} else {
$options = $attribute->getSource()->getAllOptions(false);
}
if ($size = count($options)) {
// add empty vaue option
$firstOption = reset($options);
if ('' === $firstOption['value']) {
$options[key($options)]['label'] = '';
} else {
array_unshift($options, array('value' => '', 'label' => ''));
}
$arguments = array('name' => $this->getFilterElementName($attribute->getAttributeCode()), 'id' => $this->getFilterElementId($attribute->getAttributeCode()), 'class' => 'select select-export-filter');
/** @var $selectBlock Mage_Core_Block_Html_Select */
$selectBlock = $this->_layout->getBlockFactory()->createBlock('Mage_Core_Block_Html_Select', $arguments);
return $selectBlock->setOptions($options)->setValue($value)->getHtml();
} else {
return Mage::helper('Mage_ImportExport_Helper_Data')->__('Attribute does not has options, so filtering is impossible');
}
}
示例6: _getAttributeValue
/**
* Retrieves attribute value
*
* @param array $row
* @param Mage_Eav_Model_Entity_Attribute $attribute
* @return mixed|null
*/
protected function _getAttributeValue($row, $attribute)
{
if (isset($row[$attribute->getAttributeCode()]) && !is_array($row[$attribute->getAttributeCode()])) {
$value = $row[$attribute->getAttributeCode()];
} elseif ($attribute->getIsRequired() && $attribute->getDefaultValue() !== null && $attribute->getDefaultValue() !== '' && !is_array($attribute->getDefaultValue())) {
$value = $attribute->getDefaultValue();
} else {
$value = null;
}
if ($attribute->usesSource() && $value !== null) {
if ($attribute->getSource() instanceof Mage_Eav_Model_Entity_Attribute_Source_Abstract) {
$value = $attribute->getSource()->getOptionId($value);
} else {
$value = $this->_getOptionIdNonAttributeSource($attribute->getSource()->getAllOptions(), $value);
}
}
return $value;
}