Hooks de la ficha del producto en Prestashop 1.7

Hace aproximadamente 5/6 años estuvimos comentando en un artículo algunos de los hooks disponibles en la ficha del producto para Prestashop 1.5, en esta ocasión vamos hablar sobre lo mismo pero aplicado a Prestashop 1.7 en base a la plantilla por defecto.

Solo vamos a intentar hablar de los hooks de visualización (los display, no los actions, referente a los actions en la ficha del producto lo explicaremos en otro post)

Al acceder al fichero:

/themes/classic/templates/catalog/product.tpl

Si buscamos la palabra “hook” encontraremos inicialmente dos referencias:

hook -> displayReassurance

displayReassurance

hook -> displayFooterProduct

displayFooterProduct

Que corresponde visualmente a lo que señalamos en rojo en la siguiente captura:

displayFooterProduct y displayReassurance
displayFooterProduct y displayReassurance

En el hook -> displayReassurance tenemos inicialmente instalado el módulo: blockreassurance (Información de seguridad y confianza para el cliente) que podemos ver en la misma captura.

Por otro lado, en está captura,  no vemos ningún módulo instalado en el hook -> displayFooterProduct, pero por ejemplo el módulo de ventas cruzadas (ps_crossselling) suele quedar anclado en ese hook o el típico de productos de la misma categoría.

Volvemos al fichero:

/themes/classic/templates/catalog/product.tpl

Y encontramos otro include:

Otro include

Al acceder al fichero:

/themes/classic/templates/catalog/_partials/product-additional-info.tpl

Vemos que tenemos disponible el hook -> displayProductAdditionalInfo

Hook -> displayProductAdditionalInfo

Un ejemplo, es que en este hook por defecto se esta imprimiendo el módulo de las redes sociales en una instalación limpia de Prestashop. Es decir, la zona situada debajo del botón de “Añadir al carrito” y encima del hook displayReassurance

displayProductAdditionalInfo

Si seguimos avanzando en el fichero:

/themes/classic/templates/catalog/product.tpl

Vamos a ver varios “includes

Por ejemplo, el referente a las miniaturas que aparecen debajo de la imagen grande del producto.

thumbnails
Include

Al acceder al fichero:

/themes/classic/templates/catalog/_partials/product-cover-thumbnails.tpl

Vemos que debajo de las “miniaturas” tenemos otro hook denominado: displayAfterProductThumbs.

displayAfterProductThumbs

Que se visualizara debajo de las miniaturas.

displayAfterProductThumbs

Volvemos al fichero:

/themes/classic/templates/catalog/product.tpl

Y encontramos otro include correspondiente el bloque de precios de la ficha del producto

Otro include

Al acceder al fichero:

/themes/classic/templates/catalog/_partials/product-prices.tpl

Nos encontramos el hook -> displayProductPriceBlock

displayProductPriceBlock
displayProductPriceBlock

PosData:

Los antiguos hooks displayProductTab  y displayProductTabContent de las pestañas “están “muertos” por el momento hasta que Prestashop decida añadirlos por defecto en las próximas variantes.

Tabs Prestashop 1.7

Include: /themes/classic/templates/catalog/_partials/product-details.tpl

De todos modos, yo pienso posiblemente lo puedan añadir en un futuro/presente por defecto, sino pues simplemente creáis vuestros hooks: Crear hooks en Prestashop

Documento válido hasta Prestashop 1.7.3.0 RC1

Información sobre las posiciones y módulos en Prestashop

En esta ocasión vamos hablar de un módulo desarrollado por el usuario coeos.pro de la Comunidad de Prestashop que ha ido actualizándose a lo largo del tiempo para funcionar sobre las distintas versiones de Prestashop.

El módulo nos permite conocer información relativa a las posiciones de la tienda, información sobre los módulos instalados (localización del CSS, JS, etc..)

La instalación del módulo, como suele ser habitual la realizamos desde la pestaña módulos -> módulos

Accediendo a la configuración del módulo para ver información relativa a los módulos y posiciones en Prestashop

