Php Magento:将产品自定义属性中的文本字段大小限制为80个字符

Php Magento:将产品自定义属性中的文本字段大小限制为80个字符,php,magento,magento-1.7,Php,Magento,Magento 1.7,我在使用magento论坛的以下提示时遇到问题: 引用: 您可以做的一个选择是为该属性添加后端模型。 在此模型中,您可以在保存之前编写自己的函数,该函数将 处理给定值的长度,并将其修剪为所需长度 长度。类应该扩展Mage\u Eav\u Model\u Entity\u Attribute\u Backend\u Abstract 代码: 我现在的问题是:如何以及在何处实现此代码段? 我最近把它放在/app/code/core/Mage/Eav/Model/Entity/Attribute/Ba

我在使用magento论坛的以下提示时遇到问题:

引用: 您可以做的一个选择是为该属性添加后端模型。 在此模型中,您可以在保存之前编写自己的
函数,该函数将
处理给定值的长度,并将其修剪为所需长度
长度。类应该扩展
Mage\u Eav\u Model\u Entity\u Attribute\u Backend\u Abstract

代码:

我现在的问题是:如何以及在何处实现此代码段?
我最近把它放在
/app/code/core/Mage/Eav/Model/Entity/Attribute/Backend/Default.php中,但它没有任何效果。

首先,你永远不应该将自定义代码放在核心文件中。这会破坏你的提升能力。在app/code/local下创建您自己的自定义模块。在那里,您可以创建从Mage_Eav_model_Entity_Attribute_Backend_Abstract扩展而来的模型

此链接可帮助您创建模块:


您还可以使用magerun(magento的cli工具)创建模块:

谢谢您的回答!我尝试了smashingmagazine教程,但仍停留在观察事件的
config.xml
位置。我不知道该放什么进去。因为我是magento编码的初学者,也许你能帮我把它做好?!谢谢
public function beforeSave($object) {
     $attrCode = $this->getAttribute()->getAttributeCode();
     if ($object->hasData($attrCode)) {
         $object->setData($attrCode, substr($object->getData($attrCode),0,50));
     }
     return $this; }