Я создал 2 пользовательских модуля в папке vendor. Это моя структура макета:
-app
-code
-Company
-Blog
-HelloWorld
-Controller
-Hello
-World.php
-registration.php
-etc
-module.xml
-frontend
-routes.xml
Оба включены.
Это мой код для routes.xml
модуля HelloWorld:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="standard">
<route id="helloworld" frontName="helloworld">
<module name="Company_HelloWorld"/>
</route>
</router>
</config>
Это мой код в module.xml
:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
<module name="Company_HelloWorld" setup_version="1.0.0">
</module>
</config>
Это мой файл registration.php:
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Company_HelloWorld',
__DIR__
);
Это мой код контроллера:
<?php
namespace Company\HelloWorld\Controller\Hello;
class World extends \Magento\Framework\App\Action\Action
{
public function __construct(
\Magento\Framework\App\Action\Context $context)
{
return parent::__construct($context);
}
public function execute()
{
echo 'Hello World';
exit;
}
}
Это мой код компоновки:
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
</body>
</page>
И то же самое для другого модуля. Я уже выполнил setup:upgrade
команду, но все равно получаю ошибку 404, когда пытаюсь получить доступ к любому из этих модулей.
app/code
папкиОтветы:
Попробуй это
module.xml
источник
setup_version="1.0.0"
наsetup_version="2.0.1"
Я приложил одно учебное пособие для вас.
Вот ссылка https://drive.google.com/file/d/0B7-ErEahwIPYc0xEOVh3eWV1ejA/view?usp=sharing
Поместите это в свою
app/code
папку.пожалуйста, проверь это. Надеюсь, что это поможет вам.
источник
Вы не создали ни одного контроллера, поэтому он не найдет URL, поэтому он выдаст ошибку 404
Создать папку контроллера
Создать индексную папку внутри папки контроллера
Создайте файл Index.php внутри папки Index и добавьте в нее код ниже.
Теперь вы можете проверить URL
helloworld/index/index
источник
Вам нужно изменить код в 2 файлах,
Приложение / код / Компания / HelloWorld / и т.д. / интерфейс / routes.xml
Приложение / код / Компания / HelloWorld / и т.д. / module.xml
Я только что сделал эти два изменения, запустите установку php bin / magento: обновление и все работает нормально.
локальный / Magento-демо / index.php / HelloWorld / привет / мир /
источник
Я выполнил кэш bin \ magento: flush & Очевидно, это сработало. Это была проблема с кешем.
источник
Просто попробуйте развернуть контент и обновить настройки
источник