In PrestaShop input and output datas are handle by functions called hooks. These hook are differents from area to area.
You have Back Office hooks and Front Office hooks.
If you need to call your functions from a module you need to use hooks. You create your ouwn functions and call them where you need it in on of these hooks.You can add your own hook in any area if there is now default hook for the area in where you want to get data from or put data in.
Here is a list of some PrestaShop hooks functions that you can use in your custom modules.
</div>


<div></div>


<div>&amp;lt;?php</div>


<div></div>


<div>/* hookActionAdminLanguagesControllerStatusBefore</div>


<div>    *</div>


<div>    * actionAdminLanguagesControllerStatusBefore</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionAdminLanguagesControllerStatusBefore($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionAdminMetaControllerUpdate_optionsBefore</div>


<div>    *</div>


<div>    * actionAdminMetaControllerUpdate_optionsBefore</div>


<div>    *</div>


<div></div>


<div>**/</div>


<div>    public function hookActionAdminMetaControllerUpdate_optionsBefore($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionAdminMetaSave</div>


<div>    *</div>


<div>    * After save configuration in AdminMeta</div>


<div>    *     **/</div>


<div>    public function hookActionAdminMetaSave($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionAttributeDelete</div>


<div>    *</div>


<div>    * On deleting attribute feature value</div>


<div>    *     **/</div>


<div>    public function hookActionAttributeDelete($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>/**</div>


<div>    * hookActionAttributeGroupDelete</div>


<div>    *</div>


<div>    * On deleting attribute group</div>


<div>    *     **/</div>


<div>    public function hookActionAttributeGroupDelete($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionAttributeGroupSave</div>


<div>    *</div>


<div>    * On saving attribute group</div>


<div>    *     **/</div>


<div>    public function hookActionAttributeGroupSave($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div> /**</div>


<div>    * hookActionAttributePostProcess</div>


<div>    *</div>


<div>    * On post-process in admin feature value</div>


<div>    *     **/</div>


<div>    public function hookActionAttributePostProcess($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionAttributeSave</div>


<div>    *</div>


<div>    * On saving attribute feature value</div>


<div>    *     **/</div>


<div>    public function hookActionAttributeSave($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div> /**</div>


<div>    * hookActionCarrierProcess</div>


<div>    *</div>


<div>    * Carrier Process</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionCarrierProcess($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionCarrierUpdate</div>


<div>    *</div>


<div>    * Carrier Update</div>


<div>    * This hook is called when a carrier is updated</div>


<div>    **/</div>


<div>    public function hookActionCarrierUpdate($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>* hookActionCartSave</div>


<div>    *</div>


<div>    * Cart creation and update</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionCartSave($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionCategoryAdd</div>


<div>    *</div>


<div>    * Category creation</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionCategoryAdd($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div> /**</div>


<div>    * hookActionCategoryDelete</div>


<div>    *</div>


<div>    * Category removal</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionCategoryDelete($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionCategoryUpdate</div>


<div>    *</div>


<div>    * Category modification</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionCategoryUpdate($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div>/**</div>


<div>    * hookActionCustomerAccountAdd</div>


<div>    *</div>


<div>    * Successful customer create account</div>


<div>    * Called when new customer create account successfuled</div>


<div>    **/</div>


<div>    public function hookActionCustomerAccountAdd($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionFeatureDelete</div>


<div>    *</div>


<div>    * On deleting attribute feature</div>


<div>    *     **/</div>


<div>    public function hookActionFeatureDelete($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div>/**</div>


<div>    * hookActionFeatureSave</div>


<div>    *</div>


<div>    * On saving attribute feature</div>


<div>    *     **/</div>


<div>    public function hookActionFeatureSave($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionFeatureValueDelete</div>


<div>    *</div>


<div>    * On deleting attribute feature value</div>


<div>    *     **/</div>


<div>    public function hookActionFeatureValueDelete($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div> /**</div>


<div>    * hookActionFeatureValueSave</div>


<div>    *</div>


<div>    * On saving attribute feature value</div>


<div>    *     **/</div>


<div>    public function hookActionFeatureValueSave($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionHtaccessCreate</div>


<div>    *</div>


<div>    * After htaccess creation</div>


<div>    *     **/</div>


<div>    public function hookActionHtaccessCreate($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div> /**</div>


<div>    * hookActionObjectCategoryDeleteAfter</div>


<div>    *</div>


<div>    * actionObjectCategoryDeleteAfter</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionObjectCategoryDeleteAfter($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionObjectCategoryUpdateAfter</div>


<div>    *</div>


<div>    * actionObjectCategoryUpdateAfter</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionObjectCategoryUpdateAfter($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div>/**</div>


<div>    * hookActionObjectCmsDeleteAfter</div>


<div>    *</div>


<div>    * actionObjectCmsDeleteAfter</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionObjectCmsDeleteAfter($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionObjectCmsUpdateAfter</div>


<div>    *</div>


<div>    * actionObjectCmsUpdateAfter</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionObjectCmsUpdateAfter($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div>  /**</div>


<div>    * hookActionObjectManufacturerDeleteAfter</div>


<div>    *</div>


<div>    * actionObjectManufacturerDeleteAfter</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionObjectManufacturerDeleteAfter($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionObjectManufacturerUpdateAfter</div>


<div>    *</div>


<div>    * actionObjectManufacturerUpdateAfter</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionObjectManufacturerUpdateAfter($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div> /**</div>


<div>    * hookActionObjectProductDeleteAfter</div>


<div>    *</div>


<div>    * actionObjectProductDeleteAfter</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionObjectProductDeleteAfter($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionObjectProductUpdateAfter</div>


<div>    *</div>


<div>    * actionObjectProductUpdateAfter</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionObjectProductUpdateAfter($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div>  /**</div>


<div>    * hookActionObjectSupplierDeleteAfter</div>


<div>    *</div>


<div>    * actionObjectSupplierDeleteAfter</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionObjectSupplierDeleteAfter($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionObjectSupplierUpdateAfter</div>


<div>    *</div>


<div>    * actionObjectSupplierUpdateAfter</div>


<div>    *</div>


<div>    **/</div>


<div>public function hookActionObjectSupplierUpdateAfter($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionOrderDetail</div>


<div>    *</div>


<div>    * Order Detail</div>


<div>    * To set the follow-up in smarty when order detail is called</div>


<div>    **/</div>


<div>    public function hookActionOrderDetail($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionOrderReturn</div>


<div>    *</div>


<div>    * Product returned</div>


<div>    *</div>


<div>    **/</div>


<div></div>


<div>public function hookActionOrderReturn($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionOrderSlipAdd</div>


<div>    *</div>


<div>    * Called when a order slip is created</div>


<div>    * Called when a quantity of one product change in an order.</div>


<div>    **/</div>


<div>    public function hookActionOrderSlipAdd($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionOrderStatusPostUpdate</div>


<div>    *</div>


<div>    * Post update of order status</div>


<div>    *</div>


<div>    **/</div>


<div></div>


<div>public function hookActionOrderStatusPostUpdate($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionOrderStatusUpdate</div>


<div>    *</div>


<div>    * Order's status update event</div>


<div>    * Launch modules when the order's status of an order change.</div>


<div>    **/</div>


<div>    public function hookActionOrderStatusUpdate($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionPaymentCCAdd</div>


<div>    *</div>


<div>    * Payment CC added</div>


<div>    *     **/</div>


<div>    public function hookActionPaymentCCAdd($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div>/**</div>


<div>    * hookActionProductAdd</div>


<div>    *</div>


<div>    * Product creation</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionProductAdd($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionProductAttributeDelete</div>


<div>    *</div>


<div>    * Product Attribute Deletion</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionProductAttributeDelete($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div>/**</div>


<div>    * hookActionProductAttributeUpdate</div>


<div>    *</div>


<div>    * Product attribute update</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionProductAttributeUpdate($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionProductCancel</div>


<div>    *</div>


<div>    * Product cancelled</div>


<div>    * This hook is called when you cancel a product in an order</div>


<div>    **/</div>


<div>    public function hookActionProductCancel($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div> /**</div>


<div>    * hookActionProductDelete</div>


<div>    *</div>


<div>    * Product deletion</div>


<div>    * This hook is called when a product is deleted</div>


<div>    **/</div>


<div>    public function hookActionProductDelete($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionProductListOverride</div>


<div>    *</div>


<div>    * Assign product list to a category</div>


<div>    *     **/</div>


<div>public function hookActionProductListOverride($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionProductOutOfStock</div>


<div>    *</div>


<div>    * Product out of stock</div>


<div>    * Make action while product is out of stock</div>


<div>    **/</div>


<div>    public function hookActionProductOutOfStock($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>/**</div>


<div>    * hookActionProductSave</div>


<div>    *</div>


<div>    * On saving products</div>


<div>    *     **/</div>


<div>    public function hookActionProductSave($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionProductUpdate</div>


<div>    *</div>


<div>    * Product Update</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionProductUpdate($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div>/*</div>


<div>*hookDisplayAdminProductsExtra</div>


<div>for creating a tab in product edit page, tab like Price,Images etc</div>


<div></div>


<div>*/</div>


<div>public function hookDisplayAdminProductsExtra($params)</div>


<div>    {</div>


<div></div>


<div></div>


<div>}</div>


<div> /**</div>


<div>    * hookActionShopDataDuplication</div>


<div>    *</div>


<div>    * actionShopDataDuplication</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionShopDataDuplication($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionTaxManager</div>


<div>    *</div>


<div>    * Tax Manager Factory</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionTaxManager($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div> /**</div>


<div>    * hookActionUpdateQuantity</div>


<div>    *</div>


<div>    * Quantity update</div>


<div>    * Quantity is updated only when the customer effectively place his order.</div>


<div>    **/</div>


<div>    public function hookActionUpdateQuantity($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookActionValidateOrder</div>


<div>    *</div>


<div>    * New orders</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionValidateOrder($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>/**</div>


<div>    * hookActionWatermark</div>


<div>    *</div>


<div>    * Watermark</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookActionWatermark($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookDisplayAdminCustomers</div>


<div>    *</div>


<div>    * Display in Back-Office, tab AdminCustomers</div>


<div>    * Launch modules when the tab AdminCustomers is displayed on back-office.</div>


<div>    **/</div>


<div></div>


<div>public function hookDisplayAdminCustomers($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookDisplayAdminOrder</div>


<div>    *</div>


<div>    * Display in Back-Office, tab AdminOrder</div>


<div>    * Launch modules when the tab AdminOrder is displayed on back-office.</div>


<div>    **/</div>


<div>    public function hookDisplayAdminOrder($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookDisplayAdminStatsGraphEngine</div>


<div>    *</div>


<div>    * Graph Engines</div>


<div>    *</div>


<div>    **/</div>


<div>public function hookDisplayAdminStatsGraphEngine($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookDisplayAdminStatsGridEngine</div>


<div>    *</div>


<div>    * Grid Engines</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookDisplayAdminStatsGridEngine($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookDisplayAdminStatsModules</div>


<div>    *</div>


<div>    * Stats - Modules</div>


<div>    *</div>


<div>    **/</div>


<div>public function hookDisplayAdminStatsModules($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookDisplayAttributeForm</div>


<div>    *</div>


<div>    * Add fields to the form &amp;quot;attribute value&amp;quot;</div>


<div>    *     **/</div>


<div>    public function hookDisplayAttributeForm($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookDisplayAttributeGroupForm</div>


<div>    *</div>


<div>    * Add fields to the form &amp;quot;attribute group&amp;quot;</div>


<div>    *     **/</div>


<div>    public function hookDisplayAttributeGroupForm($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div>/**</div>


<div>    * hookDisplayAttributeGroupPostProcess</div>


<div>    *</div>


<div>    * On post-process in admin attribute group</div>


<div>    *     **/</div>


<div>    public function hookDisplayAttributeGroupPostProcess($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookDisplayBackOfficeFooter</div>


<div>    *</div>


<div>    * Administration panel footer</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookDisplayBackOfficeFooter($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div>  /**</div>


<div>    * hookDisplayBackOfficeHeader</div>


<div>    *</div>


<div>    * Administration panel header</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookDisplayBackOfficeHeader($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookDisplayBackOfficeHome</div>


<div>    *</div>


<div>    * Administration panel homepage</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookDisplayBackOfficeHome($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div>/**</div>


<div>    * hookDisplayBackOfficeTop</div>


<div>    *</div>


<div>    * Administration panel hover the tabs</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookDisplayBackOfficeTop($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookDisplayCarrierList</div>


<div>    *</div>


<div>    * Extra carrier (module mode)</div>


<div>    *</div>


<div>    **/</div>


<div>    public function hookDisplayCarrierList($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div>  /**</div>


<div>    * hookDisplayFeatureForm</div>


<div>    *</div>


<div>    * Add fields to the form &amp;quot;feature&amp;quot;</div>


<div>    *     **/</div>


<div>    public function hookDisplayFeatureForm($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookDisplayFeaturePostProcess</div>


<div>    *</div>


<div>    * On post-process in admin feature</div>


<div>    *     **/</div>


<div>    public function hookDisplayFeaturePostProcess($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div>  /**</div>


<div>    * hookDisplayFeatureValueForm</div>


<div>    *</div>


<div>    * Add fields to the form &amp;quot;feature value&amp;quot;</div>


<div>    *     **/</div>


<div>    public function hookDisplayFeatureValueForm($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>    /**</div>


<div>    * hookDisplayFeatureValuePostProcess</div>


<div>    *</div>


<div>    * On post-process in admin feature value</div>


<div>    *     **/</div>


<div>    public function hookDisplayFeatureValuePostProcess($params)</div>


<div>    {</div>


<div></div>


<div>    }</div>


<div></div>


<div>public function  hookDisplayOrderConfirmation($params)</div>


<div> {</div>


<div>   $id_order=(int)Tools::getValue('id_order');</div>


<div> return &amp;quot;&amp;quot;;</div>


<div> }</div>


<div></div>


<div> public function hookDisplayInvoice()</div>


<div>    {</div>


<div></div>


<div>}</div>


<div></div>


<div></div>


<div>
Facebook Comments Box
0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments