php - 我们如何使用 opencart 事件?

标签 php opencart opencart2.x opencart-events

我搜索了很多关于 opencart 触发器的信息,但没有找到合适的示例。在 opencart 2.0 中有一些触发器,开发人员可以在触发器上 Hook 函数并执行一些操作,就像我猜的 wordpress 操作和过滤器一样。例如在

catalog/model/checkout/order.php

有一个触发器$this->event->trigger('post.order.history.add', $order_id)
有人可以帮我把我的功能卡在上面的触发器上吗?

最佳答案

重要提示:此答案适用于 OC >2.0.x.x 和 <2.2.x.x。

这里的问题是使用(和搜索)了错误的词 - 您应该搜索的正确词是 事件 ,并从中派生 事件监听器 触发事件 (不幸的是,在尝试搜索这些时也没有运气,2.0 的文档仍然丢失)。

现在我相信整个背景更容易理解,特别是如果您对来自其他框架(也许是 jQuery?)的事件有一些了解,但这里只是一个如何处理事件的快速指南(在 OC 2.0 中):

  • 首先我们需要注册一个事件监听器,像这样:
    $this->event->register('post.order.history.add', 'checkout/order/send_email');
  • 在某些地方触发事件,例如
    $this->event->trigger('pre.order.history.add', $order_id);

    $this->event->trigger('post.order.history.add', $order_id);
  • 如果事件(由其名称 post.order.history.add 标识)监听器被注册,它将在触发器
  • 上被调用。

    如需更多信息或自行解决,您可以查看 system/engine/event.php (现在没有什么可以处理的了)。

    关于php - 我们如何使用 opencart 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26428914/

    相关文章:

    css - 限制 opencart 2.0 类别产品名称中的字符或字母

    php - 如何在网站中添加社交登录选项?

    PHP +mysql.动态网站,友情链接

    php - 如何在购物车中传递自定义变量?

    wordpress - 主目录中的 Htaccess 与子目录冲突

    php - opencart 将额外字段添加到帐户

    php - 注意:使用未定义的常量GLOB_BRACE

    php - yii2 : Setting rules for csv file upload and retaining original filename

    php - 在 MySQL 问题中连接表 (php)

    php - 在 OpenCart 中创建并加载模块?