Magento는이 파일을 자원 모델로 찾고 있습니까?'스트림을 열지 못했습니다 ... 그런 파일 없음'
-
12-12-2019 - |
문제
Magento에서 처음으로 모델을 만들려고합니다. 자원 모델은 Mygroup_Mymodule_Model_Resource_Link
입니다.
사용 된 모델 별칭은 mygroup_mymodule/link
입니다.
$myVar = Mage::getModel('mygroup_mymodule/link')
를 호출하려고하지만이 오류가 발생합니다 :
Warning: include(Mage/Mygroup/Mymodule/Resource/Model/Link.php): failed to open stream: No such file or directory in /[root]/lib/Varien/Autoload.php on line 93
이는 사실입니다. 은 이 없습니다. 또는 app/code/local/Mygroup/Mymodule/Resource/Model/Link.php
에있는 파일이 없지만 Magento가해야한다고 생각하는 이유를 알지 못합니다.
내 폴더 구조는 다음과 같습니다.
.
...
- Model/
- Link.php
- Resource/
- Link.php
- Link/
- Collection.php
...
app/code/local/Mygroup/Mymodule/etc/config.xml
:
.
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Mygroup_Mymodule>
<version>0.0.6</version>
</Mygroup_Mymodule>
</modules>
<frontend>
<routers>
<downloadable>
<use>standard</use>
<args>
<modules>
<Mygroup_Mymodule before="Mage_Downloadable">Mygroup_Mymodule</Mygroup_Mymodule>
</modules>
</args>
</downloadable>
</routers>
</frontend>
<global>
<helpers>
<downloadable>
<rewrite>
<download>Mygroup_Mymodule_Helper_Download</download>
</rewrite>
</downloadable>
</helpers>
<models>
<mygroup_mymodule>
<class>Mygroup_Mymodule_Model</class>
<resourceModel>mygroup_mymodule_resource</resourceModel>
</mygroup_mymodule>
<mygroup_mymodule_resource>
<entities>
<link>
<table>mygroup_mymodule_link</table>
</link>
</entities>
</mygroup_mymodule_resource>
</models>
<resources>
<mygroup_mymodule_setup>
<setup>
<module>Mygroup_Mymodule</module>
<class>Mage_Core_Model_Resource_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</mygroup_mymodule_setup>
</resources>
</global>
</config>
app/code/local/Mygroup/Mymodule/Model/Link.php
:
.
<?php
class Mygroup_Mymodule_Model_Link extends Mage_Core_Model_Abstract
{
protected function _construct()
{
$this->_init('mygroup_mymodule/link');
}
...
app/code/local/Mygroup/Mymodule/Model/Resource/Link.php
:
.
<?php
class Mygroup_Mymodule_Model_Resource_Link
extends Mage_Core_Model_Resource_Db_Abstract
{
protected function _construct()
{
$this->_init('mygroup_mymodule/link', 'entity_id');
}
}
app/code/local/Mygroup/Mymodule/Model/Resource/Link/Collection.php
:
.
<?php
class Mygroup_Mymodule_Model_Resource_Link_Collection
extends Mage_Core_Model_Resource_Db_Collection_Abstract
{
protected function _construct()
{
parent::_construct();
$this->_init(
'mygroup_mymodule/link',
'mygroup_mymodule/link'
);
}
}
또한 모듈에 도우미와 컨트롤러가 있지만 (구성 파일에서 볼 수 있듯이) 여기에 관련이 없다고 생각하지 않습니다.
어떤 도움을 받기 위해서는 대단히 감사합니다!
CE 1.9.0.1 를 사용하고 있습니다.
해결책
자원 모델 구성에 class
정의가 누락 된 것처럼 보입니다.
<mygroup_mymodule_resource>
<class>Mygroup_Mymodule_Model_Resource</class>
<entities>
<link>
<table>mygroup_mymodule_link</table>
</link>
</entities>
</mygroup_mymodule_resource>
.