0

我正在尝试使用资源模型并在尝试加载它时获得以下信息:

Warning: include(Mage\Core\Resource\Model.php): failed to open stream: No such file or directory in C:\xampp\htdocs\magento\lib\Varien\Autoload.php on line 93

我的控制器动作如下所示:

$blogpost = Mage::getModel("test/blogpost");
$blogpost->load(1);

我的config.xml样子:

<?xml version="1.0"?>
<config>
  <modules>
    <Lock_Test>
      <version>1.0.0</version>
    </Lock_Test>
  </modules>
    <global>
        <models>
            <test>
                <class>Lock_Test_Model</class>
                <resourceModel>test_resource</resourceModel>
            </test>
            <test_resource>
                <class>Lock_Test_Model_Resource</class>
            </test_resource>
        </models>
    </global>
  <frontend>
    <routers>
      <lock_router>
        <use>standard</use>
        <args>
          <module>Lock_Test</module>
          <frontName>test</frontName>
        </args>
      </lock_router>
    </routers>
  </frontend>
</config>

我不知道为什么它试图从Mage目录加载。我看不出我的配置文件有什么问题。

尽管我没有在上面创建实体和表名,但我正在松散地遵循本教程,但我认为它仍然应该找到我的资源模型。

请帮忙!

app\code\local\Lock\Test\Model\Blogpost.php看起来像:

<?php
    class Lock_Test_Model_Blogpost extends Mage_Core_Model_Abstract
    {
        protected function _construct()
        {
            $this->_init("test/blogpost");
        }
    }

app\code\local\Lock\Test\Model\Resource\Blogpost.php好像:

<?php
    class Lock_Test_Model_Resource_Blogpost extends Mage_Core_Resource_Model
    {
        protected function _construct()
        {
            $this->_init("test/blogpost", "blogpost_id");
        }
    }
4

1 回答 1

2

问题出在您的资源模型中

class Lock_Test_Model_Resource_Blogpost extends Mage_Core_Resource_Model

没有像Mage_Core_Resource_Model这样的类,这就是 Magento 试图在 Mage\Core\Resource\Model.php 中找到他的原因。您想要扩展的可能是Mage_Core_Model_Resource_Db_Abstract

于 2013-05-03T04:48:31.460 回答