Magento 2中的故障覆盖布局文件


9

我使用的是Magento 2.02,我基于Luma创建了自己的主题“ cff”。

我正在尝试删除其中的catalog.compare.link障碍top.links

该块的布局似乎在

/vendor/magento/module-catalog/view/frontend/layout/default.xml

如果我添加

<referenceBlock name="catalog.compare.link" remove="true" />

在该文件中,然后按预期,“比较产品”文本将从top.links块中消失。

但是,我知道我不应该更改供应商文件。因此,我正在寻找正确的文件夹来创建自己的default.xml文件来放置删除代码:

我在文档中和网上都到处找,但是找不到此信息。我已经尝试了几个位置,但都没有工作。我以为这应该可行,但不能:

/app/design/frontend/cff/cff/Magento_Catalog/layout/default.xml

有人可以告诉我替代布局应该去哪里吗?

这是我的主要布局中的代码 default.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="catalog.compare.link" remove="true" />
    </body>
</page>

首先请升级到最新版本的Magento2(2.1.5),它应该可以正常工作。如果您在开发环境中,也不要使用静态内容部署(即用于生产环境),而在开发中,则应使用符号链接。也不要忘记从您的magento根目录或从管理员那里删除/刷新缓存“ php bin / magento cache:flush”
Vlad Patru 17-4-10

Answers:


1

您可以尝试删除比较参考容器: compare-link-wrapper

<referenceContainer name="compare-link-wrapper" remove="true" />

有一些关于通过布局xml删除元素的文档,但您可以在这里找到:http : //devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/xml-instructions.html

关于该文件需要存放在哪里的问题:您的假设是正确的,我们需要通过在主题的Magento_Catalog/layout/default.xml或中扩展default.xml来扩展它。Magento_Theme/layout/default.xml

我只是尝试使用您提供的完全相同的代码,并且没有问题删除比较块,所以我会再次检查您是否清除了缓存,并且不需要将任何内容发布到pub目录。

更新4/7/16:

您可以通过手动删除pub/static目录然后运行以下命令来刷新发布目录:

setup:static-content:deploy

泰勒,您好,我不明白您的初衷。什么是“比较参考容器”?您提供的代码不会出现在/vendor/magento/module-catalog/view/frontend/layout/default.xml中。我在您建议的两个位置都尝试了该文件,但是它不起作用。请您考虑一下可能的原因吗?最后,您的意思是“将任何内容发布到您的pub目录中?magento是否应该照顾该文件夹中的所有内容?不好意思,学习曲线在这些部分周围非常血腥……
jodaki '16

对不起,我忘了谢谢你泰勒的回答!我非常感谢您的帮助
。–

@jo我添加了一些
Tyler

0

在主题文件夹中,首先转到Magento_Theme / layout文件夹。

然后创建layout / override / base文件夹,并添加供应商的default.xml文件并添加<referenceBlock name="catalog.compare.link" remove="true" />


无需重写,只需使用他
尝试

0

我尝试从产品列表页面删除referenceContainer sidebar.additional。我做了以下步骤。

  1. 我只是<referenceContainer name="sidebar.additional">从\ vendor \ magento \ module-catalog \ view \ frontend \ layout \ default.xml 复制而来
  2. 然后放下<body>。代码应<referenceContainer name="sidebar.additional" remove="true"></referenceContainer>在app \ design \ frontend \ theme \ theme-name \ Magento_Theme \ layout \ default.xml中查找。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.