Я работаю над пользовательским модулем администратора для magento и одновременно пытаюсь изучить подход magento =).В настоящее время я нахожусь на версии CE 1.6.
Я следил за несколькими учебными пособиями и статьями и сумел настроить пользовательскую таблицу БД, и, думаю, мне удалось работать с классом make collection.(Я должен сказать, что я новичок в Zend Framework / Magento и начинающий опытный программист).По крайней мере, следующий код дает мне правильный результат:
$department_collection = Mage::getModel('custom/systemconfig')->getCollection()
->addFilter('name','departments');
Когда я var_dump это с $department_collection->getData()
, я получаю массив с отфильтрованными строками из моей БД.
Теперь, когда япопробуйте сделать это:
foreach ($department_collection as $department) {
$department->delete();
}
Я получаю исключение от Magento:
-Внимание: include (Mage \ Upperfield \ Model \ Systemconfig.php) [function.include]: не удалосьоткрытый поток: нет такого файла или каталога в D: \ wamp \ www \ magento \ lib \ Varien \ Autoload.php в строке 93
Проблема в том, что я предполагаю, что неправильно настроил структуру каталогов, но простоне понимаю, что это такое.И трассировка не очень помогает, так как она сцеплена и показывает только несущественную информацию.
Моя структура каталогов выглядит следующим образом:
+app
+code
+local
+Namespace
+Module
+Model
+Mysql4
+Systemconfig
Collection.php
Systemconfig.php
Systemconfig.php
Я загрузил свои модели:
//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');
}
}
В настоящее время мой config.xml выглядит следующим образом (отрывок):
<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>
Я думаю, либо: я установил класс коллекции с неправильной структурой, либо янедопонимание, как использовать объект коллекции.
Любой мудрец, который мог бы объяснить мне, что здесь происходит?Благодарю за любую помощь.
С наилучшими пожеланиями Adde