无法覆盖Magento 2中的模板文件

时间:2017-09-28 13:58:52

标签: php magento2

我想要覆盖magento的核心order/info.phtml

我已经从

复制了文件

vendor/magento/module-sales/view/frontend/templates/order/info.phtml

并将其放在此处

app/design/frontend/Magento/luma/Magento_Sales/templates/order/info.phtml

但它仍然使用旧的phtml文件而不是新的覆盖文件,请告诉我我哪里做错了?

我使用的是magento的默认主题Magento/luma

2 个答案:

答案 0 :(得分:0)

您不能像这样从Luma主题覆盖文件。而且您不应该这样做,因为您试图破解Luma主题,而Luma主题的文件位于其他位置。另外,这是一个演示主题,并不意味着要使用它来创建新的生产车间。

相反,尝试在app/design/frontend下创建一个新主题,添加适当的theme.xmlregistration.php。接下来,从您的后端配置该主题。然后尝试在此处覆盖文件。

答案 1 :(得分:0)

您可以覆盖luma主题,但是您应该拥有自己的主题名称,并且必须将父主题设置为luma,以便可以从自定义主题中覆盖其属性。

希望您知道如何创建自定义主题,如果看不到以下步骤,请尝试相同的操作。

在app / design / frontend / Vendorname / themename中创建一个文件夹

示例:将供应商名称创建为Test 主题名称为:mytheme 现在您需要创建3个文件

  • composer.json
  • registration.php
  • theme.xml

在theme.xml内,您可以将父级设置为luma

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
    <title>Test mytheme</title>
    <parent>Magento/luma</parent>
    <media>
        <preview_image>media/preview.png</preview_image>
    </media>
</theme>

完成此操作后,您需要从管理端激活您的主题,在这里您可以覆盖其中的任何内容。

一旦激活了自定义主题,就用这种方式复制销售文件夹

app/design/frontend/Test/mytheme/Magento_Sales/order/info.phtml

并在其中进行更改,您可以在前端看到更改。