Magento 2 使店主能够在各个方面为客户提供最佳体验。自定义前端以吸引和吸引用户很容易。在本文中,我们将展示 Magento 2 开发人员的基本自定义之一:删除容器静态资源

1.如何删除块

块是一个页面输出单元,它呈现一些独特的内容(对最终用户来说是视觉上可见的任何内容),例如一条信息或用户界面元素。

在 Magento 2 中从布局中删除块的步骤:

您的代码将如下所示:

<referenceBlock <em>name</em>="product.info.overview" <em>remove</em>="true"/> 

例如,从产品页面中删除描述块:

catalog_product_view.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="product.info.overview" remove="true"/>
   </body>
</page>

在此,我使用<referenceBlock>删除块。

Name是要删除的块的名称。

Remove设置为 true 以删除。刷新缓存后,整个描述将从产品页面中删除。

2. 如何移除容器

容器在视图输出生成期间呈现子元素。它可以是空的,也可以包含任意一组 <container> 和 <block> 元素。如果 <container> 为空,并且没有子 <block> 可用,则不会在前端源代码中显示。

在 Magento 2 中从布局中删除容器的步骤:

您的代码将如下所示:

< referenceContainer 名称= 内容 移除=  />

例如,从产品页面中删除内容:

catalog_product_view.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 > 
       < referenceContainer  name = " content "  remove = " true " /> 
   </ body > 
</ page >

除了移除块之外,我曾经<referenceContainer>移除容器。

Name是我要删除的容器的名称。

Remove设置为 true 以删除。刷新缓存后,内容将从产品页面中删除。

3. 如何移除静态资源(JavaScript、CSS、字体)

要删除页面中链接的静态资源,请在扩展app/design/frontend/<Vendor>/<theme>/Magento_Theme/layout/default_head_blocks.xml<head>的主题中进行类似以下的更改

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
   <head>
       <!-- Remove local resources -->
       <remove src="css/styles-m.css" />
       <remove src="my-js.js"/>
       <remove src="Magento_Catalog::js/compare.js" />
       <!-- Remove external resources -->
       <remove src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css"/>
       <remove src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"/>
       <remove src="http://fonts.googleapis.com/css?family=Montserrat" />
   </head>
</page>

请注意,如果在初始布局中添加了带有模块路径(例如 Magento_Catalog::js/sample.js)的静态资产,则在删除资产时也需要指定模块路径。