Inicialmente las opciones de configuración, que nos ofrece el módulo son las siguientes:

Configurando el módulo
  • Address IP -> Solo las IP de las conexiones que vayamos a colocar aquí, verán la información de este “debug”. (Si lo queremos ver nosotros “solos”, colocamos nuestra IP publica (cualesmiip.com) de conexión a internet)
  • open block H-M -> Dependiendo la opción que seleccionemos aquí, por ejemplo, nos permite ver la información solo cuando pulsamos en los bloques, o verla directamente desplegada si seleccionamos “all the time”

    Desplegando toda la información
  • CSS and JS -> Si activamos esta opción mostramos la información de las rutas de los CSS y JS de los módulos

Por ejemplo, si nos vamos a la ficha del producto en Prestashop (pongo un extracto de una imagen, vemos la siguiente información):

Viendo información en la ficha del Producto

En esta captura (recordamos que esta recortada), vemos el hook displayRightColumnProduct y el hook “displayProductButtons” y vemos los módulos que tenemos instalados y la ruta de los TPL, JS, PHP.

¿Dónde puedo descargar este módulo, ver los problemas y preguntar dudas?

https://www.prestashop.com/forums/topic/468925-what-is-this-module-what-is-this-hook-css-js-tpl/

Aunque el documento esta construido bajo Prestashop 1.6 (Sigo diciendo que a día de hoy sigue siendo la versión mas estable), el desarrollador esta actualizando el módulo para su funcionamiento en Prestashop 1.7 Continúa leyendo Información sobre las posiciones y módulos en Prestashop

Parte superior de la cabecera dividida en dos hooks en Prestashop 1.7

Con la parte superior, me refiero a la parte donde aparece: “Contacte con nosotros, el bloque del idioma, el de “login” y el del carrito”.

En la actualidad esta parte en Prestashop 1.7 se ha dividido en dos “hooks“, la parte donde aparece “Contacte con nosotros” es el hook: “DisplayNav1” y la otra parte es el “DisplayNav2“. Continúa leyendo Parte superior de la cabecera dividida en dos hooks en Prestashop 1.7

Listado de hooks en Prestashop

Tipos de hook

Los hooks “action” se ejecutan cuando se realiza una “acción”, un ejemplo podría ser el hook -> actionValidateOrder que se ejecuta al realizar un pedido. Estos hooks no se te cargan valores de visualización, nos sirven de utilidad para realizar determinar acciones que se ejecutan de forma interna.

Los hooks “display” nos devuelven información que cargamos en nuestra tienda, un ejemplo podría ser el: displayFooter que es un hook situado en el pie de página donde podemos ver que carga distintos módulos. Tenemos disponibles tanto hooks de visualización del backoffice cómo del frontoffice.

Hooks en Prestashop 1.6

Listado de hooks (conocido popularmente como posiciones) obtenidos en una instalación limpia de Prestashop 1.6.

Datos obtenidos en base a la tabla: ps_hook

