Как получить product_id в событии product_add_after?

Как получить product_id в событии product_add_after?

05.06.2019 01:24:40 Просмотров 28 Источник

У меня есть модуль, который запускается по событию after_product_add в OpenCart 3.0.3.1. В коде я хочу добавить информацию к продукту, но для этого мне нужен product_id, который не входит в массив данных, которые я получаю от события.

Кто-нибудь знает решение помимо изменения исходного кода OpenCart?

Исходная информация: Модуль будет синхронизировать продукты с другой системой, при создании которой я хочу сохранить guid в базе данных. Для этого мне нужен product_id.

Массив, который я получаю от триггера события, является: Массив ( [0] => массив ( [product_description] = > массив ( [1] => массив ( [наименование] => test25 [описание] => [meta_title] = > test25 [метаописание] => [meta_keyword] => [метка] => )

            )

        [model] => test25
        [sku] => 
        [upc] => 
        [ean] => 
        [jan] => 
        [isbn] => 
        [mpn] => 
        [location] => 
        [price] => 
        [tax_class_id] => 0
        [quantity] => 1
        [minimum] => 1
        [subtract] => 1
        [stock_status_id] => 6
        [shipping] => 1
        [date_available] => 2019-06-04
        [length] => 
        [width] => 
        [height] => 
        [length_class_id] => 1
        [weight] => 
        [weight_class_id] => 1
        [status] => 1
        [sort_order] => 1
        [manufacturer] => 
        [manufacturer_id] => 0
        [category] => 
        [filter] => 
        [product_store] => Array
            (
                [0] => 0
            )

        [download] => 
        [related] => 
        [option] => 
        [image] => 
        [points] => 
        [product_reward] => Array
            (
                [1] => Array
                    (
                        [points] => 
                    )

            )

        [product_seo_url] => Array
            (
                [0] => Array
                    (
                        [1] => 
                    )

            )

        [product_layout] => Array
            (
                [0] => 
            )

    )

)

Я искал форумы и документацию для разработчиков. Единственные ссылки, которые я нахожу, говорят мне, что информации не больше, чем у меня уже есть. Я попытался получить идентификатор продукта из запроса

public function createproduct($route, $args) {
    if ($this->config->get('module_umrlzconn_status')) {
        if ($this->config->get('module_umrlzconn_productsync')) {
            $this->load->model('extension/module/umrlzconn');
            file_put_contents(DIR_STORAGE .'UMRLZ/prodcreate.log', print_r($args,true));
            $productguid = $this->NewGuid();
            $this->model_extension_module_umrlzconn->setProductGuid($this->request->get['product_id'], $productguid);
        }
    }
}

Я хотел бы получить product_id для продукта, который только что был создан, чтобы я мог использовать его для добавления информации к нему.

У вопроса есть решение - Посмотреть?

Ответы - Как получить product_id в событии product_add_after? / How to get the product_id on the product_add_after event?

Является ответом!
IJsbrand Schipperus

05.06.2019 11:38:50

Любой, кто ищет ответ, благодаря DigitCart на форуме OpenCart, product_id отправляется в качестве третьей переменной с событием-действием. Таким образом, вы можете получить идентификатор продукта следующим образом:

public function createproduct($route, $args, $product_id) {
 // Do your thing
}  
Закрыть X