Magento 2バージョンbeta-1.0.0を使用して、シンプルな新しいカスタムモジュールを作成しようとしています。カスタムモジュールは機能しますが、本文のコンテンツに空白のページが表示されます。
モジュールは以下のように行われます。
フォルダ構造:こんにちは
-app
-code
-Magento
-Hello
-Block
--Hello.php
-Controller
-Index
--Index.php
-etc
--module.xml
-frontend
--routes.xml
-view
-frontend
-layout
--hello_index_index.xml
-templates
--hello.phtml
ファイルは以下の通りです。
(1)app / code / Magento / Hello / 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="Magento_Hello" setup_version="0.0.1"/>
</config>
(2)app / code / Magento / Hello / 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="hello" frontName="hello">
<module name="Magento_Hello"/>
</route>
</router>
</config>
(3)app / code / Magento / Hello / Controller / Index / Index.php
class Index extends \Magento\Framework\App\Action\Action
{
protected $resultPageFactory;
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $resultPageFactory
)
{
parent::__construct($context);
$this->resultPageFactory = $resultPageFactory;
}
public function execute()
{
return $this->resultPageFactory->create();
}
}
(4)app / code / Magento / Hello / Block / Hello.php
<?php
namespace Magento\Hello\Block;
class Hello extends \Magento\Framework\View\Element\Template
{
public function _prepareLayout()
{
return parent::_prepareLayout();
}
}
(5)app / code / Magento / Hello / view / frontend / layout / hello_index_index.xml
<?xml version="1.0" ?>
<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 to Magento 2.0</title>
</head>
<body>
<referenceContainer name="content">
<block class="Magento\Hello\Block\Hello" name="hello" template="hello.phtml" />
</referenceContainer>
</body>
</page>
(6)app / code / Magento / Hello / view / frontend / templates / hello.phtml
<?php echo "This is simple hello module on Magento 2.0"; ?>
モジュールが作成されたら、Magentoのセットアップも更新しました。
cd [magento2_root_folder_path]
php bin / magento setup:upgrade
そして私が行くなら
http:// localhost / magento2 / hello / index / index「body」タグの下に空白が表示されます。タイトルと一緒に「head」タグが表示されるので、モジュールが正しくロードされていると確信しています。
任意の助けをいただければ幸いです。
layout="2columns-left"
のpage
ノードにこれを追加してみてくださいhello_index_index.xml