Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php opencart 2.3.x自定义模块中的事件不会触发_Php_Opencart2.x_Opencart Module_Opencart2.3 - Fatal编程技术网

Php opencart 2.3.x自定义模块中的事件不会触发

Php opencart 2.3.x自定义模块中的事件不会触发,php,opencart2.x,opencart-module,opencart2.3,Php,Opencart2.x,Opencart Module,Opencart2.3,我是Opencart模块开发的新手,尝试在OC2.3.x上创建带有事件的自定义模块。 以下是我所做的代码: class ControllerExtensionModuleFSElias extends Controller { public function install() { $this->load->model('extension/event'); $this->model_extension_event->add

我是Opencart模块开发的新手,尝试在OC2.3.x上创建带有事件的自定义模块。 以下是我所做的代码:

class ControllerExtensionModuleFSElias extends Controller
{
    public function install()
    {
        $this->load->model('extension/event');
        $this->model_extension_event->addEvent('fselias', 'admin/model/catalog/product/addProduct/after', 'fselias/events/add_product');
    }

    public function add_product($route, $product_id)
    {
        $this->load->model('sale/order');
        $this->load->model('catalog/product');

        //$product_id - you can get the product id that was recentlt added in this function
        $log = date("F j, Y, g:i a") . ': ' . $route . ': ' . $product_id . PHP_EOL;
        file_put_contents('./products_log_' . date("j.n.Y") . '.txt', $log, FILE_APPEND);
    }
}

正在注册事件,但添加新产品时未触发事件,请询问我在其中做错了什么?

我不确定您为参数3(
fselias/events/add_product
)提供的字符串是否正确;这应该是通往控制器的路线。但要调试它,您可以在
system/engine/loader.php
中设置一个断点,触发post事件并查看事件发生了什么。如果找不到事件,系统会无声地失败——这发生在我身上,在调试器中运行系统是我跟踪它的唯一方法

我不确定您为参数3(
fselias/events/add_product
)提供的字符串是否正确;这应该是通往控制器的路线。但要调试它,您可以在
system/engine/loader.php
中设置一个断点,触发post事件并查看事件发生了什么。如果找不到事件,系统会无声地失败——这发生在我身上,在调试器中运行系统是我跟踪它的唯一方法

能否请您详细说明如何“看到事件发生了什么”?如果您在加载程序中设置断点,您将看到事件是如何处理的。例如,可能您的事件没有到达那里,或者它确实到达并且有某种错误。请您详细说明如何“看到您的事件发生了什么”?如果您在加载程序中设置断点,您将看到事件是如何处理的。例如,可能您的事件没有到达那里,或者它确实到达了那里并且有某种错误。