lechowski / 13.11.2021

PrestaShop Front-office Hooks

New hooks since v1.4

Hook name

Hook description

actionAdminMetaControllerUpdate_optionsBefore  
actionAdminMetaSave After saving configuration in AdminMeta
actionAuthentication  
actionBeforeAuthentication Before authentication
actionCartSave  
actionCustomerAccountAdd Called when a new customer successfully creates account
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  
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  
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  
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
displayPayment  
displayPaymentReturn  
displayPaymentTop Top of payment page
displayPDFInvoice Allow the display of extra information into the PDF invoice
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.

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 since v1.4

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

These hooks are valid for both v1.4 and 1.5 of PrestaShop.

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 specific 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.