2013-05-02 2 views
0

Я пытаюсь добавить атрибут к моим magento-продуктам, которые полагаются на пользовательские функции, чтобы предоставить параметры этого атрибута.Какая правильная структура для установки исходной модели для атрибута magento

Для этого я создал модель источника в MyNamespace/MyExtension/Модель/Продукт/Атрибут/Источник/MyAttribute

Тогда я попытался говорить Magento использовать мою модель, установив source_model для этого атрибута, когда я держал получаю следующее сообщение об ошибке:

Source model "mynamespace/myextension_product_attribute_source_myattribute" not found for attribute "vendor" 

Я полагаю, что я перепробовал все возможные комбинации, такие как:

myextension/product_attribute_source_myattribute 
mynamespace_myextension/product_attribute_source_myattribute 
mynamespace/myextension_model_product_attribute_source_myattribute 

и так далее, без каких-либо удачи. Затем я использовал имя класса:

MyNamespace_MyExtension_Model_Product_Attribute_Source_MyAttribute 

который, к моему удивлению, действительно работает. Тем не менее, я все же хотел бы знать, какую структуру с помощью Magento конвенции является путь - то есть, Magento использует:

catalog/product_attribute_source_countryofmanufacture 

загрузить Mage_Catalog_Model_Product_Attribute_Source_Countryofmanufacture класс

ответ

0

После некоторых борется с осуществлением других модулей и их конфигурации я наконец нашел ответ.

Файл конфигурации модулей определяет базовое пространство имен для моделей, при которых могут быть загружены несколько классов модели:

<global> 
    <models> 
     <mynamespace_myextension> 
      <class>MyNamespace_MyExtension_Model</class> 
     </mynamespace_myextension> 
    </models> 
</global> 

Теперь, при загрузке модуля, вы заявляете определение XML будет использоваться в качестве пространства имен перед косой чертой , затем опускаем пространств имен, уже данных в классе тега и добавить определенную структуру для модели:

mynamespace_myextension/product_attribute_source_myattribute 

Вы можете загрузить дополнительные модели под то же пространство имен без необходимости добавлять их к вашему XML

Смежные вопросы