我对Magento定制模块还很陌生,只想指出正确的方向以继续学习。
我正在创建一些网站,这些网站要通过我正在开发的API动态更新库存。
目前,我有一个脚本每天运行一次,以使用当前库存数量更新每个产品,还有另一个脚本,该脚本获得自上次更新以来的差异并执行(每10分钟一次)。
我不喜欢它,因为仍有错误的余地,而且它并不适合我。我想要的是单击产品时,它会调用API,更新我的自定义字段并呈现页面。我也有一个自定义的库存状态插件,因此我真的需要它才能在页面加载之前进行调用。 。如果API有问题,我可以在超时时编写一些逻辑以渲染页面。
任何指针都会非常有帮助。
答案 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!
}
}