📅  最后修改于: 2023-12-03 15:27:22.347000             🧑  作者: Mango
Magento是一款流行的电商平台,它提供了一个管理后台,可以轻松地管理商店的内容、订单、客户等。而空白管理页面是Magento管理后台中的一个重要页面,它允许您自定义新页面或修改现有页面的布局和内容。
在本介绍中,我们将讨论Magento 2.3版本中的空白管理页面并介绍如何使用PHP为其添加自定义内容和布局。这将使您能够为您的商店创建独特的管理页面。
以下是如何为您的Magento 2.3商店创建自定义空白管理页面的步骤。
您可以通过以下步骤创建一个空白的管理页面:
登录Magento后台。
进入“Content > Pages”,创建一个新页面。
在“Page Information”部分中,填写页面的基本信息,例如标题、URL等。
在“Content”部分中,选择“Empty”页面类型,然后单击保存。
接下来,您需要连接到您的PHP文件来为其添加内容和布局。您可以通过以下步骤完成此操作:
打开您的PHP文件并连接到Magento的框架。
require_once('app/bootstrap.php');
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$state = $objectManager->get('Magento\Framework\App\State');
$state->setAreaCode('adminhtml');
这将连接您的PHP文件到Magento框架,并将状态设置为“adminhtml”以便为管理后台连接。
获取页面ID并加载页面对象。
$pageId = 'custom_page_id'; // 替换您的页面ID
$pageRepository = $objectManager->get('Magento\Cms\Api\PageRepositoryInterface');
$page = $pageRepository->getById($pageId);
这将获取您的页面ID并加载页面对象,以便可以将内容添加到该页面。
添加您的PHP代码到页面内容。
$pageContent = $page->getContent();
$pageContent .= 'Your PHP code here';
$page->setContent($pageContent);
$pageRepository->save($page);
这将获取页面的内容,然后将您的PHP代码添加到内容中。最后,将内容保存回页面对象中。
上述步骤将为您的Magento商店创建自定义空白管理页面并将您的PHP代码添加到其中。现在,您需要添加代码以在Magento后台中显示该页面。
创建自定义模块
在Magento 2.3中,您需要创建一个自定义模块来显示您的自定义管理页面。您可以通过以下步骤创建自定义模块:
在Magento 2.3根目录下,创建以下目录结构:
app/code/<Vendor>/<Module>
其中,<Vendor>
代表您的公司或组织名称,<Module>
代表您的模块名称。
在您的新模块目录中,创建一个registration.php
文件,指定您的模块名称和路径:
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'<Vendor>_<Module>',
__DIR__
);
再创建一个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="<Vendor>_<Module>" setup_version="1.0.0"/>
</config>
创建一个控制器
接下来,您需要创建一个控制器来呈现您的自定义空白管理页面。您可以通过以下步骤完成此操作:
在您的自定义模块目录中,创建以下目录结构:
Controller/Adminhtml/Page/Custom.php
在Custom.php
文件中,添加以下代码:
<?php
namespace <Vendor>\<Module>\Controller\Adminhtml\Page;
use Magento\Framework\App\ResponseInterface;
use Magento\Framework\View\Result\PageFactory;
use Magento\Backend\App\Action;
use Magento\Backend\App\Action\Context;
class Custom extends Action
{
/**
* @var PageFactory
*/
protected $resultPageFactory;
/**
* Custom constructor.
* @param Context $context
* @param PageFactory $resultPageFactory
*/
public function __construct(
Context $context,
PageFactory $resultPageFactory
)
{
$this->resultPageFactory = $resultPageFactory;
parent::__construct($context);
}
/**
* @return ResponseInterface|\Magento\Framework\Controller\ResultInterface|void
*/
public function execute()
{
$resultPage = $this->resultPageFactory->create();
$resultPage->getConfig()->getTitle()->prepend(__('Custom Page'));
return $resultPage;
}
}
这将创建一个名为Custom
的控制器,用于显示您的自定义空白管理页面。
配置路由
最后,您需要配置路由以便正确连接到您创建的控制器。您可以通过以下步骤完成此操作:
在您的自定义模块目录中,创建以下目录结构:
etc/adminhtml/routes.xml
在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="admin">
<route id="<vendor>_<module>" frontName="<vendor>_<module>">
<module name="<Vendor>_<Module>" before="Magento_Backend" />
</route>
</router>
</config>
这将配置路由以便连接到您创建的控制器。现在,您可以在Magento后台中访问此页面。
经过上述步骤,您现在可以在Magento后台中访问您的自定义空白管理页面。您可以通过以下步骤完成此操作:
登录Magento后台。
进入“Content > Pages”。
找到您创建的空白管理页面,单击“Edit”以编辑它。
在“Content”部分中,添加以下HTML代码:
<a href="{{config path="web/secure/base_url"}}admin/<vendor>_<module>/page/custom">Custom Page</a>
请确保将<vendor>
和<module>
替换为您的模块名称,然后单击“Save Page”以保存更改。
现在,在Magento后台顶部栏中,单击“CMS”>“Custom Page”,即可访问您的自定义空白管理页面。
在本介绍中,我们讨论了如何使用PHP为Magento 2.3商店创建自定义空白管理页面。通过按照上述步骤,您可以轻松地为您的商店创建独特的管理页面,并添加自定义内容和布局。此外,通过创建自定义模块和控制器,您可以为Magento商店添加任何自定义页面。