Модуль Magento IndexController - функция IndexAction 404 - PullRequest
0 голосов
/ 13 июля 2011

Удаление класса с помощью IndexAction приводит к ошибке сервера, поэтому я знаю, что до этого момента код работал должным образом.

class Foo_Bar_IndexController extends Mage_Core_Controller_Front_Action{
    public function indexAction(){
        echo "<h1>Echo from indexcontroller.</h1>";
    }
}

В идеале эхо должно быть заменено загрузкой файлов шаблонов, но я застрял на нем в течение последних 2 дней и просто хочу пройти мимо этого.

Я прочитал около десятка учебных пособий, затем 4 до завершения, но эта проблема появляется каждый раз. У кого-нибудь есть идеи, что может быть причиной этого?

Edit-- Извините, для краткости. Я не был уверен, сколько я должен продлить страницу.

@ Alan Storm - я нашел твой урок здесь. http://alanstorm.com/magento_controller_hello_world (очень подробно, очень полезно для понимания того, что делают все теги xml). Это копия этого руководства, в котором Foo заменяет Alanstormdotcom и Bar заменяет Helloworld. Даже копирование / вставка у меня получается с тем же 404.

Вот мой текущий конфигурационный файл: PATH: app / code / local / Foo / Bar / etc / config.xml (редактировать: исправленный путь)

<config>
<modules>
    <Foo_Bar>
        <version>0.1.0</version>
    </Foo_Bar>
</modules>
<frontend>
    <routers>
        <bar>
            <use>standard</use>
            <args>
                <module>Foo_Bar</module>
                <frontName>bar</frontName>
            </args>
        </bar>
    </routers>  
</frontend>
</config>

Редактировать --- последний оставшийся файл Путь: приложение / etc / modules / Foo_Bar.xml

<config>
<modules>
    <Foo_Bar>
        <active>true</active>
        <codePool>local</codePool>
    </Foo_Bar>
</modules>
</config>       

Ответы [ 3 ]

2 голосов
/ 26 июля 2012

Я думаю, что вам не хватает добавить store_code в URL (у меня была та же проблема), возможно, вы включили код хранилища от admin, другими словами, код хранилища (например, en, nl и т. Д.) Добавляет в URL.

Пример:

www.example.com / ru / aaa.html

Если это так, то, пожалуйста, получите доступ к вашему контроллеру и выполните следующие действия:

www.example.com / store_code / имя_файла / контроллер / действие

Пример:

www.example.com / ан / бар / индекс / индекс

0 голосов
/ 02 марта 2013

Если другие ответы не помогут вам, вы можете попробовать этот путь:

     www.example.com/index.php/frontName/controllerName/actionName

Я не понимаю, почему они не создали правило перезаписи для этого вида URL.

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

0 голосов
/ 14 июля 2011

Ваш путь неверен:

app/etc/modules/Foo/Bar/etc/config.xml

Вы должны поместить файл определения вашего модуля Foo_Bar.xml в app/etc/modules и код вашего модуля в app / code / local:

app/code/local/Foo/Bar/etc/config.xml
app/code/local/Foo/Bar/controllers/IndexController.php

РЕДАКТИРОВАТЬ: чтобы получить доступ к вашему контроллеру, вам нужно получить доступ к этому URL:

www.example.com/magento-instance/bar/index

Следуя этой схеме:

{magento_root} / {magento_module} / {magento_controller} / {magento_action}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...