Magento는이 파일을 자원 모델로 찾고 있습니까?'스트림을 열지 못했습니다 ... 그런 파일 없음'

magento.stackexchange https://magento.stackexchange.com//questions/45054

  •  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>
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top