最近,我遇到了Magento 2中一个有趣的新概念:客户区
你们中的有些人可能已经注意到sections.xml
文件的外观如下:
<?xml version="1.0"?>
<!--
/**
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Customer:etc/sections.xsd">
<action name="sales/guest/reorder">
<section name="cart"/>
</action>
<action name="sales/order/reorder">
<section name="cart"/>
</action>
</config>
据我了解,这些文件指定了在调用相应操作时应更新哪些客户部分。
我注意到例如Magento/Checkout/etc/frontend/sections.xml
以下部分:
<action name="checkout/cart/add">
<section name="cart"/>
</action>
将产品添加到购物车后,是什么触发了微型购物车更新。
我尝试使用以下etc/frontend/sections.xml
文件创建自定义模块以测试该功能:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Customer:etc/sections.xsd">
<action name="checkout/cart/index">
<section name="cart"/>
</action>
</config>
但是,当我到达购物车页面时(在控制台中没有GET请求),它似乎并没有尝试更新我的购物车部分。似乎整个部分的功能都由Magento_Customer
模块以某种方式处理。
- 这些部分到底是什么?您如何定义部分?
- 如何触发节更新?
- (可选)当我到达购物车页面时,如何修复测试代码以更新小型购物车?