因为magento 2的这个模块不起作用?

时间:2018-12-18 01:14:53

标签: php magento magento2

我是magento 2的新手,按照官方文档中的教程尝试创建一个简单的视图,但是当我登录路线时会抛出错误404

这是我目录的结构

enter image description here

这就是我的文件中的内容

view.php

<?php

namespace Learning\HelloPage\Controller\Page;

use Magento\Backend\App\Action\Context;
use Magento\Framework\App\Action\Action;
use Magento\Framework\Controller\Result\JsonFactory;

class View extends Action
{
    /**
     * @var JsonFactory
     */

     protected $resultJsonFactory;

    public function __construct(Context $context, JsonFactory $resultJsonFactory)
    {
        $this->resultJsonFactory = $resultJsonFactory;
        parent::__construct($context);
    }

    public function execute()
    {
        $result = $this->resultJsonFactory->create();
        $data = ['message' => 'Hello World'];
        return $result->setData($data);
    }

}

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 id="Learning" frontName="test">
            <module name="Learning_HelloPage" />
        </route>
    </router>
</config>

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="Learning_HelloPage" setup_version="0.0.1" />
</config>

registration.php

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE, 
    'Learning_HelloPage',
   __DIR__ 
);

除了在控制台中执行此操作外,我还对缓存运行以下命令

php bin/magento cache:flush

输入完服务器上的下一个路径后,所有这些

  

http://localhost/magento/test/view/page

我收到404错误,但是在后面的标题中确实如此。我有什么错误,我该如何解决?

1 个答案:

答案 0 :(得分:4)

网址路径应为

  

http://localhost/magento/test/page/view

并确保您运行以下命令来安装模块:

php bin/magento s:up

然后您可以通过以下方法检查您的模块是否已启用:

php bin/magento module:status Learning_HelloPage

欢呼