📜  删除默认产品数据选项卡 - PHP (1)

📅  最后修改于: 2023-12-03 15:22:44.509000             🧑  作者: Mango

删除默认产品数据选项卡 - PHP

本文介绍如何在PHP中删除Magento 2默认产品数据选项卡。

简介

Magento 2的产品页面中默认包含一些选项卡,如“详细信息”、“设计”、“产品评论”等。如果您的Magento网站不需要某些选项卡,您可以使用以下PHP代码删除它们。

代码
<?php
namespace [Vendor]\[Module]\Plugin\Catalog\Block\Adminhtml\Product\Edit;

use Magento\Catalog\Block\Adminhtml\Product\Edit\Tabs;
use Magento\Backend\Block\Template\Context;

class RemoveTabs
{
    protected $context;
    protected $tabs;

    public function __construct(
        Context $context,
        Tabs $tabs
    ) {
        $this->context = $context;
        $this->tabs = $tabs;
    }

    public function afterToHtml(Tabs $subject, $result)
    {
        $result = preg_replace('#\<!--[^\>]*' . 'tab-label="([^"]*)"[^\>]*\>-->\<\/tab\>#s', '', $result);

        return $result;
    }
}
说明

上述代码是一个插件,它重写了Magento 2的Tabs类并删除了默认产品数据选项卡的代码。要使用此插件,请执行以下步骤:

  1. 创建一个新的Magento 2扩展。
  2. 在扩展的etc/di.xml文件中添加以下代码:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Catalog\Block\Adminhtml\Product\Edit\Tabs">
        <plugin name="[Vendor]_[Module]::remove_tabs" type="[Vendor]\[Module]\Plugin\Catalog\Block\Adminhtml\Product\Edit\RemoveTabs"/>
    </type>
</config>
  1. 将上述代码中的[Vendor][Module]替换为您的扩展的名称。
  2. 如果您还想删除其他选项卡,请在插件类的构造函数中注入Magento\Catalog\Model\Product\Attribute\Backend\Group\TabGroup类并使用相同的正则表达式来删除其他选项卡。
结论

以上是如何删除Magento 2默认产品数据选项卡的方法。请牢记备份您的代码,并确保您了解此更改的影响。