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 に答える