Magento用のカスタム管理モジュールで作業していて、Magentoのアプローチを同時に学習しようとしています。現在バージョンCE 1.6のImです。Magentoのコレクションオブジェクトを使用するには
私はいくつかのチュートリアルと記事を読んで、カスタムdbテーブルを設定することができました。私はmakeコレクションクラスを管理すると思います。 (私はImをZend Framework/Magentoと初心者の熟練プログラマーに新しいと言うべきです)。少なくとも、次のコードは、私に正しい結果を得ることです:
$department_collection = Mage::getModel('custom/systemconfig')->getCollection()
->addFilter('name','departments');
私は私が私のDBからのフィルタリング行と列を取得$department_collection->getData()
でこれをするときのvar_dump。今
、私はこれを行うにしてみてください。
foreach ($department_collection as $department) {
$department->delete();
}
私はMagentoのから例外を取得:
-warning:function.include [(メイジ\ Upperfield \モデル\ Systemconfig.php)が含ま]:ストリームを開くことに失敗しました:D:\ wamp \ www \ magento \ lib \ Varien \ Autoload.phpの93行目のファイルまたはディレクトリがありません
問題は、それが何であるか分かりません。そして、トレースはそれが連結され、関連性のある情報のみを表示するのであまり役に立ちません。
私のディレクトリ構造は次のようになります。
+app
+code
+local
+Namespace
+Module
+Model
+Mysql4
+Systemconfig
Collection.php
Systemconfig.php
Systemconfig.php
私は私のモデルをロードした:
<models>
<module>
<class>Namespace_Module_Model</class>
<resourceModel>module_mysql4</resourceModel>
</module>
<module_mysql4>
<class>Namespace_Module_Model_Mysql4</class>
<entities>
<systemconfig>
<table>module_systemconfig</table>
</systemconfig>
</entities>
</module_mysql4>
:私のconfig.xmlには、この(抜粋)のように、現在に見える
//file: ../Mysql4/Systemconfig.php
class Namespace_Module_Model_Mysql4_Systemconfig extends Mage_Core_Model_Mysql4_Abstract{
protected function _construct()
{
$this->_init('module/systemconfig', 'systemconfig_id');
}
}
// file: ../Mysql4/Systemconfig/Collection.php
class Namespace_Module_Model_Mysql4_Systemconfig_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract {
protected function _construct()
{
$this->_init('namespace/systemconfig');
}
}
私の推測は次のいずれかです: コレクションクラスを間違った構造で設定しました。または コレクションオブジェクトの使用方法を誤解しています。
ここに何が起こっているのか説明できますか?助けを求めるには Gratefull。同一である必要があります -
敬具 ADDE
ポスト後のご質問を読ん際に申し訳ありませんが、私はちょうど私がコレクションモデルの名前空間の代わりに、モジュールの別名でのinitを設定し実現。問題が解決しました。私はあなたが同じコードを見て一晩中過ごす方法を愛し、そのような明白なエラーを認識しません。 –
このチュートリアルを見つけましたか:http://alanstorm.com/magento_models_orm – Max
ありがとう、ありがとうございます。私はmagentocommerce.comの記事とAlan Stormsの記事をチェックしています。それは私がこの点に着手することです。私がerlierのコメントで言ったように、それは「typo」エラーのようなものでした。... init( 'module/model')の代わりに..._ init( 'namespace/model')を使ってCollectionモデルを開始しようとしました。私は自分の質問に8時間以内に答えることができません。コメントしてくれてありがとう、そしてAlanへの賞賛。 –