Obtener hooks
Obtener hooks
  • displayPayment
  • actionValidateOrder
  • displayMaintenance
  • actionPaymentConfirmation
  • displayPaymentReturn
  • actionUpdateQuantity
  • displayRightColumn
  • displayLeftColumn
  • displayHome
  • Header
  • actionCartSave
  • actionAuthentication
  • actionProductAdd
  • actionProductUpdate
  • displayTop
  • displayRightColumnProduct
  • actionProductDelete
  • displayFooterProduct
  • displayInvoice
  • actionOrderStatusUpdate
  • displayAdminOrder
  • displayAdminOrderTabOrder
  • displayAdminOrderTabShip
  • displayAdminOrderContentOrder
  • displayAdminOrderContentShip
  • displayFooter
  • displayPDFInvoice
  • displayInvoiceLegalFreeText
  • displayAdminCustomers
  • displayOrderConfirmation
  • actionCustomerAccountAdd
  • displayCustomerAccount
  • displayCustomerIdentityForm
  • actionOrderSlipAdd
  • displayProductTab
  • displayProductTabContent
  • displayShoppingCartFooter
  • displayCustomerAccountForm
  • displayAdminStatsModules
  • displayAdminStatsGraphEngine
  • actionOrderReturn
  • displayProductButtons
  • displayBackOfficeHome
  • displayAdminStatsGridEngine
  • actionWatermark
  • actionProductCancel
  • displayLeftColumnProduct
  • actionProductOutOfStock
  • actionProductAttributeUpdate
  • displayCarrierList
  • displayShoppingCart
  • actionSearch
  • displayBeforePayment
  • actionCarrierUpdate
  • actionOrderStatusPostUpdate
  • displayCustomerAccountFormTop
  • displayBackOfficeHeader
  • displayBackOfficeTop
  • displayBackOfficeFooter
  • actionProductAttributeDelete
  • actionCarrierProcess
  • actionOrderDetail
  • displayBeforeCarrier
  • displayOrderDetail
  • actionPaymentCCAdd
  • displayProductComparison
  • actionCategoryAdd
  • actionCategoryUpdate
  • actionCategoryDelete
  • actionBeforeAuthentication
  • displayPaymentTop
  • actionHtaccessCreate
  • actionAdminMetaSave
  • displayAttributeGroupForm
  • actionAttributeGroupSave
  • actionAttributeGroupDelete
  • displayFeatureForm
  • actionFeatureSave
  • actionFeatureDelete
  • actionProductSave
  • actionProductListOverride
  • displayAttributeGroupPostProcess
  • displayFeaturePostProcess
  • displayFeatureValueForm
  • displayFeatureValuePostProcess
  • actionFeatureValueDelete
  • actionFeatureValueSave
  • displayAttributeForm
  • actionAttributePostProcess
  • actionAttributeDelete
  • actionAttributeSave
  • actionTaxManager
  • displayMyAccountBlock
  • actionModuleInstallBefore
  • actionModuleInstallAfter
  • displayHomeTab
  • displayHomeTabContent
  • displayTopColumn
  • displayBackOfficeCategory
  • displayProductListFunctionalButtons
  • displayNav
  • displayOverrideTemplate
  • actionAdminLoginControllerSetMedia
  • actionOrderEdited
  • actionEmailAddBeforeContent
  • actionEmailAddAfterContent
  • displayCartExtraProductActions
  • actionObjectProductUpdateAfter
  • actionObjectProductDeleteAfter
  • displayCompareExtraInformation
  • displaySocialSharing
  • displayBanner
  • actionObjectLanguageAddAfter
  • displayPaymentEU
  • actionCartListOverride
  • actionAdminMetaControllerUpdate_optionsBefore
  • actionAdminLanguagesControllerStatusBefore
  • actionObjectCmsUpdateAfter
  • actionObjectCmsDeleteAfter
  • actionShopDataDuplication
  • actionAdminStoresControllerUpdate_optionsAfter
  • actionObjectManufacturerDeleteAfter
  • actionObjectManufacturerAddAfter
  • actionObjectManufacturerUpdateAfter
  • actionModuleRegisterHookAfter
  • actionModuleUnRegisterHookAfter
  • displayMyAccountBlockfooter
  • displayMobileTopSiteMap
  • displaySearch
  • actionObjectSupplierDeleteAfter
  • actionObjectSupplierAddAfter
  • actionObjectSupplierUpdateAfter
  • actionObjectCategoryUpdateAfter
  • actionObjectCategoryDeleteAfter
  • actionObjectCategoryAddAfter
  • actionObjectCmsAddAfter
  • actionObjectProductAddAfter
  • dashboardZoneOne
  • dashboardData
  • actionObjectOrderAddAfter
  • actionObjectCustomerAddAfter
  • actionObjectCustomerMessageAddAfter
  • actionObjectCustomerThreadAddAfter
  • actionObjectOrderReturnAddAfter
  • actionAdminControllerSetMedia
  • dashboardZoneTwo
  • actionAdminMetaControllerUpdate_optionsAfter
  • actionAdminPerformanceControllerSaveAfter
  • actionObjectCarrierAddAfter
  • actionObjectContactAddAfter
  • actionAdminThemesControllerUpdate_optionsAfter
  • actionObjectShopUpdateAfter
  • actionAdminPreferencesControllerUpdate_optionsAfter
  • actionObjectShopAddAfter
  • actionObjectShopGroupAddAfter
  • actionObjectCartAddAfter
  • actionObjectEmployeeAddAfter
  • actionObjectImageAddAfter
  • actionObjectCartRuleAddAfter
  • actionAdminStoresControllerSaveAfter
  • actionAdminWebserviceControllerSaveAfter

