当客户点击" Go To Checkout"时发送的事件的名称是什么?在他们的购物车上添加东西后?我想注册用户启动了分析的结帐流程。具体来说,我需要捕获购物车的内容和其他信息,如总价等。
我已尝试this list上与" checkout"相关的大部分活动。或"购物车"。当用户点击结帐时,似乎都没有调度它们。我能得到的最近的是
controller_action_predispatch_checkout_cart_index
当用户点击"查看和编辑购物车"。
时调度我正在寻找解决这个问题的几种方法
答案 0 :(得分:3)
使用controller_action_predispatch_checkout_index_index
。
答案 1 :(得分:0)
你可以使用 checkout_cart_save_before 这个你可以找到的事件 的供应商/的magento /模块结账/型号/ Cart.php 强>
搜索以下代码段:
$this->_eventManager->dispatch('checkout_cart_save_before', ['cart' => $this]);
希望这有助于你
答案 2 :(得分:0)
可能这是您正在寻找的第二种方式。您可以在“\ Magento \ Framework \ Event \ Manager :: dispatch”方法(文件./vendor/magento/framework/Event/Manager.php)中记录所有事件:
public function dispatch($eventName, array $data = [])
{
$obm = \Magento\Framework\App\ObjectManager::getInstance();
/** @var $logger \Psr\Log\LoggerInterface */
$logger = $obm->get(\Psr\Log\LoggerInterface::class);
$logger->debug($eventName);
// original code
$eventName = mb_strtolower($eventName);
...
}
日志文件放在“./var/log”文件夹
中答案 3 :(得分:0)
我认为应该是
sales_quote_save_after
希望,它会帮助你。
答案 4 :(得分:0)
如果我想记录在某些特定交互之后调度的所有事件,我会转到Magento\Framework\Event\Manager
并在dispatch
方法中设置一个断点,将$eventName
记录到控制台。< / p>
您还可以在自定义模块中添加日志语句或编写插件,以将事件名称记录到某个文件中。
点击Go to checkout
时会发送许多事件,可能checkout_cart_save_before
是您正在寻找的事件。
答案 5 :(得分:0)
使用layout_render_before_checkout_index_index或controller_action_predispatch_checkout_index_index