переопределяющее отношение тега Модели Мага К тегу ресурса


Мне нужно переопределить Mage_Tag_Model_Resource_Tag_Relation для сайта, над которым я работаю.

Я уже создал свой класс, который расширяет Mage_Tag_Model_Resource_Tag_Relation:

class Web_Core_Model_Tag_Resource_Tag_Relation extends Mage_Tag_Model_Resource_Tag_Relation
{
    public function loadByTagCustomer($model)
    {
    [...]
    }
}

И поместил это в файл app/code/local/Web/Core/Model/Tag/Resource/Tag/Relation.php

В модуле config.xml (который активирован, так как есть другие части модуля, которые работают, я добавил:

<global>
  <models>
    <core>
      <rewrite>
       <mage_tag_model_resource_tag_relation>
        Web_Core_Model_Tag_Resource_Tag_Relation
       </mage_tag_model_resource_tag_relation>
     </rewrite>
    </core>
 </models>
</global>

Я предполагаю, что это неправильно, так как это не работает... Как я должен объявить переопределение в моем config.xml? На правильном ли я пути?

Author: Amit Bera, 2015-12-04

1 answers

Вы не переписали класс ресурсов надлежащим методом и не выполнили формат класса модели ресурсов magento, поэтому он не переопределяется должным образом.

Основным форматом перезаписи класса ресурсов является

   <models>
        <rewriteableModuleResourceClassIndenfiter>
            <rewrite>
                <Rest_Of_ClassName_Of_Resource_class>Your_Write_Class_Name</Rest_Of_ClassName_Of_Resource_class>
            </rewrite>
        </<rewriteableModuleResourceClassIndenfiter>
    </models>

Краткое описание:

Согласно as, magento tag_resource является типом ресурса модуля magento Mage_Tage, класс префикса которого Mage_Tag_Model_Resource

Смотрите в config.xml модуля Mage_Tag

 <tag_resource>
                <class>Mage_Tag_Model_Resource</class>

Вы изменили код:

<models>
    <tag_resource>
        <rewrite>
            <tag_relation>Web_Core_Model_Tag_Resource_Tag_Relation</tag_relation>
        </rewrite>
    </tag_resource>
</models>
 3
Author: Amit Bera, 2015-12-04 23:32:26