J'ai créé 2 modules personnalisés dans le dossier du fournisseur. Voici ma structure de mise en page:
-app
-code
-Company
-Blog
-HelloWorld
-Controller
-Hello
-World.php
-registration.php
-etc
-module.xml
-frontend
-routes.xml
Les deux sont activés.
Voici mon code pour le routes.xml
module 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>
Voici mon code dans 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>
Voici mon fichier registration.php:
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Company_HelloWorld',
__DIR__
);
Voici mon code de contrôleur:
<?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;
}
}
Voici mon code de mise en page:
<?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>
& Idem pour un autre module. J'ai déjà exécuté la setup:upgrade
commande, mais j'obtiens toujours une erreur 404 lorsque j'essaie d'accéder à l'un de ces modules.
app/code
dossier