我有一个Magento 2网站,这已经成立,让客户有自己的定价。然而,作为结果,FPC (用于类别和产品页面)现在是为每个用户唯一生成的。
为了解决这个问题,我想通过Knockout JS加载价格,以便FPC可以在所有登录的用户之间共享,但定价将根据分配给该用户的定价系统动态加载。
我从这篇文章开始:https://magently.com/blog/full-page-cache-hole-punching-in-magento-2/
我已经成功地将Knockout JS配置为在类别页面上呈现“时间戳”(来自上面的教程),并且我已经测试了所有登录用户都可以共享FPC。
但是,我现在遇到的问题是,我需要将产品ID传递给该块,以便我可以使用该类返回该产品的正确价格。我看过这里的各种文章和问题,但似乎找不到答案。
发布于 2020-11-11 22:53:11
为了增强Magento 2中绕过全页缓存特性的动态功能,我编写了一个打孔特性,它可能会帮助您查看一个工作示例。(有关详细信息,请参阅https://bitbucket.org/magstaging/punchhole
步骤1:创建实现该节点的模型步骤2:在前端视图中定义模型的节节点步骤3:通过一个操作激活节点(例如,结帐/购物车/添加步骤4:创建将使用您的节点的phtml模板步骤5:在di.xml / frontend /web/ js /jspart.js中创建js文件
define(‘js组件’,'Magento_Customer/js/customer-data‘,function (Component,customerData) {’使用严格‘;
祝好运
发布于 2020-11-14 00:14:00
似乎为了实现您的目标,您应该在产品列表模板中初始化javascript组件,这样您将能够生成一个数组,其中包含用户从集合对象中看到的产品的It。然后,要将数据传递给javascript,只需在x-magento-init的component部分下添加另一个键值对,如我的另一篇文章https://magently.com/blog/introduction-knockout-js-magento-2/中所示
请注意,您也可以使用knockout绑定来显示UI组件获取的值,而不是编写额外的脚本。
https://stackoverflow.com/questions/64689081
复制相似问题