Pourquoi Magento recherche-t-il ce fichier comme modèle de ressource ?"Échec de l'ouverture du flux… Aucun fichier de ce type"

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

  •  12-12-2019
  •  | 
  •  

Question

J'essaie de créer un modèle pour la première fois dans Magento - le modèle de ressource est Mygroup_Mymodule_Model_Resource_Link

L'alias de modèle que j'ai utilisé est mygroup_mymodule/link

j'essaie d'appeler $myVar = Mage::getModel('mygroup_mymodule/link') mais j'obtiens cette erreur :

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

C'est vrai:là est aucun fichier là-bas, ni dans app/code/local/Mygroup/Mymodule/Resource/Model/Link.php, mais je ne sais pas pourquoi Magento pense qu'il devrait y en avoir.

Ma structure de dossiers est la suivante :

...
- 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'
        );
    }
}

J'ai aussi un Helper et un contrôleur dans le module (comme vous pouvez le voir dans le fichier de configuration), mais je ne pense pas que ce soit pertinent ici.

Merci beaucoup pour toute aide!

J'utilise CE 1.9.0.1

Était-ce utile?

La solution

On dirait qu'il vous manque un class définition dans la configuration de votre modèle de ressource :

        <mygroup_mymodule_resource>
            <class>Mygroup_Mymodule_Model_Resource</class>
            <entities>
                <link>
                    <table>mygroup_mymodule_link</table>
                </link>
            </entities>
        </mygroup_mymodule_resource>
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top