PosData: En la misma tabla ps_hook en el campo “description” tenéis a que corresponde a cada hook o al menos una descripción:

Descripción hooks

* Actualización artículo

Hooks en Prestashop 1.7

Enlace de Hooks en Prestashop 1.7.1.0 con información de que en fichero se encuentran: Acceder a la información.

  • Nueva actualización de artículo para Prestashop 1.7.3.0 beta1
    Todos los hooks que tiene Prestashop 1.7.3.0 beta 1

    Obtener datos de los hooks
    • actionValidateOrder
    • displayMaintenance
    • displayProductPageDrawer
    • actionPaymentConfirmation
    • displayPaymentReturn
    • actionUpdateQuantity
    • displayRightColumn
    • displayWrapperTop
    • displayWrapperBottom
    • displayContentWrapperTop
    • displayContentWrapperBottom
    • displayLeftColumn
    • displayHome
    • Header
    • actionCartSave
    • actionAuthentication
    • actionProductAdd
    • actionProductUpdate
    • displayAfterBodyOpeningTag
    • displayBeforeBodyClosingTag
    • displayTop
    • displayNavFullWidth
    • displayRightColumnProduct
    • actionProductDelete
    • actionObjectProductInCartDeleteBefore
    • actionObjectProductInCartDeleteAfter
    • displayFooterProduct
    • displayInvoice
    • actionOrderStatusUpdate
    • displayAdminOrder
    • displayAdminOrderTabOrder
    • displayAdminOrderTabShip
    • displayAdminOrderContentOrder
    • displayAdminOrderContentShip
    • displayFooter
    • displayPDFInvoice
    • displayInvoiceLegalFreeText
    • displayAdminCustomers
    • displayAdminCustomersAddressesItemAction
    • displayOrderConfirmation
    • actionCustomerAccountAdd
    • actionCustomerAccountUpdate
    • displayCustomerAccount
    • actionOrderSlipAdd
    • displayShoppingCartFooter
    • displayCreateAccountEmailFormBottom
    • displayAuthenticateFormBottom
    • displayCustomerAccountForm
    • displayAdminStatsModules
    • displayAdminStatsGraphEngine
    • actionOrderReturn
    • displayProductAdditionalInfo
    • displayBackOfficeHome
    • displayAdminStatsGridEngine
    • actionWatermark
    • actionProductCancel
    • displayLeftColumnProduct
    • actionProductOutOfStock
    • actionProductAttributeUpdate
    • displayCarrierList
    • displayShoppingCart
    • actionCarrierUpdate
    • actionOrderStatusPostUpdate
    • displayCustomerAccountFormTop
    • displayBackOfficeHeader
    • displayBackOfficeTop
    • displayBackOfficeFooter
    • actionProductAttributeDelete
    • actionCarrierProcess
    • displayBeforeCarrier
    • displayAfterCarrier
    • displayOrderDetail
    • actionPaymentCCAdd
    • actionCategoryAdd
    • actionCategoryUpdate
    • actionCategoryDelete
    • displayPaymentTop
    • actionHtaccessCreate
    • actionAdminMetaSave
    • displayAttributeGroupForm
    • actionAttributeGroupSave
    • actionAttributeGroupDelete
    • displayFeatureForm
    • actionFeatureSave
    • actionFeatureDelete
    • actionProductSave
    • displayAttributeGroupPostProcess
    • displayFeaturePostProcess
    • displayFeatureValueForm
    • displayFeatureValuePostProcess
    • actionFeatureValueDelete
    • actionFeatureValueSave
    • displayAttributeForm
    • actionAttributePostProcess
    • actionAttributeDelete
    • actionAttributeSave
    • actionTaxManager
    • displayMyAccountBlock
    • actionModuleInstallBefore
    • actionModuleInstallAfter
    • displayTopColumn
    • displayBackOfficeCategory
    • displayProductListFunctionalButtons
    • displayNav
    • displayOverrideTemplate
    • actionAdminLoginControllerSetMedia
    • actionOrderEdited
    • actionEmailAddBeforeContent
    • actionEmailAddAfterContent
    • sendMailAlterTemplateVars
    • displayCartExtraProductActions
    • displayPaymentByBinaries
    • additionalCustomerFormFields
    • addWebserviceResources
    • displayCustomerLoginFormAfter
    • actionClearCache
    • actionClearCompileCache
    • actionClearSf2Cache
    • actionValidateCustomerAddressForm
    • displayCarrierExtraContent
    • validateCustomerFormFields
    • displayProductExtraContent
    • filterCmsContent
    • filterCmsCategoryContent
    • filterProductContent
    • filterCategoryContent
    • filterManufacturerContent
    • filterSupplierContent
    • filterHtmlContent
    • displayDashboardTop
    • actionUpdateLangAfter
    • actionOutputHTMLBefore
    • displayAfterProductThumbs
    • actionDispatcherBefore
    • actionDispatcherAfter
    • filterProductSearch
    • actionProductSearchAfter
    • actionEmailSendBefore
    • displayAdminProductsMainStepLeftColumnMiddle
    • displayAdminProductsMainStepLeftColumnBottom
    • displayAdminProductsMainStepRightColumnBottom
    • displayAdminProductsQuantitiesStepBottom
    • displayAdminProductsPriceStepBottom
    • displayAdminProductsOptionsStepTop
    • displayAdminProductsOptionsStepBottom
    • displayAdminProductsSeoStepBottom
    • displayAdminProductsShippingStepBottom
    • displayAdminProductsCombinationBottom
    • displayDashboardToolbarTopMenu
    • displayDashboardToolbarIcons
    • dashboardZoneOne
    • dashboardData
    • actionObjectOrderAddAfter
    • actionObjectCustomerAddAfter
    • actionObjectCustomerMessageAddAfter
    • actionObjectCustomerThreadAddAfter
    • actionObjectOrderReturnAddAfter
    • actionAdminControllerSetMedia
    • dashboardZoneTwo
    • actionSearch
    • actionObjectLanguageAddAfter
    • paymentOptions
    • displayNav1
    • actionAdminStoresControllerUpdate_optionsAfter
    • actionAdminCurrenciesControllerSaveAfter
    • actionModuleRegisterHookAfter
    • actionModuleUnRegisterHookAfter
    • displayFooterBefore
    • displayAdminCustomersForm
    • productSearchProvider
    • displayOrderConfirmation2
    • displayCrossSellingShoppingCart
    • actionAdminGroupsControllerSaveAfter
    • actionShopDataDuplication
    • actionObjectCategoryUpdateAfter
    • actionObjectCategoryDeleteAfter
    • actionObjectCategoryAddAfter
    • actionObjectCmsUpdateAfter
    • actionObjectCmsDeleteAfter
    • actionObjectCmsAddAfter
    • actionObjectSupplierUpdateAfter
    • actionObjectSupplierDeleteAfter
    • actionObjectSupplierAddAfter
    • actionObjectManufacturerUpdateAfter
    • actionObjectManufacturerDeleteAfter
    • actionObjectManufacturerAddAfter
    • actionObjectProductUpdateAfter
    • actionObjectProductDeleteAfter
    • actionObjectProductAddAfter
    • displaySearch
    • displayAdminNavBarBeforeEnd
    • displayAdminAfterHeader
    • displayNav2
    • displayReassurance

Recordar que en el campo “Description” de la tabla ps_hook podéis obtener mas información sobre los hooks.

Información hooks