致命错误:调用未定义的方法News_Storenews_Model_Mysql4_Storenews_Collection :: setData()

时间:2015-04-28 12:50:14

标签: magento

我有一个带有“storenews”表的自定义模块。这是config.xml -

<config>
    <modules>
        <News_Storenews>
            <version>1.4.0</version>
        </News_Storenews>
    </modules>
    <frontend>
        <routers>
            <storenews>
                <use>standard</use>
                <args>
                    <module>News_Storenews</module>
                    <frontName>storenews</frontName>
                </args>
            </storenews>
        </routers>

    </frontend>
    <admin>
        <routers>
            <storenews>
                <use>admin</use>
                <args>
                    <module>News_Storenews</module>
                    <frontName>storenews</frontName>
                </args>
            </storenews>
        </routers>
    </admin>
    <adminhtml>         
        <menu>
            <storenews module="storenews">
                <title>store news</title>
                <sort_order>71</sort_order>
                <children>
               <sub_menu1 translate="title">
                    <title>store news Config</title>
                    <sort_order>10</sort_order>
                    <action>storenews/adminhtml_storenews</action>
               </sub_menu1> 
                </children>
            </storenews>
        </menu>
        <acl>
            <resources>
                <admin>
                    <children>
                        <storenews translate="title" module="storenews">
                            <title>store news</title>
                            <sort_order>50</sort_order>
                            <children>
                                <subitem translate="title" module="storenews">
                                    <title>news Config</title>
                                    <sort_order>10</sort_order>
                                    <action>storenews/adminhtml_storenews</action>
                                </subitem>
                            </children>
                        </storenews>
                    </children>
                </admin>
            </resources>
        </acl> 
    </adminhtml>
    <global>
        <storenews>
                <class>News_Storenews_Block</class>
             </storenews>
         <models>
            <storenews>
                <class>News_Storenews_Model</class>
                <resourceModel>storenews_mysql4</resourceModel>
            </storenews>
            <storenews_mysql4>
                <class>News_Storenews_Model_Mysql4</class>
                <entities>
                    <storenews>
                        <table>storenews</table>
                    </storenews>
                </entities>
            </storenews_mysql4>
        </models>
        <resources>
            <storenews_setup>
                <setup>
                    <module>News_Storenews</module>
                    <!--<class>Mage_Sales_Model_Mysql4_Setup</class>-->
                </setup>
                <connection>
                    <use>core_setup</use>
                </connection>
            </storenews_setup>
            <storenews_write>
                <connection>
                    <use>core_write</use>
                </connection>
            </storenews_write>
            <storenews_read>
                <connection>
                    <use>core_read</use>
                </connection>
            </storenews_read>
        </resources>
        <blocks>
            <storenews>
                <class>News_Storenews_Block</class>
            </storenews>
        </blocks>
        <helpers>
            <storenews>
                <class>News_Storenews_Helper</class>
            </storenews>
        </helpers>
    </global>
</config>

模型文件位于model/Storenews.php -

<?php

class News_Storenews_Model_Storenews extends Mage_Core_Model_Abstract
{
    public function _construct()
    {
        parent::_construct();
        $this->_init('storenews/storenews', 'id');
    }
}

资源文件位于Model/Mysql4/Storenews.php -

<?php

class News_Storenews_Model_Mysql4_Storenews extends Mage_Core_Model_Mysql4_Abstract
{
    public function _construct()
    {
        $this->_init('storenews/storenews', 'id');
    }   
}

和Collection文件位于Model / Mysql4 / Storenews / Collection.php -

<?php

class News_Storenews_Model_Mysql4_Storenews_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
{
    public function _construct()
    {
        parent::_construct();
        $this->_init('storenews/storenews', 'id');
    } 

}

当我尝试在表中保存记录时,它会在控制器文件中抛出错误 -

Fatal error: Call to undefined method News_Storenews_Model_Mysql4_Storenews_Collection::setData() in /var/www/html/bandcarts/app/code/local/News/Storenews/controllers/Adminhtml/StorenewsController.php on line 126

没找到,为什么会出现这个错误?

感谢任何帮助。 感谢。

1 个答案:

答案 0 :(得分:0)

我认为你应该从

中删除第二个参数

模型文件,即model/Storenews.php

收集档案 - Model/Mysql4/Storenews/Collection.php