magento -- 修改代码让后台属性组合里的属性显示中文
piaoling 2011-07-18 14:13:35
Magento后台属性组合管理里的各个属性显示的是属性的code,也就是说,即便给每个属性加上了中文的标签(label),这里显示的依然是大片的英文,对一个不懂技术的后台管理者来说,这样多的英文时他们不愿意看到的,所以要想办法变一下。
打开/app/code/local/Mage/Adminhtml/Block/Catalog/Product/Attribute/Set/Main.php文件,找到几个用来显示的代码,替换成如下所示
- public function getGroupTreeJson()
- {
- $items = array();
- $setId = $this->_getSetId();
- /* @var $groups Mage_Eav_Model_Mysql4_Entity_Attribute_Group_Collection */
- $groups = Mage::getModel('eav/entity_attribute_group')
- ->getResourceCollection()
- ->setAttributeSetFilter($setId)
- ->load();
- $configurable = Mage::getResourceModel('catalog/product_type_configurable_attribute')
- ->getUsedAttributes($setId);
- /* @var $node Mage_Eav_Model_Entity_Attribute_Group */
- foreach ($groups as $node) {
- $item = array();
- //Alex
- $item['text'] = $this->__($node->getAttributeGroupName());
- $item['id'] = $node->getAttributeGroupId();
- $item['cls'] = 'folder';
- $item['allowDrop'] = true;
- $item['allowDrag'] = true;
- $nodeChildren = Mage::getResourceModel('catalog/product_attribute_collection')
- ->setAttributeGroupFilter($node->getId())
- ->addVisibleFilter()
- ->checkConfigurableProducts()
- ->load();
- if ($nodeChildren->getSize() > 0) {
- $item['children'] = array();
- foreach ($nodeChildren->getItems() as $child) {
- /* @var $child Mage_Eav_Model_Entity_Attribute */
- $attr = array(
- //Alex
- 'text' => $this->__($child->getFrontendLabel()),
- 'id' => $child->getAttributeId(),
- 'cls' => (!$child->getIsUserDefined()) ? 'system-leaf' : 'leaf',
- 'allowDrop' => false,
- 'allowDrag' => true,
- 'leaf' => true,
- 'is_user_defined' => $child->getIsUserDefined(),
- 'is_configurable' => (int)in_array($child->getAttributeId(), $configurable),
- 'entity_id' => $child->getEntityAttributeId()
- );
- $item['children'][] = $attr;
- }
- }
- $items[] = $item;
- }
- return Mage::helper('core')->jsonEncode($items);
- }
- public function getAttributeTreeJson()
- {
- $items = array();
- $setId = $this->_getSetId();
- $collection = Mage::getResourceModel('catalog/product_attribute_collection')
- ->setAttributeSetFilter($setId)
- ->load();
- $attributesIds = array('0');
- /* @var $item Mage_Eav_Model_Entity_Attribute */
- foreach ($collection->getItems() as $item) {
- $attributesIds[] = $item->getAttributeId();
- }
- $attributes = Mage::getResourceModel('catalog/product_attribute_collection')
- ->setAttributesExcludeFilter($attributesIds)
- ->addVisibleFilter()
- ->load();
- foreach ($attributes as $child) {
- $attr = array(
- //Alex
- 'text' => $this->__($child->getFrontendLabel()),
- 'id' => $child->getAttributeId(),
- 'cls' => 'leaf',
- 'allowDrop' => false,
- 'allowDrag' => true,
- 'leaf' => true,
- 'is_user_defined' => $child->getIsUserDefined(),
- 'is_configurable' => false,
- 'entity_id' => $child->getEntityId()
- );
- $items[] = $attr;
- }
- if (count($items) == 0) {
- $items[] = array(
- 'text' => Mage::helper('catalog')->__('Empty'),
- 'id' => 'empty',
- 'cls' => 'folder',
- 'allowDrop' => false,
- 'allowDrag' => false,
- );
- }
- return Mage::helper('core')->jsonEncode($items);
- }
$child->getFrontendLabel()即获取该属性的标签值,而不是原来的code值
修改后效果如下
from:http://blog.csdn.net/shuishui8310/article/details/6308961
发表评论(评论将通过邮件发给作者):