Skip to content

Instantly share code, notes, and snippets.

@cdoublev
Created January 22, 2018 22:58
Show Gist options
  • Save cdoublev/d1bc3f82589205de67375c6ac310b1c4 to your computer and use it in GitHub Desktop.
Save cdoublev/d1bc3f82589205de67375c6ac310b1c4 to your computer and use it in GitHub Desktop.
PS product lifecycle hooks.
--------------------------------------------------------------------------------
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment