Magento在产品详细信息页面加载中运行自定义脚本

时间:2019-03-09 09:51:39

标签: javascript php magento-2.3

我对Magento定制模块还很陌生,只想指出正确的方向以继续学习。

我正在创建一些网站,这些网站要通过我正在开发的API动态更新库存。

目前,我有一个脚本每天运行一次,以使用当前库存数量更新每个产品,还有另一个脚本,该脚本获得自上次更新以来的差异并执行(每10分钟一次)。

我不喜欢它,因为仍有错误的余地,而且它并不适合我。我想要的是单击产品时,它会调用API,更新我的自定义字段并呈现页面。我也有一个自定义的库存状态插件,因此我真的需要它才能在页面加载之前进行调用。 。如果API有问题,我可以在超时时编写一些逻辑以渲染页面。

任何指针都会非常有帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用事件/观察器功能来调用API。尝试以下事件之一:-

catalog_controller_product_init_before
catalog_controller_product_init_after
catalog_controller_product_view

答案 1 :(得分:0)

让它正常工作...感谢您的帮助,仍然有一些工作要做,但是它会在正确的时间调用脚本!谢谢

Events.xml

<?xml version="1.0"?>

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="catalog_controller_product_init_after">
        <observer name="Apicall" instance="Olisco\Tpcconnector\Observer\ApiCall" />
    </event>
</config>


<?php
namespace Olisco\Tpcconnector\Observer;

use Magento\Framework\Event\Observer as EventObserver;
use Magento\Framework\Event\ObserverInterface;

class ApiCall implements ObserverInterface
{

    public function execute(EventObserver $observer)
    {
      #Code here to execute!
    }
}