Hooks in PrestaShop

Hooks in PrestaShop 1.5 have a new naming scheme, with a situation-specific prefix:

  • action. These hooks are triggered by specific events that take place in PrestaShop.
  • display. These hooks result in something being displayed, either in the front-end or the back-end.

This way, you will know right away what type of hook you are dealing with. Older hooks have been renamed to match this scheme.

New & updated hooks

All hooks in PrestaShop have been updated for version 1.5, and several new ones were added.

Icon

The following “new hooks” and “updated hooks” lists were automatically generated by a script. Hook descriptions appear as they are in the PrestaShop database, and can sometimes be missing.

New hooks

Hook name

Hook description

actionAdminMetaControllerUpdate_optionsBefore  
actionAdminMetaSave After saving configuration in AdminMeta
actionAttributeDelete On deleting attribute feature value
actionAttributeGroupDelete On deleting attribute group
actionAttributeGroupSave On saving attribute group
actionAttributePostProcess On post-process in admin feature value
actionAttributeSave On saving attribute feature value
actionAuthentication  
actionBeforeAuthentication Before authentication
actionCarrierProcess  
actionCarrierUpdate This hook is called when a carrier is updated
actionCartSave  
actionCategoryAdd  
actionCategoryDelete  
actionCategoryUpdate  
actionCustomerAccountAdd Called when a new customer successfully creates account
actionFeatureDelete On deleting attribute feature
actionFeatureSave On saving attribute feature
actionFeatureValueDelete On deleting attribute feature value
actionFeatureValueSave On saving attribute feature value
actionHtaccessCreate After .htaccess creation
actionObjectCategoryDeleteAfter  
actionObjectCategoryUpdateAfter  
actionObjectCmsDeleteAfter  
actionObjectCmsUpdateAfter  
actionObjectManufacturerDeleteAfter  
actionObjectManufacturerUpdateAfter  
actionObjectProductDeleteAfter  
actionObjectProductUpdateAfter  
actionObjectSupplierDeleteAfter  
actionObjectSupplierUpdateAfter  
actionOrderDetail To set the follow-up in Smarty when order detail is called.
actionOrderReturn  
actionOrderSlipAdd Called when a quantity of one product change in an order.
actionOrderStatusPostUpdate  
actionOrderStatusUpdate Launch modules when the order’s status changes.
actionPaymentCCAdd Payment CC added
actionPaymentConfirmation  
actionProductAdd  
actionProductAttributeDelete  
actionProductAttributeUpdate  
actionProductCancel This hook is called when you cancel a product in an order
actionProductDelete This hook is called when a product is deleted
actionProductListOverride Assign product list to a category
actionProductOutOfStock Make action while product is out of stock
actionProductSave On saving products
actionProductUpdate  
actionSearch  
actionShopDataDuplication  
actionTaxManager  
actionUpdateQuantity Quantity is updated only when the customer effectively place his order.
actionValidateOrder  
actionWatermark  
displayAdminCustomers Launch modules when the tab AdminCustomers is displayed on back-office.
displayAdminOrder Launch modules when the tab AdminOrder is displayed on back-office.
displayAdminStatsGraphEngine  
displayAdminStatsGridEngine  
displayAdminStatsModules  
displayAttributeForm Add fields to the form “attribute value”
displayAttributeGroupForm Add fields to the form “attribute group”
displayAttributeGroupPostProcess On post-process in admin attribute group
displayBackOfficeFooter  
displayBackOfficeHeader  
displayBackOfficeHome  
displayBackOfficeTop  
displayBeforeCarrier This hook is display before the carrier list on Front office
displayBeforePayment Redirect user to the module instead of displaying payment modules
displayCarrierList  
displayCustomerAccount Display on page account of the customer
displayCustomerAccountForm Display some information on the form to create a customer account
displayCustomerAccountFormTop  
displayFeatureForm Add fields to the form “feature”
displayFeaturePostProcess On post-process in admin feature
displayFeatureValueForm Add fields to the form “feature value”
displayFeatureValuePostProcess On post-process in admin feature value
displayFooter Add block in footer
displayFooterProduct Add new blocks under the product description
displayHeader A hook which allow you to do things in the header of each pages
displayHome  
displayInvoice Add blocks to invoice (order)
displayLeftColumn  
displayLeftColumnProduct  
displayMyAccountBlock Display extra information inside the “my account” block
displayMyAccountBlockfooter Display extra information inside the “my account” block
displayOrderConfirmation Called on order confirmation page
displayOrderDetail Displayed on order detail on front office
displayPDFInvoice Allow the display of extra information into the PDF invoice
displayPayment  
displayPaymentReturn  
displayPaymentTop Top of payment page
displayProductButtons Put new action buttons on product page
displayProductComparison Extra Product Comparison
displayProductTab Called on order product page tabs
displayProductTabContent Called on order product page tabs
displayRightColumn  
displayRightColumnProduct  
displayShoppingCart Display some specific information
displayShoppingCartFooter Display some specific information on the shopping cart page
displayTop A hook which enables you to do things at the top of each page.

