我在新的 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\Framework\Component\ComponentRegistrar::register(\Magento\Framework\Component\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;
}
}
谢谢。