2013-05-02 58 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定義,則省略class標籤已經給出的命名空間,並添加特定的結構模型:

mynamespace_myextension/product_attribute_source_myattribute 

您可以加載相同的命名空間下的其他車型,而無需專門它們添加到您的XML

相關問題