我在管理主“产品”菜单中有子菜单“删除产品2”。当我单击它时-它会加载没有模板的空白页。
这是menu.xml文件:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../Backend/etc/menu.xsd">
<menu>
<add id="Sky_LBT::delete_product2"
title="Delete Product 2"
translate="title"
module="Sky_LBT"
sortOrder="50"
parent="Magento_Catalog::catalog"
resource="Skillaerea_Catalog::motormarket"
action="lbta/lbta/index"
/>
</menu>
</config>
这是routes.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="admin">
<route id="lbta" frontName="lbta">
<module name="Sky_LBT"/>
</route>
</router>
</config>
这是布局lbta_lbta_index.xml文件:
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<referenceContainer name="content">
<block class="Sky\LBT\Block\Adminhtml\LBTA"
name="lbta"
template="Sky_LBT::lbta.phtml"
/>
</referenceContainer>
</page>
这是控制器\ Controller \ Adminhtml \ LBTA \ Index.php:
class Index extends \Magento\Backend\App\Action
{
protected $_resultPageFactory;
public function __construct(
\Magento\Backend\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $resultPageFactory
)
{
$this->_resultPageFactory = $resultPageFactory;
return parent::__construct($context);
}
public function execute()
{
return $this->_resultPageFactory->create();
}
}
这是块Block \ Adminhtml \ LBTA.php:
class LBTA extends \Magento\Backend\Block\Template
{
public function __construct(
\Magento\Backend\Block\Template\Context $context
)
{
parent::__construct($context);
}
public function sayHello()
{
return __('Hello World');
}
}
这是模板lbta.phtml文件:
<h2>Welcome to admin</h2>
<?php
echo $block->sayHello();
请帮助。
答案 0 :(得分:0)
我找到了解决方案。需要在lbta_lbta_index.xml文件中将layout =“ 1column”更改为layout =“ admin-1column”。