Criei 2 módulos personalizados dentro da pasta do fornecedor. Esta é a minha estrutura de layout:
-app
-code
-Company
-Blog
-HelloWorld
-Controller
-Hello
-World.php
-registration.php
-etc
-module.xml
-frontend
-routes.xml
Ambos estão habilitados.
Este é o meu código para o routes.xml
módulo 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>
Este é o meu código em 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>
Este é o meu arquivo registration.php:
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Company_HelloWorld',
__DIR__
);
Este é o meu código de controlador:
<?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;
}
}
Este é o meu código de layout:
<?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>
& Mesmo para outro módulo. Eu já executei o setup:upgrade
comando, mas ainda assim, estou recebendo o erro 404 quando tento acessar qualquer um desses módulos.
app/code
pastaRespostas:
Tente isto
module.xml
fonte
setup_version="1.0.0"
asetup_version="2.0.1"
Anexei um tutorial de demonstração para você.
Aqui está o link https://drive.google.com/file/d/0B7-ErEahwIPYc0xEOVh3eWV1ejA/view?usp=sharing
Coloque-o dentro da sua
app/code
pasta.por favor verifique isto. espero que isso ajude você.
fonte
você não criou nenhum controlador para que ele não encontre nenhum URL, o que lhe dará um erro 404
Criar pasta Controller
Criar pasta Index dentro da pasta Controller
Crie o arquivo Index.php dentro da pasta Index e adicione o código abaixo.
Agora você pode verificar o URL
helloworld/index/index
fonte
Você precisa alterar o código em 2 arquivos,
app / code / Company / HelloWorld / etc / frontend / routes.xml
app / code / Company / HelloWorld / etc / module.xml
Acabei de fazer essas duas alterações rodando a instalação do php bin / magento: upgrade e seu bom funcionamento.
localhost / magento-demo / index.php / helloworld / hello / world /
fonte
Eu executei o bin \ magento cache: flush e funcionou aparentemente. Era um problema de cache.
fonte
Apenas tente implantar o conteúdo e atualizar a configuração
fonte