【问题标题】:Layout files in Magento2Magento2 中的布局文件
【发布时间】:2019-05-20 18:00:35
【问题描述】:

如何在 Magento 2 中编辑布局文件?覆盖模板文件有效,但布局文件无效。您能解释一下在自定义主题中在 Magento 2 中编辑布局文件的过程吗?

【问题讨论】:

    标签: php magento2


    【解决方案1】:

    这是一个覆盖布局文件的示例。

    路径:app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml

    如果您想覆盖Magento/Catalog 模块的catalog_product_view.xml(参见上面的路径)。

    然后按照以下步骤操作:

    1. 转到app/design/frontend/Magento/luma(your_theme)/Magento_Catalog/layout/ 并创建catalog_product_view.xml 文件。
    2. 您必须在该文件中放入小代码。

      <?xml version="1.0"?>
      <page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
            <!--As per your requirement you can put custom code here-->
      </page>
      
    3. 示例:如果您想添加 css,那么您的 catalog_product_view.xml 文件将如下所示:

       <?xml version="1.0"?>
       <page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
        <head>
            <css src="test/test.css"/>
        </head>
      </page>
      

    希望对您有所帮助!

    【讨论】:

    • 我在 app/design///Magento_/layout 下创​​建了一个布局文件。对于产品页面。但它什么也没显示。直接编辑布局文件时,它会发生变化。你能说一下,为什么它没有显示在前端。
    • 我认为您在 app/design/ 之后错过了 frontend 关键字
    • 尝试从您的默认 xml 复制完整内容。并出于测试目的进行一些更改。这样您就可以分析该主题级别的 xml 文件是否有效。
    • 我已将一个 default.xml 从 module_theme 复制到我的自定义主题中,并尝试添加一个静态块。但是什么也没发生。
    • 给我完整的路径,包括你的布局目录的文件名
    【解决方案2】:

    您没有遵循 Magento 2 路由系统。它与 Magento 1 完全不同。我附上一张图片,以便您查看路由。请点击此链接并阅读,以便您全面了解这个新系统。

    http://alanstorm.com/magento_2_mvvm_mvc

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-03
      • 2016-06-12
      • 2016-11-26
      相关资源
      最近更新 更多