如何在 Magento 2 中删除块、容器、静态资源
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)的静态资产,则在删除资产时也需要指定模块路径。