Magento覆盖核心模型

uinbv5nw  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(150)

我知道这个问题已经被问过几次了,但是我已经看过答案了,仍然不明白为什么我不能在Magento中覆盖核心模型:
我试图覆盖Eav/Attribute/Data/Text.php,但它拒绝使用我的validateValue()函数版本。
下面是我的模型类/app/code/local/Hailstorm/Eav/Model/Attribute/Data/Text. php

class Hailstorm_Eav_Model_Attribute_Data_Text extends Mage_Eav_Model_Attribute_Data_Text {
    public function validateValue($value) {
    
    
        $attribute  = $this->getAttribute();    

        echo "My validator for |" . $attribute->getAttributeCode() . "|!\n";
        
        if ($attribute->getAttributeCode() == 'postcode') {
            $countryId = $this->getExtractedData('country_id');
            $optionalZip = Mage::helper('directory')->getCountriesWithOptionalZip();
            if (!in_array($countryId, $optionalZip)) {
                return parent::validateValue($value);
            }
            return true;
        }
        else {
            return parent::validateValue($value);
        }
    }
}

字符串
这是我的Hailstorm.xml/app/code/local/Hailstorm/Eav/etc/Hailstorm.xml

<?xml version="1.0"?>
<config>
    <modules>
        <hailstorm_eav>
            <version>0.1.0</version>
        </hailstorm_eav>
    </modules>
    <global>
       <models>
          <eav>
              <rewrite>
                  <attribute_data_text>Hailstorm_Eav_Model_Attribute_Data_Text</attribute_data_text>
              </rewrite>
          </eav>
       </models>
       <hailstorm_eav>
            <class>Hailstorm_Eav_Model</class>
       </hailstorm_eav>
    </global>
</config>


这是我的模块xml文件
/app/etc/modules/Hailstorm_Eav.xml

<?xml version="1.0"?>
<config>
    <modules>
        <hailstorm_eav>
            <active>true</active>
            <codepool>local</codepool>
        </hailstorm_eav>
    </modules>
</config>


我已经通过教程和其他类似问题的答案在这里,但我看不到我做错了什么!

tez616oj

tez616oj1#

使用此

<codePool>local</codePool>

字符串

vlurs2pr

vlurs2pr2#

  • *Hailstorm_Eav.xml**中有issue in class declarationconfig.xml and Hailstorm_Eav.xml

hailstorm_eavHailstorm_Eav的转换

在config.xml中

<hailstorm_eav>
        <version>0.1.0</version>
    </hailstorm_eav>

字符串

<Hailstorm_Eav>
 <version>0.1.0</version>
</Hailstorm_Eav>


和代码池语法作为Vishal Sharma Said

相关问题