Модель не работает в Magento 1.5.0 из руководства по модели Magento и основам ORM

Я следил за этим руководством по модели Magento и основам ORM. Я использую Magento версии 1.5.0, и когда я наткнулся на тестирование модели, если она работает специально при печати объекта в этом коде, все, что я получаю, это пустая белая страница.

public function testModelAction() {
    $blogpost = Mage::getModel('weblog/blogpost');
    echo get_class($blogpost);
}

Я пошел посмотреть системный журнал, и я получаю эти ошибки

2011-02-16T04:18:27+00:00 ERR (3): Warning: include(Alanstormdotcom\Weblog\Model\Blogpost.php) [function.include]: failed to open stream: No such file or directory in E:\xampp\htdocs\magento\lib\Varien\Autoload.php on line 94

2011-02-16T04:18:27+00:00 ERR (3): Warning: include() [function.include]: Failed opening 'Alanstormdotcom\Weblog\Model\Blogpost.php' for inclusion (include_path='E:\xampp\htdocs\magento\app\code\local;E:\xampp\htdocs\magento\app\code\community;E:\xampp\htdocs\magento\app\code\core;E:\xampp\htdocs\magento\lib;.;E:\xampp\php\PEAR') in E:\xampp\htdocs\magento\lib\Varien\Autoload.php on line 94

2011-02-16T04:18:27+00:00 ERR (3): Warning: get_class() expects parameter 1 to be object, boolean given in E:\xampp\htdocs\magento\app\code\local\Alanstormdotcom\Weblog\controllers\IndexController.php on line 6

Надеюсь, вы поможете мне в решении этой проблемы..

Спасибо..


person Shalada    schedule 16.02.2011    source источник
comment
Также опубликуйте соответствующие части вашего файла config.xml и файла Alanstormdotcom\Weblog\Model\Blogpost.php.   -  person clockworkgeek    schedule 16.02.2011


Ответы (2)


Что за бездельник пишет учебник, который не работает?!

Взгляните на свое сообщение об ошибке

2011-02-16T04:18:27+00:00 ERR (3): Warning: include(Alanstormdotcom\Weblog\Model\Blogpost.php) [function.include]: failed to open stream: No such file or directory in E:\xampp\htdocs\magento\lib\Varien\Autoload.php on line 94

Magento сообщает, что не может найти файл модели. Вы создали модель с именем Blogpost.php? Это в нужной папке? Это должно быть в

app\code\local\Alanstormdotcom\Weblog\Model\Blogpost.php

Если Magento не может его найти, значит, его там нет. Если он есть, это означает, что кто-то обманул ваш путь включения.

person Alan Storm    schedule 16.02.2011
comment
это абсолютно там. я создал файл, как сказано в учебнике, но я все еще получаю сообщение об ошибке.. - person Shalada; 16.02.2011
comment
я действительно думал, может быть, потому что я использую новую версию 1.5.0, я попробую установить более низкую версию и посмотреть, что произойдет, я сообщу вам .. - person Shalada; 16.02.2011
comment
Возможно, тогда проблема с правами доступа к файлам? - person clockworkgeek; 16.02.2011
comment
Спасибо, Алан, вы правы, это мой blogpost.php, оказалось, что это Blogpost.php.php, неправильное имя файла. - person Shalada; 16.02.2011
comment
Не беспокойтесь, все новые вещи в Magento, как правило, заставляют вас скучать по простым вещам. - person Alan Storm; 16.02.2011

это Alanstormdotcom\Weblog\Model\Blogspot.php

class Alanstormdotcom_Weblog_Model_Blogpost extends Mage_Core_Model_Abstract
{
    protected function _construct()
    {
        $this->_init('weblog/blogpost');
    }   
}

это config.xml

<config>    
    <modules>
        <Alanstormdotcom_Weblog>
            <version>0.1.0</version>
        </Alanstormdotcom_Weblog>
    </modules>
    <frontend>
        <routers>
            <weblog>
                <use>standard</use>
                <args>
                    <module>Alanstormdotcom_Weblog</module>
                    <frontName>weblog</frontName>
                </args>
            </weblog>
        </routers> 
    </frontend>
    <global>
        <models>
            <weblog>
                <class>Alanstormdotcom_Weblog_Model</class>
                <resourceModel>weblog_mysql4</resourceModel>
            </weblog>
        </models>
    </global>   
</config> 
person Shalada    schedule 16.02.2011
comment
В будущем используйте кнопку «Образец кода», чтобы правильно настроить отступ в коде, тогда теги будут отображаться так, как вы ожидаете. - person clockworkgeek; 16.02.2011