如何覆盖magento 2 adminhtml模板视图文件?

时间:2018-05-23 09:30:01

标签: magento2

我想覆盖htdocs\shop\vendor\magento\module-catalog\view\adminhtml\templates\catalog.phtml

htdocs\shop\app\design\adminhtml\Magento_Catalog\view\adminhtml\templates\catalog.phtml

但我不知道该怎么做

2 个答案:

答案 0 :(得分:0)

您需要创建一个管理主题并为管理区域分配

首先,我们将创建新的管理主题。

Step1:在app/design/adminhtml/[Theme-Namespace]/[themename]中创建主题目录,并创建theme.xml文件。把下面的代码放在theme.xml

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
    <title>Admin Custom Theme for Magento 2</title> <!-- your Custom theme's name -->
    <parent>Magento/backend</parent> <!-- it must be parent theme. Example: Magento/backend -->
</theme>

Step2:在app\design\adminhtml[Theme-Namespace][themename]中创建registration.php并添加如下代码

<?php
    use \Magento\Framework\Component\ComponentRegistrar;
    ComponentRegistrar::register(ComponentRegistrar::THEME, 'adminhtml/[Theme-Namespace]/[themename]', __DIR__); 
?>

Step3: 在 app\design\adminhtml[Theme-Namespace][themename]\Magento_Catalog 中创建文件夹 Magento_Catalog 和

Step4: 在 app\design\adminhtml[Theme-Namespace][themename]\Magento_Catalog\templates 中创建文件夹模板和 将此添加到您的文件 catalog.phtml

现在我们需要为管理区域分配新主题

Step1:新建一个模块并创建di.xml文件app/code/Vendor/Module-Name/etc/di.xml

<?xml version="1.0"?>
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
        <type name="Magento\Theme\Model\View\Design">
            <arguments>
                <argument name="themes" xsi:type="array">
                    <item name="adminhtml" xsi:type="string">[Theme-Namespace]/[themename]</item>
                </argument>
            </arguments>
        </type>
    </config>

Step2:创建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="Vendor _ Module-Name" setup_version="1.0.0"/>
    </config>

Step3:创建registration.php文件

<?php
        \Magento\Framework\Component\ComponentRegistrar::register(
            \Magento\Framework\Component\ComponentRegistrar::MODULE,
            'Vendor _ Module-Name',
            __DIR__
        );

现在运行所有命令并检查您的更改。

答案 1 :(得分:-1)

路径应为

htdocs\shop\app\design\frontend\theme_Namespace \theme_Name\Magento_Catalog\templates\catalog.phtml