Saya bekerja membuat modul khusus di magento 2, tetapi tidak berfungsi. Bisakah Anda memberi tahu saya di mana kesalahan saya?
Kode modul saya:
app / etc / config.php:
'modules' =>
array (
'Ramesh_Sample' => 1,
),
app / code / Ramesh / Sample / etc / 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="Ramesh_Sample" schema_version="2.0.0">
</module>
</config>
app / code / Ramesh / Sample / etc / frontend / routes.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd">
<router id="standard">
<route id="sample" frontName="sample">
<module name="Ramesh_Sample" />
</route>
</router>
</config>
app / kode / Ramesh / Sampel / Pengendali / Indeks / Index.php
<?php
namespace Ramesh\Sample\Controller\Index;
use Magento\Framework\App\Action\Context;
//use \Magento\Framework\View\Result\PageFactory;
class Index extends \Magento\Framework\App\Action\Action
{
private $_resultPageFactory;
public function __construct(
Context $context,
\Magento\Framework\View\Result\PageFactory $resultPageFactory
)
{
parent::__construct($context);
$this->_resultPageFactory = $resultPageFactory;
}
public function execute()
{
$result = $this->_resultPageFactory->create();
return $result;
}
}
app / kode / Ramesh / Sampel / Blok / Sample.php
namespace Magento\Sample\Block;
class Sample extends \Magento\Framework\View\Element\Template
{
}
app / code / Ramesh / Sample / views / frontend / layout / sample_index_index.xml
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
<head>
<title>Hello World</title>
</head>
<body>
<referenceContainer name="content">
<block class="Sample\Ramesh\Block\Sample" name="sample" template="sample.phtml">
</block>
</referenceContainer>
</body>
</page>
app / code / Ramesh / Sample / view / frontend / templates / sample.phtml
<?php echo 'Hi I am Magento 2'; ?>
Tapi saya mendapat kesalahan berikut:
a: 4: {i: 0; s: 380: "Kesalahan Dapat Dipulihkan: Argumen 2 diteruskan ke Ramesh \ Sample \ Controller \ Index \ Index :: __ construct () harus merupakan turunan dari Magento \ Framework \ View \ Result \ PageFactory, tidak ada yang diberikan, dipanggil dalam var / generation / Ramesh / Sample / Controller / Index / Index / Interceptor.php pada baris 14 dan didefinisikan dalam aplikasi / kode / Ramesh / Sampel / Kontroler / Indeks / Index.php pada baris 14 "; i: 1; s: 6109: "# 0 app / code / Ramesh / Sample / Controller / Index / Index.php (14): Magento \ Framework \ App \ ErrorHandler-> handler (4096, 'Argument 2 pass ...', '/ var / www / html / m ...', 14, Array)
Jawaban:
cobalah untuk menghapus modul Anda dari var / generation / vendor-name / your-module dan cobalah untuk me-refresh halaman dan periksa apakah itu berfungsi.
sumber
Anda dapat menggunakan perintah yang disebutkan di bawah ini dan kemudian menyegarkan halaman.
sumber
Ganti kode yang diberikan di bawah ini di konstruktor Anda
sumber