我在新的Magento 2中创建了一个自定义模块,它与url(http:/// modulename / index / test)一起工作正常但需要在主页上调用它。我的意思是当主页加载时,模块会自动调用。怎么可能?
以下是我在模块创建过程中遵循的步骤 -
步骤1:创建命名空间和模块文件夹
第2步:创建etc / module.xml文件
<?xml version="1.0"?><config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Ignvia_HelloWorld" setup_version="1.0.0">
</module>
第3步:创建etc / registration.php文件
<?php
\ Magento的\框架\元器件\ ComponentRegistrar ::寄存器( \ Magento的\框架\分量\ ComponentRegistrar :: MODULE, 'Ignvia_HelloWorld', 的 DIR );
步骤4:创建etc / frontend / routes.xml文件
<?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 frontName="helloworld" id="helloworld">
<module name="Igniva_HelloWorld"/>
</route>
</router>
步骤5:创建Controller / Index / Test.php
<?php
命名空间Igniva \ HelloWorld \ Controller \ Index;
类测试扩展\ Magento \ Framework \ App \ Action \ Action { protected $ _pageFactory;
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $pageFactory)
{
$this->_pageFactory = $pageFactory;
return parent::__construct($context);
}
public function execute()
{
echo "Hello World";
exit;
}
}
感谢。
答案 0 :(得分:0)
要在主页中加载自定义模块,应在cms_index_index布局中调用代码(不在核心文件中)。您必须在自定义文件中定义。