Updated hooks

Most of these hooks are the same as they were in version 1.4 of PrestaShop, but have been renamed with either an “action” or “display” prefix in order to be compatible with the new 1.5 naming scheme.

Old hook name

New hook name

Hook description

AdminStatsModules displayAdminStatsModules  
GraphEngine displayAdminStatsGraphEngine  
GridEngine displayAdminStatsGridEngine  
PDFInvoice displayPDFInvoice Allow the display of extra information into the PDF invoice
addproduct actionProductAdd  
adminCustomers displayAdminCustomers Launch modules when the tab AdminCustomers is displayed on back-office.
adminOrder displayAdminOrder Launch modules when the tab AdminOrder is displayed on back-office.
afterCreateHtaccess actionHtaccessCreate After .htaccess creation
afterDeleteAttribute actionAttributeDelete On deleting attribute feature value
afterDeleteAttributeGroup actionAttributeGroupDelete On deleting attribute group
afterDeleteFeature actionFeatureDelete On deleting attribute feature
afterDeleteFeatureValue actionFeatureValueDelete On deleting attribute feature value
afterSaveAdminMeta actionAdminMetaSave After save configuration in AdminMeta
afterSaveAttribute actionAttributeSave On saving attribute feature value
afterSaveAttributeGroup actionAttributeGroupSave On saving attribute group
afterSaveFeature actionFeatureSave On saving attribute feature
afterSaveFeatureValue actionFeatureValueSave On saving attribute feature value
afterSaveProduct actionProductSave On saving products
attributeForm displayAttributeForm Add fields to the form “attribute value”
attributeGroupForm displayAttributeGroupForm Add fields to the form “attribute group”
authentication actionAuthentication  
backBeforePayment displayBeforePayment Redirect user to the module instead of displaying payment modules
backOfficeFooter displayBackOfficeFooter  
backOfficeHeader displayBackOfficeHeader  
backOfficeHome displayBackOfficeHome  
backOfficeTop displayBackOfficeTop  
beforeAuthentication actionBeforeAuthentication Before authentication
beforeCarrier displayBeforeCarrier This hook is display before the carrier list on Front office
cancelProduct actionProductCancel This hook is called when you cancel a product in an order
cart actionCartSave  
categoryAddition actionCategoryAdd  
categoryDeletion actionCategoryDelete  
categoryUpdate actionCategoryUpdate  
createAccount actionCustomerAccountAdd Called when a new customer successfully creates an account
createAccountForm displayCustomerAccountForm Display some information on the form to create a customer account
createAccountTop displayCustomerAccountFormTop  
customerAccount displayCustomerAccount Display on page account of the customer
deleteProductAttribute actionProductAttributeDelete  
deleteproduct actionProductDelete This hook is called when a product is deleted
extraCarrier displayCarrierList  
extraLeft displayLeftColumnProduct  
extraProductComparison displayProductComparison Extra Product Comparison
extraRight displayRightColumnProduct  
featureForm displayFeatureForm Add fields to the form “feature”
featureValueForm displayFeatureValueForm Add fields to the form “feature value”
footer displayFooter Add block in footer
header displayHeader A hook which allow you to do things in the header of each pages
home displayHome  
invoice displayInvoice Add blocks to invoice (order)
leftColumn displayLeftColumn  
myAccountBlock displayMyAccountBlock Display extra information inside the “my account” block
newOrder actionValidateOrder  
orderConfirmation displayOrderConfirmation Called on order confirmation page
orderDetail actionOrderDetail To set the follow-up in Smarty when order detail is called
orderDetailDisplayed displayOrderDetail Displayed on order detail on front office
orderReturn actionOrderReturn  
orderSlip actionOrderSlipAdd Called when a quantity of one product change in an order.
payment displayPayment  
paymentCCAdded actionPaymentCCAdd Payment CC added
paymentConfirm actionPaymentConfirmation  
paymentReturn displayPaymentReturn  
paymentTop displayPaymentTop Top of payment page
postProcessAttribute actionAttributePostProcess On post-process in admin feature value
postProcessAttributeGroup displayAttributeGroupPostProcess On post-process in admin attribute group
postProcessFeature displayFeaturePostProcess On post-process in admin feature
postProcessFeatureValue displayFeatureValuePostProcess On post-process in admin feature value
postUpdateOrderStatus actionOrderStatusPostUpdate  
processCarrier actionCarrierProcess  
productActions displayProductButtons Put new action buttons on product page
productListAssign actionProductListOverride Assign product list to a category
productOutOfStock actionProductOutOfStock Make action while product is out of stock
productTab displayProductTab Called on order product page tabs
productTabContent displayProductTabContent Called on order product page tabs
productfooter displayFooterProduct Add new blocks under the product description
rightColumn displayRightColumn  
search actionSearch  
shoppingCart displayShoppingCartFooter Display some specific information on the shopping cart page
shoppingCartExtra displayShoppingCart Display some specific information
taxManager actionTaxManager  
top displayTop A hook which allow you to do things at the top of each pages.
updateCarrier actionCarrierUpdate This hook is called when a carrier is updated
updateOrderStatus actionOrderStatusUpdate Launch modules when the order’s status changes.
updateProductAttribute actionProductAttributeUpdate  
updateQuantity actionUpdateQuantity Quantity is updated only when the customer effectively place his order.
updateproduct actionProductUpdate  
watermark actionWatermark  

