Skip to content

Instantly share code, notes, and snippets.

@cdoublev
Created January 22, 2018 22:58

Revisions

  1. cdoublev created this gist Jan 22, 2018.
    59 changes: 59 additions & 0 deletions product-lifecycle-hooks.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,59 @@
    --------------------------------------------------------------------------------
    Duplicate product ($this->action = 'duplicate')
    --------------------------------------------------------------------------------
    AdminController::postProcess > actionAdminProductsControllerDuplicateBefore
    AdminProductsController::processDuplicate
    Product::add
    ObjectModel::add > actionObjectProductAddBefore
    --- ! saved ! ---
    ObjectModel::add > actionObjectProductAddAfter
    Product::add > actionProductSave
    --- ! post save actions done ! ---
    --- ! delete if error ! ---
    AdminProductsController::processDuplicate > actionProductAdd
    AdminController::postProcess > actionAdminProductsControllerDuplicateAfter
    --------------------------------------------------------------------------------
    Add product ($this->action = 'save')
    --------------------------------------------------------------------------------
    AdminController::postProcess > actionAdminProductsControllerSaveBefore
    AdminController::processSave
    AdminProductsController::processAdd
    --- ! fields validated ! ---
    --- ! stop if error ! ---
    Product::add
    ObjectModel::add > actionObjectProductAddBefore
    --- ! saved ! ---
    ObjectModel::add > actionObjectProductAddAfter
    Product::add > actionProductSave
    --- ! post save actions done ! ---
    --- ! delete if error ! ---
    AdminProductsController::processAdd > actionProductAdd
    AdminController::postProcess > actionAdminProductsControllerSaveAfter
    --------------------------------------------------------------------------------
    Update product ($this->action = 'save')
    --------------------------------------------------------------------------------
    AdminController::postProcess > actionAdminProductsControllerSaveBefore
    AdminController::processSave
    AdminProductsController::processUpdate
    --- ! fields validated ! ---
    --- ! stop if error ! ---
    --- ! setFieldsToUpdate ! ---
    Product::update
    ObjectModel::update > actionObjectProductUpdateBefore
    --- ! saved ! ---
    ObjectModel::update > actionObjectProductUpdateAfter
    Product::update > actionProductSave
    Product::update > actionProductUpdate
    AdminController::postProcess > actionAdminProductsControllerSaveAfter
    --------------------------------------------------------------------------------
    Delete product ($this->action = 'delete')
    --------------------------------------------------------------------------------
    Admin::postProcess > actionAdminProductsControllerDeleteBefore
    AdminProductsController::processDelete
    Product::delete
    --- ! stock checked ! ---
    ObjectModel::delete > actionObjectProductDeleteBefore
    --- ! deleted ! ---
    ObjectModel::delete > actionObjectProductDeleteAfter
    Product::delete > actionProductDelete
    AdminController::postProcess > actionAdminProductsControllerDeleteAfter