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
dossierRéponses:
Essaye ça
module.xml
la source
setup_version="1.0.0"
poursetup_version="2.0.1"
J'ai joint un tutoriel de démonstration pour vous.
Voici le lien https://drive.google.com/file/d/0B7-ErEahwIPYc0xEOVh3eWV1ejA/view?usp=sharing
Mettez-le dans votre
app/code
dossier.s'il te plaît vérifie le. J'espère que cela vous aidera.
la source
vous n'avez créé aucun contrôleur, il ne trouvera donc aucune URL, il vous donnera donc une erreur 404
Créer un dossier de contrôleur
Créer un dossier d' index dans le dossier Controller
Créez un fichier Index.php dans le dossier Index, ajoutez le code ci-dessous.
Vous pouvez maintenant vérifier l'URL
helloworld/index/index
la source
Vous devez changer le code dans 2 fichiers,
app / code / Entreprise / HelloWorld / etc / frontend / routes.xml
app / code / Entreprise / HelloWorld / etc / module.xml
Je viens de faire ces deux modifications exécutez la configuration de php bin / magento: la mise à niveau et son bon fonctionnement.
localhost / magento-demo / index.php / helloworld / bonjour / monde /
la source
J'ai exécuté le cache bin \ magento: vidage et cela a fonctionné apparemment. C'était un problème de cache.
la source
Essayez simplement de déployer le contenu et de mettre à niveau la configuration
la source