Front-office and back-office

Existing front-office hooks

Home page and general site pages

Hook name
Description
displayHeader Called within the HTML <head> tags. Ideal location for adding JavaScript and CSS files.
displayTop Called in the page’s header.
displayLeftColumn Called when loading the left column.
displayRightColumn Called when loading the right column.
displayFooter Called in the page’s footer.
displayHome Called at the center of the homepage.

Product page

Hook name
Description
displayLeftColumnProduct Called right before the “Print” link, under the picture.
displayRightColumnProduct Called right after the block for the “Add to Cart” button.
displayProductButtons Called inside the block for the “Add to Cart” button, right after that button.
actionProductOutOfStock Called inside the block for the “Add to Cart” button, right after the “Availability” information.
displayFooterProduct Called right before the tabs.
displayProductTab Called in tabs list, such as “More info”, “Data sheet”, “Accessories”, etc.
displayProductTabContent Called when a tab is clicked.

Cart page

Hook name
Description
actionCartSave Called right after a cart creation or update.
displayShoppingCartFooter Called right below the cart items table.
displayShoppingCart Called after the cart’s table of items, right above the navigation buttons.
displayCustomerAccountFormTop Called within the client account creation form, right above the “Your personal information” block.
displayCustomerAccountForm Called within the client account creation form, right before the “Register” button.
actionCustomerAccountAdd Called right after the client account creation.
displayCustomerAccount Called on the client account homepage, after the list of available links. Ideal location to add a link to this list.
displayMyAccountBlock Called within the “My account” block, in the left column, below the list of available links. This is the ideal location to add a link to this list.
displayMyAccountBlockfooter Displays extra information inside the “My account” block.
actionAuthentication Called right after the client identification, only if the authentication is valid (e-mail address and password are both OK).
actionBeforeAuthentication Called right before authentication.

Search page

Hook name
Description
actionSearch Called after a search is performed. Ideal location to parse and/or handle the search query and results.

Carrier choice page

Hook name

Description

displayBeforeCarrier Displayed before the carrier list on front-office.
displayCarrierList Called after the list of available carriers, during the order process. Ideal location to add a carrier, as added by a module.

