【问题标题】:Override layout xml on child theme doesn't work覆盖子主题上的布局 xml 不起作用
【发布时间】:2023-02-24 10:49:50
【问题描述】:

我尝试在我的子主题中覆盖我的主题布局文件

我在 magento 2.2.11 上,我想用子主题覆盖我的主题中的 xml 文件。我尝试关注magento doc 但没有成功

我有 :

app/design/frontend/Myvendor/mytheme/Myvendor_Header/layout/default.xml

我想超越他。

我试试这个:

app/design/frontend/Myvendor/mytheme_child/Myvendor_Header/layout/override/theme/Myvendor/mytheme/default.xml

而且我的 xml 孩子不工作,我没有错误。它只加载我的父 xml。

我的子主题定义正确,因为我的 .phtml 文件覆盖了父文件。

你有覆盖我的布局父级的解决方案吗?

【问题讨论】:

    标签: magento2


    【解决方案1】:

    请尝试在此路径中添加 layout.xml 文件,然后运行 ​​Magento 命令。

    应用程序/设计/前端/Myvendor/mytheme_child/Myvendor_Header/layout/default.xml

    谢谢!!

    【讨论】:

      【解决方案2】:

      我找到了解决问题的办法。

      开始检查主题是否设置为物理。

      转到您的数据库 -> 表“主题” -> 列“类型”必须为 0

      如果您在一个域中测试多个站点

      要强制访问特定网站,请访问索引.php并添加这些行:

      $params[MagentoStoreModelStoreManager::PARAM_RUN_CODE] = "my_website_view";
      $params[MagentoStoreModelStoreManager::PARAM_RUN_TYPE] = 'store';
      $bootstrap = MagentoFrameworkAppBootstrap::create(BP, $params);
      

      将子布局放在子主题中

      应用程序/设计/前端/Myvendor/mytheme_child/Myvendor_Header/layout/default.xml

      最后,启动命令

      1. rm -rf 生成/代码/生成/元数据/* var/page_cache/* var/view_preprocessed/* var/cache/*
      2. php bin/magento 缓存:刷新
      3. php bin/magento 设置:升级
      4. php bin/magento setup:static-content:deploy -f

      【讨论】:

        【解决方案3】:

        多谢塞巴斯蒂安,花了将近 2 个小时来解决这个问题,你改变类型的想法真的很有效。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-12-24
          • 2019-05-21
          • 1970-01-01
          • 2012-06-10
          • 1970-01-01
          • 2016-08-22
          • 1970-01-01
          相关资源
          最近更新 更多