404 Halaman tidak ditemukan kesalahan ketika saya mencoba mengakses modul Kustom di Magento 2


8

Saya telah membuat 2 modul khusus di dalam folder vendor. Ini adalah struktur tata letak saya:

-app
  -code
    -Company
      -Blog
      -HelloWorld
        -Controller
          -Hello
            -World.php
        -registration.php
        -etc
          -module.xml
          -frontend
            -routes.xml

Keduanya diaktifkan.

Ini adalah kode saya routes.xmluntuk modul 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>

Ini adalah kode saya di 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>

Ini adalah file registration.php saya:

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

Ini adalah kode pengontrol saya:

 <?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;
  } 
} 

Ini adalah kode tata letak saya:

<?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>

& Sama untuk modul lain. Saya sudah menjalankan setup:upgradeperintah tetapi masih, saya mendapatkan error 404 ketika saya mencoba mengakses modul-modul ini.


dapatkah Anda menunjukkan file layout dan struktur folder pohon modul Anda
Bilal Usean

Saya telah memperbarui pertanyaan saya. Saat ini saya telah memberikan jalan keluar; dalam mengeksekusi () metode controller tetapi bahkan tidak datang dalam controller kurasa.
user2431224

Di magento2 Anda dapat membuat modul Di dalam app/codefolder
MaYaNk

Saya telah membuat di dalam aplikasi / kode saja.
user2431224

saya tidak bisa memahami struktur tata letak Anda dengan sempurna.
MaYaNk

Jawaban:


5

Coba ini 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="Company_HelloWorld" setup_version="1.0.0" active="true">


masih kesalahan yang sama.
user2431224

Saya mengedit jawaban saya
MaYaNk

coba ubah setup_version="1.0.0" ke setup_version="2.0.1"
MaYaNk


1

Anda belum membuat pengontrol apa pun sehingga tidak akan menemukan url sehingga itu akan memberi Anda 404 kesalahan

Buat folder Controller

Buat folder Indeks di dalam folder Controller

Buat file Index.php di dalam folder Indeks tambahkan kode di bawah ini di dalamnya.

<?php

namespace  Company\HelloWorld\Controller\Index;
use Magento\Framework\View\Result\PageFactory;
use Magento\Framework\App\Action\Context;
class Index extends \Magento\Framework\App\Action\Action
{
    protected $resultPageFactory;
     public function __construct(
        Context $context,
        PageFactory $resultPageFactory
    ) {
        $this->resultPageFactory = $resultPageFactory;
        parent::__construct($context);
    }
    /**
     * Index action
     *
     * @return $this
     */
    public function execute()
    {
        echo "helloworld";exit;
    }   



}

Sekarang Anda dapat memeriksa url helloworld/index/index


Ofcourse Saya telah membuat controller. Saya hanya tidak menempelkan kode yang dimaksud
user2431224

Saya telah menambahkan kode pengontrol dalam pertanyaan saya.
user2431224

Url mana yang Anda coba?
Prashant Valanda

Sekarang saatnya untuk mengeksekusi () metode controller tetapi hanya menampilkan halaman kosong. localhost / magento-demo / helloworld / hello / world
user2431224

Ini berhasil setelah saya menjalankan perintah cache flush.
user2431224

0

Anda perlu mengubah kode dalam 2 file,

app / code / Company / HelloWorld / etc / frontend / routes.xml

<?xml version="1.0"?>
<!--
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
  <router id="standard">
    <route id="company_helloworld" frontName="helloworld">
        <module name="Company_HelloWorld"/>
    </route>
 </router>
</config>

app / code / Company / HelloWorld / etc / module.xml

<?xml version="1.0"?>
<!--
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Company_HelloWorld" setup_version="2.1.1">
   </module>
   </config>

Saya baru saja membuat dua perubahan ini menjalankan setup php bin / magento: upgrade dan berfungsi dengan baik.

localhost / magento-demo / index.php / helloworld / hello / world /

masukkan deskripsi gambar di sini


0

Saya mengeksekusi cache bin \ magento: flush & Ini ternyata berfungsi. Itu masalah cache.


0

Cobalah untuk Menyebarkan konten dan meningkatkan pengaturan

setup php bin / magento: tingkatkan

setup php bin / magento: static-content: deploy

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.