Payment page

Hook name
Description
displayPaymentTop Top of payment page.
displayPayment Called when needing to build a list of the available payment solutions, during the order process. Ideal location to enable the choice of a payment module that you have developed.
displayPaymentReturn Called when the user is sent back to the store after having paid on the 3rd-party website. Ideal location to display a confirmation message or to give some details on the payment.
displayOrderConfirmation A duplicate of paymentReturn.
displayBeforePayment Called when displaying the list of available payment solutions. Ideal location to redirect the user instead of displaying said list (i.e., 1-click PayPal checkout).

Order page

Hook name
Description
actionOrderReturn Called when the customer request to send his merchandise back to the store, and if now error occurs.
displayPDFInvoice Called when displaying the invoice in PDF format. Ideal location to display content within the invoice.

Mobile theme hooks

All these hooks are specicific to PrestaShop’s default mobile theme.

The four first ones are in PrestaShop’s internal hooks database, so the user can attach an action/interface to these hooks using the Modules > Positions page.
All the other ones exist in the mobile theme TPL files, but are not in the internal hooks database. A developer can still use them to attach content to specific portion of the code.

Hook name
Description
displayMobileTopSiteMap
displayMobileHeader
displayMobileShoppingCartTop
displayMobileAddToCartTop
displayMobileShoppingCartTop
displayMobileShoppingCartBottom
displayMobileTopSiteMap
displayMobileFooterChoice
displayMobileShoppingCartTop
displayMobileShoppingCartBottom
displayMobileIndex
mobileCustomerAccount
displayMobileTop
displayMobileAddToCartTop
displayMobileShoppingCartTop
displayMobileShoppingCartButton
displayMobileShoppingCartBottom
displayMobileShoppingCartTop
displayMobileShoppingCartBottom

 

Existing back-office hooks

General hooks

Hook name
Description
displayBackOfficeTop Called within the header, above the tabs.
displayBackOfficeHeader Called between the HEAD tags. Ideal location for adding JavaScript and CSS files.
displayBackOfficeFooter Called within the page footer, above the “Power By PrestaShop” line.
displayBackOfficeHome Called at the center of the homepage.

Orders and order details

Hook name
Description
actionValidateOrder Called during the new order creation process, right after it has been created.
actionPaymentConfirmation Called when an order’s status becomes “Payment accepted”.
actionOrderStatusUpdate Called when an order’s status is changed, right before it is actually changed.
actionOrderStatusPostUpdate Called when an order’s status is changed, right after it is actually changed.
actionProductCancel Called when an item is deleted from an order, right after the deletion.
displayInvoice Called when the order’s details are displayed, above the Client Information block.
displayAdminOrder Called when the order’s details are displayed, below the Client Information block.
actionOrderSlipAdd Called during the creation of a credit note, right after it has been created.

Products

Hook name
Description
actionProductSave Called when saving products.
actionUpdateQuantity Called during an the validation of an order, the status of which being something other than “canceled” or “Payment error”, for each of the order’s items.
actionProductAttributeUpdate Called when a product declination is updated, right after said update.
actionProductAttributeDelete Called when a product declination is deleted.
actionWatermark Called when an image is added to a product, right after said addition.
displayAttributeForm Add fields to the form “attribute value”.
displayAttributeGroupForm Add fields to the form “attribute group”.
displayAttributeGroupPostProcess Called when post-process in admin attribute group.
displayFeatureForm Add fields to the form “feature”.
displayFeaturePostProcess Called when post-process in admin feature.
displayFeatureValueForm Add fields to the form “feature value”.
displayFeatureValuePostProcess Called when post-process in admin feature value.

Statistics

Hook name
Description
displayAdminStatsGraphEngine Called when a stats graph is displayed.
displayAdminStatsGridEngine Called when the grid of stats is displayed.
displayAdminStatsModules Called when the list of stats modules is displayed.

Clients

Hook name
Description
displayAdminCustomers Called when a client’s details are displayed, right after the list of the clients groups the current client belongs to.

Carriers

Hook name
Description
actionCarrierUpdate Called during a carrier’s update, right after said update.

Gửi phản hồi

Please log in using one of these methods to post your comment:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: