2012-02-13 6 views
0

カスタムアトリビュートのカスタムバックエンドモデルを設定しようとしています。問題は、Magentoが 'Mage'ディレクトリをパスに追加するため、すべてのファイルを拡張ディレクトリに保存できないことです。カスタムアトリビュートにカスタムバックエンドモデルを追加する

コード:代わりに、パスは私の延長に関連しているの

$setup = new Mage_Eav_Model_Entity_Setup('core_setup'); 
$setup->addAttribute('catalog_category', $postData['attribute_code'], array(
         'label'  => $postData['frontend_label'], 
         'input'  => $postData['frontend_input'], 
         'backend' => 'my_company/myextension_model_category_attribute_backend_file', 
         'required' => $postData['is_required'], 
         'global'  => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE, 
         'group'  => $postData['attribute_group_name'], 
         'sort_order' => $postData['sort_order'] 
)); 

、「メイジ」は先頭に追加して、このエラーになります:

Warning: include(Mage/My_Company/Model/My_Extension/Model/Category/Attribute/Backend/File.php): failed to open stream 

私が働く解決策を見つけていませんaddAttribute()メソッドを使用します。

トラブルシューティングでは、Magentoがどこにパスを追加しているかがすぐには分かりませんでした。

すべてがレンダリングされます(私はファイルレンダラを使用しています)が、もちろんバックエンドなしでは正しく保存されません。

私はMagento 1.6.1を使用しています。あなたのアプリ/コード/ローカル/ Your_Company/Your_Extensionの/ etc/config.xmlには、Magentoのシステムにモデルを登録した場合

答えて

1

ダブルチェック:

<global> 
    ... 
    <models> 
     <my_company> 
      <class>Company_Extension_Model_Category_Attribute_Backend_File</class> 
     </my_company> 
    </models> 
    ... 
</global> 
+0

閉じるには、私の構文がオフになっているようです。 [Company/Extension/Model/Category/Attribute/Backend/File/Category/Attribute/Backend/File.php] –

+0

パスの設定を変更してからバックエンドを 'company/category_attribute_backend_file'に変更すると、 OK、バックエンドを 'extension/file'に入れました。クラス名/パスも更新しなければなりませんでした。ありがとうございます。 –

関連する問題