Nuevos Hooks en Prestashop 1.7.1.X

Según nos indica Prestashop, a partir de Prestashop 1.7.1.X se introduce nuevos Hooks

Hooks en Prestashop 1.7.1.X

Nombre del HookFichero/s
actionClearCache
  • /classes/Tools.php
actionClearCompileCache
  • /classes/Tools.php
actionClearSf2Cache
  • /classes/Tools.php
actionDispatcherAfter
  • /classes/Dispatcher.php
actionDispatcherBefore
  • /classes/Dispatcher.php
actionObjectProductInCartDeleteAfter
  • /controllers/front/CartController.php
actionObjectProductInCartDeleteBefore
  • /controllers/front/CartController.php
actionOutputHTMLBefore
  • /classes/controller/FrontController.php
actionProductSearchAfter
  • /classes/controller/ProductListingFrontController.php
actionSearch
  • /src/Adapter/Search/SearchProductSearchProvider.php
actionSubmitAccountBefore
  • /controllers/front/AuthController.php
actionUpdateLangAfter
  • /classes/Language.php
displayAfterProductThumbs
  • /themes/classic/templates/catalog/_partials/product-cover-thumbnails.tpl
displayBanner
  • /themes/StarterTheme/templates/_partials/header.tpl
  • /themes/classic/templates/_partials/header.tpl
displayNav
  • /themes/StarterTheme/templates/_partials/header.tpl
displayProductAdditionalInfo
  • /themes/StarterTheme/templates/catalog/_partials/product-additional-info.tpl
  • /themes/classic/templates/catalog/_partials/product-additional-info.tpl
  • /themes/classic/templates/catalog/_partials/quickview.tpl
displayProductListFunctionalButtons
  • /themes/StarterTheme/templates/catalog/_partials/miniatures/product.tpl
displayProductListReviews
  • /themes/StarterTheme/templates/catalog/_partials/miniatures/product.tpl
  • /themes/classic/templates/catalog/_partials/miniatures/product.tpl
filterProductSearch
  • /classes/controller/ProductListingFrontController.php

Hooks en Prestashop 1.7.0.X

Nombre HookFichero(s)
actionClearCache
  • /classes/Tools.php
actionClearCompileCache
  • /classes/Tools.php
actionClearSf2Cache
  • /classes/Tools.php
actionDispatcherAfter
  • /classes/Dispatcher.php
actionDispatcherBefore
  • /classes/Dispatcher.php
actionObjectProductInCartDeleteAfter
  • /controllers/front/CartController.php
actionObjectProductInCartDeleteBefore
  • /controllers/front/CartController.php
actionOutputHTMLBefore
  • /classes/controller/FrontController.php
actionProductSearchAfter
  • /classes/controller/ProductListingFrontController.php
actionSearch
  • /src/Adapter/Search/SearchProductSearchProvider.php
actionSubmitAccountBefore
  • /controllers/front/AuthController.php
actionUpdateLangAfter
  • /classes/Language.php
displayAfterProductThumbs
  • /themes/classic/templates/catalog/_partials/product-cover-thumbnails.tpl
displayBanner
  • /themes/StarterTheme/templates/_partials/header.tpl
  • /themes/classic/templates/_partials/header.tpl
displayNav
  • /themes/StarterTheme/templates/_partials/header.tpl
displayProductAdditionalInfo
  • /themes/StarterTheme/templates/catalog/_partials/product-additional-info.tpl
  • /themes/classic/templates/catalog/_partials/product-additional-info.tpl
  • /themes/classic/templates/catalog/_partials/quickview.tpl
displayProductListFunctionalButtons
  • /themes/StarterTheme/templates/catalog/_partials/miniatures/product.tpl
displayProductListReviews
  • /themes/StarterTheme/templates/catalog/_partials/miniatures/product.tpl
  • /themes/classic/templates/catalog/_partials/miniatures/product.tpl
filterProductSearch
  • /classes/controller/ProductListingFrontController.php

Hooks Actualizados en Prestashop 1.7.1.X

  • Hook actionDeleteProductInCartAfter se divide en dos Hooks: actionObjectProductInCartDeleteBefore y actionObjectProductInCartDeleteAfter
  • Hook displayProductButtons es renombrado a displayProductAdditionalInfo

Hooks Comunes

Nombre HookFicheros(s) in 1.7.0Fichero(s) in 1.7.1
action
  • /classes/controller/AdminController.php
  • /controllers/admin/AdminPerformanceController.php
  • /classes/controller/AdminController.php
  • /controllers/admin/AdminPerformanceController.php
actionAdmin
  • /classes/controller/AdminController.php
  • /classes/controller/AdminController.php
actionAdminControllerSetMedia
  • /classes/controller/AdminController.php
  • /classes/controller/AdminController.php
actionAdminLoginControllerSetMedia
  • /controllers/admin/AdminLoginController.php
  • /controllers/admin/AdminLoginController.php
actionAdminMetaAfterWriteRobotsFile
  • /controllers/admin/AdminMetaController.php
  • /classes/Tools.php
actionAdminMetaBeforeWriteRobotsFile
  • /controllers/admin/AdminMetaController.php
  • /classes/Tools.php
actionAdminMetaSave
  • /controllers/admin/AdminMetaController.php
  • /controllers/admin/AdminMetaController.php
actionAdminOrdersTrackingNumberUpdate
  • /controllers/admin/AdminOrdersController.php
  • /controllers/admin/AdminOrdersController.php
actionAdminThemesControllerUpdate_optionsAfter
  • /controllers/admin/AdminThemesController.php
  • /controllers/admin/AdminThemesController.php
actionAjaxDie
  • /classes/controller/Controller.php
  • /classes/controller/Controller.php
actionAjaxDieBefore
  • /classes/controller/Controller.php
  • /classes/controller/Controller.php
actionAttributeCombinationDelete
  • /classes/Combination.php
  • /classes/Combination.php
actionAttributeCombinationSave
  • /classes/Combination.php
  • /classes/Combination.php
actionAttributeDelete
  • /classes/Attribute.php
  • /classes/Attribute.php
actionAttributeGroupDelete
  • /classes/AttributeGroup.php
  • /classes/AttributeGroup.php
actionAttributeGroupSave
  • /classes/AttributeGroup.php
  • /classes/AttributeGroup.php
actionAttributeSave
  • /classes/Attribute.php
  • /classes/Attribute.php
actionAuthentication
  • /classes/form/CustomerLoginForm.php
  • /classes/form/CustomerLoginForm.php
actionAuthenticationBefore
  • /classes/form/CustomerLoginForm.php
  • /classes/form/CustomerLoginForm.php
actionBeforeAjaxDie
  • /classes/controller/Controller.php
  • /classes/controller/Controller.php
actionBeforeCartUpdateQty
  • /classes/Cart.php
  • /classes/Cart.php
actionCarrierProcess
  • /classes/checkout/CheckoutDeliveryStep.php
  • /classes/checkout/CheckoutDeliveryStep.php
actionCarrierUpdate
  • /controllers/admin/AdminCarrierWizardController.php
  • /controllers/admin/AdminCarriersController.php
  • /controllers/admin/AdminCarrierWizardController.php
  • /controllers/admin/AdminCarriersController.php
actionCartSave
  • /classes/Cart.php
  • /classes/Cart.php
actionCartSummary
  • /classes/Cart.php
  • /classes/Cart.php
actionCartUpdateQuantityBefore
  • /classes/Cart.php
  • /classes/Cart.php
actionCategoryAdd
  • /classes/Category.php
  • /classes/Category.php
actionCategoryDelete
  • /classes/Category.php
  • /classes/Category.php
actionCategoryUpdate
  • /classes/Category.php
  • /controllers/admin/AdminProductsController.php
  • /classes/Category.php
  • /controllers/admin/AdminProductsController.php
actionCustomerAccountAdd
  • /classes/form/CustomerPersister.php
  • /classes/form/CustomerPersister.php
actionCustomerAccountUpdate
  • /classes/form/CustomerPersister.php
  • /classes/form/CustomerPersister.php
actionCustomerAddGroups
  • /classes/Customer.php
  • /classes/Customer.php
actionCustomerBeforeUpdateGroup
  • /classes/Customer.php
  • /classes/Customer.php
actionCustomerLogoutAfter
  • /classes/Customer.php
  • /classes/Customer.php
actionCustomerLogoutBefore
  • /classes/Customer.php
  • /classes/Customer.php
actionDeliveryPriceByPrice
  • /classes/Carrier.php
  • /classes/Carrier.php
actionDeliveryPriceByWeight
  • /classes/Carrier.php
  • /classes/Carrier.php
actionDispatcher
  • /classes/Dispatcher.php
  • /classes/Dispatcher.php
actionDownloadAttachment
  • /controllers/front/AttachmentController.php
  • /controllers/front/AttachmentController.php
actionFeatureDelete
  • /classes/Feature.php
  • /classes/Feature.php
actionFeatureSave
  • /classes/Feature.php
  • /classes/Feature.php
actionFeatureValueDelete
  • /classes/FeatureValue.php
  • /classes/FeatureValue.php
actionFeatureValueSave
  • /classes/FeatureValue.php
  • /classes/FeatureValue.php
actionFrontControllerSetMedia
  • /classes/controller/FrontController.php
  • /classes/controller/FrontController.php
actionGetExtraMailTemplateVars
  • /classes/Mail.php
  • /classes/Mail.php
actionGetIDZoneByAddressID
  • /classes/Address.php
  • /classes/Address.php
actionGetProductPropertiesAfter
  • /classes/Product.php
  • /classes/Product.php
actionGetProductPropertiesBefore
  • /classes/Product.php
  • /classes/Product.php
actionHtaccessCreate
  • /classes/Tools.php
  • /classes/Tools.php
actionInvoiceNumberFormatted
  • /classes/order/OrderInvoice.php
  • /classes/order/OrderInvoice.php
actionModuleInstallAfter
  • /classes/module/Module.php
  • /classes/module/Module.php
actionModuleInstallBefore
  • /classes/module/Module.php
  • /classes/module/Module.php
actionModuleRegisterHookAfter
  • /classes/Hook.php
  • /classes/Hook.php
actionModuleRegisterHookBefore
  • /classes/Hook.php
  • /classes/Hook.php
actionModuleUnRegisterHookAfter
  • /classes/Hook.php
  • /classes/Hook.php
actionModuleUnRegisterHookBefore
  • /classes/Hook.php
  • /classes/Hook.php
actionObject
  • /classes/ObjectModel.php
  • /classes/ObjectModel.php
actionObjectAddAfter
  • /classes/ObjectModel.php
  • /classes/ObjectModel.php
actionObjectAddBefore
  • /classes/ObjectModel.php
  • /classes/ObjectModel.php
actionObjectAttributeAddBefore
  • /controllers/admin/AdminAttributesGroupsController.php
  • /controllers/admin/AdminAttributesGroupsController.php
actionObjectAttributeGroupAddBefore
  • /controllers/admin/AdminAttributesGroupsController.php
  • /controllers/admin/AdminAttributesGroupsController.php
actionObjectDeleteAfter
  • /classes/ObjectModel.php
  • /classes/ObjectModel.php
actionObjectDeleteBefore
  • /classes/ObjectModel.php
  • /classes/ObjectModel.php
actionObjectUpdateAfter
  • /classes/ObjectModel.php
  • /classes/ObjectModel.php
actionObjectUpdateBefore
  • /classes/ObjectModel.php
  • /classes/ObjectModel.php
actionOnImageCutAfter
  • /classes/ImageManager.php
  • /classes/ImageManager.php
actionOnImageResizeAfter
  • /classes/ImageManager.php
  • /classes/ImageManager.php
actionOrderEdited
  • /controllers/admin/AdminOrdersController.php
  • /controllers/admin/AdminOrdersController.php
actionOrderHistoryAddAfter
  • /classes/order/OrderHistory.php
  • /classes/order/OrderHistory.php
actionOrderReturn
  • /controllers/front/OrderFollowController.php
  • /controllers/front/OrderFollowController.php
actionOrderSlipAdd
  • /controllers/admin/AdminOrdersController.php
  • /controllers/admin/AdminOrdersController.php
actionOrderStatusPostUpdate
  • /classes/order/OrderHistory.php
  • /classes/order/OrderHistory.php
actionOrderStatusUpdate
  • /classes/order/OrderHistory.php
  • /classes/order/OrderHistory.php
actionPDFInvoiceRender
  • /classes/PaymentModule.php
  • /classes/order/OrderHistory.php
  • /controllers/admin/AdminPdfController.php
  • /controllers/front/PdfInvoiceController.php
  • /classes/PaymentModule.php
  • /classes/order/OrderHistory.php
  • /controllers/admin/AdminPdfController.php
  • /controllers/front/PdfInvoiceController.php
actionPasswordRenew
  • /controllers/front/PasswordController.php
  • /controllers/front/PasswordController.php
actionPaymentCCAdd
  • /classes/order/OrderPayment.php
  • /classes/order/OrderPayment.php
actionPaymentConfirmation
  • /classes/order/OrderHistory.php
  • /classes/order/OrderHistory.php
actionProductAdd
  • /controllers/admin/AdminProductsController.php
  • /controllers/admin/AdminProductsController.php
actionProductAttributeDelete
  • /classes/Product.php
  • /classes/Product.php
actionProductAttributeUpdate
  • /classes/Product.php
  • /classes/Product.php
actionProductCancel
  • /controllers/admin/AdminOrdersController.php
  • /controllers/admin/AdminOrdersController.php
actionProductCoverage
  • /classes/stock/StockManager.php
  • /classes/stock/StockManager.php
actionProductDelete
  • /classes/Product.php
  • /classes/Product.php
actionProductOutOfStock
  • /themes/classic/templates/catalog/_partials/product-details.tpl
  • /themes/StarterTheme/templates/catalog/_partials/product-details.tpl
  • /themes/StarterTheme/templates/catalog/product.tpl
  • /themes/classic/templates/catalog/_partials/product-details.tpl
actionProductSave
  • /classes/Product.php
  • /classes/Product.php
actionProductUpdate
  • /classes/Product.php
  • /controllers/admin/AdminProductsController.php
  • /classes/Product.php
  • /controllers/admin/AdminProductsController.php
actionSetInvoice
  • /classes/order/Order.php
  • /classes/order/Order.php
actionShopDataDuplication
  • /classes/shop/Shop.php
  • /classes/shop/Shop.php
actionUpdateQuantity
  • /classes/stock/StockAvailable.php
  • /classes/stock/StockAvailable.php
actionValidateCustomerAddressForm
  • /classes/form/CustomerAddressForm.php
  • /classes/form/CustomerAddressForm.php
actionValidateOrder
  • /classes/PaymentModule.php
  • /classes/PaymentModule.php
actionWatermark
  • /classes/FileUploader.php
  • /classes/webservice/WebserviceSpecificManagementImages.php
  • /controllers/admin/AdminImportController.php
  • /controllers/admin/AdminProductsController.php
  • /classes/FileUploader.php
  • /classes/webservice/WebserviceSpecificManagementImages.php
  • /controllers/admin/AdminImportController.php
  • /controllers/admin/AdminProductsController.php
addWebserviceResources
  • /classes/webservice/WebserviceRequest.php
  • /classes/webservice/WebserviceRequest.php
additionalCustomerFormFields
  • /classes/form/CustomerFormatter.php
  • /classes/form/CustomerFormatter.php
dashboardData
  • /controllers/admin/AdminDashboardController.php
  • /controllers/admin/AdminDashboardController.php
dashboardZoneOne
  • /controllers/admin/AdminDashboardController.php
  • /controllers/admin/AdminDashboardController.php
dashboardZoneTwo
  • /controllers/admin/AdminDashboardController.php
  • /controllers/admin/AdminDashboardController.php
displayAdminOrderContentOrder
  • /controllers/admin/AdminOrdersController.php
  • /controllers/admin/AdminOrdersController.php
displayAdminOrderContentShip
  • /controllers/admin/AdminOrdersController.php
  • /controllers/admin/AdminOrdersController.php
displayAdminOrderTabOrder
  • /controllers/admin/AdminOrdersController.php
  • /controllers/admin/AdminOrdersController.php
displayAdminOrderTabShip
  • /controllers/admin/AdminOrdersController.php
  • /controllers/admin/AdminOrdersController.php
displayAdminStatsModules
  • /controllers/admin/AdminStatsTabController.php
  • /controllers/admin/AdminStatsTabController.php
displayAfterBodyOpeningTag
  • /themes/classic/templates/checkout/checkout.tpl
  • /themes/classic/templates/layouts/layout-both-columns.tpl
  • /themes/StarterTheme/templates/layouts/layout-both-columns.tpl
  • /themes/classic/templates/checkout/checkout.tpl
  • /themes/classic/templates/layouts/layout-both-columns.tpl
displayAfterCarrier
  • /classes/checkout/CheckoutDeliveryStep.php
  • /classes/checkout/CheckoutDeliveryStep.php
displayBackOfficeCategory
  • /controllers/admin/AdminCategoriesController.php
  • /controllers/admin/AdminCategoriesController.php
displayBackOfficeHeader
  • /classes/controller/AdminController.php
  • /classes/controller/AdminController.php
displayBackOfficeTop
  • /classes/controller/AdminController.php
  • /classes/controller/AdminController.php
displayBeforeBodyClosingTag
  • /themes/classic/templates/checkout/checkout.tpl
  • /themes/classic/templates/layouts/layout-both-columns.tpl
  • /themes/StarterTheme/templates/layouts/layout-both-columns.tpl
  • /themes/classic/templates/checkout/checkout.tpl
  • /themes/classic/templates/layouts/layout-both-columns.tpl
displayBeforeCarrier
  • /classes/checkout/CheckoutDeliveryStep.php
  • /classes/checkout/CheckoutDeliveryStep.php
displayCMSDisputeInformation
  • /themes/classic/templates/cms/page.tpl
  • /themes/StarterTheme/templates/cms/page.tpl
  • /themes/classic/templates/cms/page.tpl
displayCMSPrintButton
  • /themes/classic/templates/cms/page.tpl
  • /themes/StarterTheme/templates/cms/page.tpl
  • /themes/classic/templates/cms/page.tpl
displayCarrierExtraContent
  • /classes/checkout/DeliveryOptionsFinder.php
  • /classes/checkout/DeliveryOptionsFinder.php
displayCarrierList
  • /classes/Cart.php
  • /classes/Cart.php
displayCartExtraProductActions
  • /themes/classic/templates/checkout/_partials/cart-detailed-product-line.tpl
  • /themes/StarterTheme/templates/checkout/_partials/cart-detailed-product-line.tpl
  • /themes/classic/templates/checkout/_partials/cart-detailed-product-line.tpl
displayCheckoutSubtotalDetails
  • /themes/classic/templates/checkout/_partials/cart-detailed-totals.tpl
  • /themes/StarterTheme/templates/checkout/_partials/cart-detailed-totals.tpl
  • /themes/classic/templates/checkout/_partials/cart-detailed-totals.tpl
displayCheckoutSummaryTop
  • /themes/classic/templates/checkout/_partials/cart-summary.tpl
  • /themes/StarterTheme/templates/checkout/_partials/cart-summary.tpl
  • /themes/classic/templates/checkout/_partials/cart-summary.tpl
displayCrossSellingShoppingCart
  • /themes/classic/templates/checkout/cart-empty.tpl
  • /themes/StarterTheme/templates/checkout/cart-empty.tpl
  • /themes/classic/templates/checkout/cart-empty.tpl
displayCustomerAccount
  • /themes/classic/templates/customer/my-account.tpl
  • /themes/StarterTheme/templates/customer/my-account.tpl
  • /themes/classic/templates/customer/my-account.tpl
displayCustomerAccountForm
  • /classes/form/CustomerForm.php
  • /classes/form/CustomerForm.php
displayCustomerAccountFormTop
  • /controllers/front/AuthController.php
  • /controllers/front/AuthController.php
displayCustomerLoginFormAfter
  • /themes/classic/templates/customer/authentication.tpl
  • /themes/StarterTheme/templates/customer/authentication.tpl
  • /themes/classic/templates/customer/authentication.tpl
displayCustomization
  • /classes/Product.php
  • /classes/Product.php
displayExpressCheckout
  • /themes/classic/templates/checkout/_partials/cart-detailed-actions.tpl
  • /themes/StarterTheme/templates/checkout/_partials/cart-detailed-actions.tpl
  • /themes/StarterTheme/templates/checkout/cart.tpl
  • /themes/classic/templates/checkout/_partials/cart-detailed-actions.tpl
displayFeaturePostProcess
  • /controllers/admin/AdminFeaturesController.php
  • /controllers/admin/AdminFeaturesController.php
displayFeatureValuePostProcess
  • /controllers/admin/AdminFeaturesController.php
  • /controllers/admin/AdminFeaturesController.php
displayFooter
  • /themes/classic/templates/_partials/footer.tpl
  • /themes/StarterTheme/templates/_partials/footer.tpl
  • /themes/classic/templates/_partials/footer.tpl
displayFooterAfter
  • /themes/classic/templates/_partials/footer.tpl
  • /themes/StarterTheme/templates/_partials/footer.tpl
  • /themes/classic/templates/_partials/footer.tpl
displayFooterBefore
  • /themes/classic/templates/_partials/footer.tpl
  • /themes/classic/templates/_partials/footer.tpl
displayFooterProduct
  • /themes/classic/templates/catalog/product.tpl
  • /themes/StarterTheme/templates/catalog/product.tpl
  • /themes/classic/templates/catalog/product.tpl
displayHeader
  • /classes/controller/FrontController.php
  • /classes/controller/FrontController.php
displayHome
  • /controllers/front/IndexController.php
  • /controllers/front/IndexController.php
displayInvoiceLegalFreeText
  • /classes/pdf/HTMLTemplateInvoice.php
  • /classes/pdf/HTMLTemplateInvoice.php
displayLeftColumn
  • /themes/classic/templates/layouts/layout-both-columns.tpl
  • /themes/StarterTheme/templates/layouts/layout-both-columns.tpl
  • /themes/classic/templates/layouts/layout-both-columns.tpl
displayLeftColumnProduct
  • /themes/classic/templates/layouts/layout-both-columns.tpl
  • /themes/StarterTheme/templates/layouts/layout-both-columns.tpl
  • /themes/classic/templates/layouts/layout-both-columns.tpl
displayMaintenance
  • /classes/controller/FrontController.php
  • /classes/controller/FrontController.php
displayNav1
  • /themes/classic/templates/_partials/header.tpl
  • /themes/classic/templates/checkout/_partials/header.tpl
  • /themes/classic/templates/_partials/header.tpl
  • /themes/classic/templates/checkout/_partials/header.tpl
displayNav2
  • /themes/classic/templates/_partials/header.tpl
  • /themes/classic/templates/checkout/_partials/header.tpl
  • /themes/classic/templates/_partials/header.tpl
  • /themes/classic/templates/checkout/_partials/header.tpl
displayNavFullWidth
  • /themes/classic/templates/_partials/header.tpl
  • /themes/StarterTheme/templates/_partials/header.tpl
  • /themes/classic/templates/_partials/header.tpl
  • /themes/classic/templates/checkout/_partials/header.tpl
displayNotFound
  • /themes/classic/templates/errors/not-found.tpl
  • /themes/StarterTheme/templates/errors/not-found.tpl
  • /themes/classic/templates/errors/not-found.tpl
displayOrderConfirmation
  • /controllers/front/OrderConfirmationController.php
  • /controllers/front/OrderConfirmationController.php
displayOrderConfirmation1
  • /themes/classic/templates/checkout/order-confirmation.tpl
  • /themes/StarterTheme/templates/checkout/order-confirmation.tpl
  • /themes/classic/templates/checkout/order-confirmation.tpl
displayOrderConfirmation2
  • /themes/classic/templates/checkout/order-confirmation.tpl
  • /themes/StarterTheme/templates/checkout/order-confirmation.tpl
  • /themes/classic/templates/checkout/order-confirmation.tpl
displayOrderDetail
  • /controllers/front/GuestTrackingController.php
  • /controllers/front/OrderDetailController.php
  • /controllers/front/GuestTrackingController.php
  • /controllers/front/OrderDetailController.php
displayPaymentByBinaries
  • /themes/classic/templates/checkout/_partials/steps/payment.tpl
  • /themes/classic/templates/checkout/_partials/steps/payment.tpl
displayPaymentReturn
  • /controllers/front/OrderConfirmationController.php
  • /controllers/front/OrderConfirmationController.php
displayPaymentTop
  • /themes/classic/templates/checkout/_partials/steps/payment.tpl
  • /themes/classic/templates/checkout/_partials/steps/payment.tpl
displayProductPriceBlock
  • /themes/classic/templates/catalog/_partials/miniatures/product.tpl
  • /themes/classic/templates/catalog/_partials/product-prices.tpl
  • /themes/classic/templates/checkout/_partials/cart-summary-product-line.tpl
  • /themes/classic/templates/checkout/_partials/order-confirmation-table.tpl
  • /themes/StarterTheme/templates/catalog/_partials/miniatures/product.tpl
  • /themes/StarterTheme/templates/catalog/_partials/product-prices.tpl
  • /themes/StarterTheme/templates/checkout/_partials/cart-summary-product-line.tpl
  • /themes/StarterTheme/templates/checkout/_partials/order-confirmation-table.tpl
  • /themes/classic/templates/catalog/_partials/miniatures/product.tpl
  • /themes/classic/templates/catalog/_partials/product-prices.tpl
  • /themes/classic/templates/checkout/_partials/cart-summary-product-line.tpl
  • /themes/classic/templates/checkout/_partials/order-confirmation-table.tpl
displayReassurance
  • /themes/classic/templates/catalog/product.tpl
  • /themes/classic/templates/checkout/cart.tpl
  • /themes/classic/templates/checkout/checkout.tpl
  • /themes/StarterTheme/templates/checkout/cart.tpl
  • /themes/classic/templates/catalog/product.tpl
  • /themes/classic/templates/checkout/cart.tpl
  • /themes/classic/templates/checkout/checkout.tpl
displayRightColumn
  • /themes/classic/templates/layouts/layout-both-columns.tpl
  • /themes/StarterTheme/templates/layouts/layout-both-columns.tpl
  • /themes/classic/templates/layouts/layout-both-columns.tpl
displayRightColumnProduct
  • /themes/classic/templates/layouts/layout-both-columns.tpl
  • /themes/StarterTheme/templates/layouts/layout-both-columns.tpl
  • /themes/classic/templates/layouts/layout-both-columns.tpl
displaySearch
  • /themes/classic/templates/errors/not-found.tpl
  • /themes/StarterTheme/templates/errors/not-found.tpl
  • /themes/classic/templates/errors/not-found.tpl
displayShoppingCart
  • /themes/classic/templates/checkout/cart.tpl
  • /themes/StarterTheme/templates/checkout/cart.tpl
  • /themes/classic/templates/checkout/cart.tpl
displayShoppingCartFooter
  • /themes/classic/templates/checkout/cart.tpl
  • /themes/StarterTheme/templates/checkout/cart.tpl
  • /themes/classic/templates/checkout/cart.tpl
displayTop
  • /themes/classic/templates/_partials/header.tpl
  • /themes/classic/templates/checkout/_partials/header.tpl
  • /themes/StarterTheme/templates/_partials/header.tpl
  • /themes/classic/templates/_partials/header.tpl
  • /themes/classic/templates/checkout/_partials/header.tpl
moduleRoutes
  • /classes/Dispatcher.php
  • /classes/Dispatcher.php
overrideMinimalPurchasePrice
  • /classes/controller/ModuleFrontController.php
  • /src/Adapter/Cart/CartPresenter.php
  • /classes/controller/ModuleFrontController.php
  • /src/Adapter/Cart/CartPresenter.php
termsAndConditions
  • /classes/checkout/ConditionsToApproveFinder.php
  • /classes/checkout/ConditionsToApproveFinder.php
updateProduct
  • /classes/Product.php
  • /classes/webservice/WebserviceSpecificManagementImages.php
  • /classes/Product.php
  • /classes/webservice/WebserviceSpecificManagementImages.php
validateCustomerFormFields
  • /classes/form/CustomerForm.php
  • /classes/form/CustomerForm.php

Información en: http://build.prestashop.com/news/new-updated-hooks-1-7-1-0/

Implementar bloque de Instagram en Prestashop

El usuario MrManchot de la Comunidad de Prestashop, nos trae un módulo que nos permite mostrar las imágenes que tenemos subidas a instagram dentro de vuestra tienda.

Las opciones de configuración que nos ofrece el módulo para vuestra tienda Prestashop, son las siguientes:

Opciones configuración Módulo Instagram en Prestashop

Nos permite configurar:

  • Nombre de “usuario” de nuestro perfil (Instagram Username) de Instagram.
  • Numero de fotos (imágenes) a mostrar (Image number)
  • El formato de imagen/tamaño (Image format)
  • Opciones de redimensionar las imágenes mediante la librería ImageMagic
  • Cada cuanto refrescar las imagenes (Refresh)

El módulo queda instalado en la pagina principal (hook -> displayHome)

El módulo lo podemos descargar desde github:: https://github.com/MrManchot/blockinstagram

Recordar que al bajar el módulo, os encontrareis con el siguiente nombre de fichero “blockinstagram-master.zip“, descomprimirlo en vuestro ordenador, y renombrar el directorio del módulo “blockinstagram” y volver a comprimirlo, quedando así “blockinstagram.zip

Después de lo comentado, la instalación del módulo, la podemos hacer desde la pestaña Módulos -> Módulos, como es habitual en las instalaciones de todos los módulos.

Las pruebas del módulo han sido realizadas en Prestashop 1.6.1.11

Alternativa al uso de Prestashop

Hace unos cuantos meses, salió una alternativa a Prestashop llamada “thirtybees“, antes de que saliera públicamente el sitio web, abrieron un canal en Slack donde gran parte de las personas que tienen o han tenido participación en la Comunidad de Prestashop, estuvimos dentro del chat para curiosear, para preguntar y supongo que algunos para participar.

Thirtybees usa la base de Prestashop 1.6, incluyendo mejoras de funcionamiento y de componentes.

Por poner un ejemplo, incorpora blog, posibilidad de URL (sin ID), módulo de mailchimp nativo, mejoras en las opciones de importación, cache mejorada, etc..

Según comentaron también, se van a corregir errores, que en la oficial de la 1.6 se ha ido dejando en standby.

Evidentemente está claro que Prestashop, va a tirar por Prestashop 1.7, y aunque sigan sacando actualizaciones de la 1.6 supuestamente hasta 2018, lo importante imagino que siempre vendrá con la 1.7, al menos si no cambian de idea.

Con thirtybees tienes lo bueno de que trabaja con la base de Prestashop 1.6 y que además te incluye mejoras y nuevas características.

Desconozco como terminara el asunto, pero bueno, siempre es bueno ver alternativas y ver que parte de la Comunidad de Prestashop está colaborando también con thirtybees

La web oficial es: https://thirtybees.com/

Recordando viejos tiempos con archive.org y Simple PHP Blog

En este articulo no voy hablar de Prestashop 🙂

Supongo que estoy un poco nostálgico, aunque soy asiduo a visitar archive.org desde hace muchos, muchos años y ver webs del pasado, hoy hablare de un script que use en mi primer blog donde hablaba de temas de posicionamiento web en el año 2005.

Al inicio usábamos un script llamado “Simple PHP Blog“, que si no me falla la memoria no usaba base de datos para guardar los contenidos, lo hacía por ficheros.

Cuando querías escribir un comentario, se te abría la ventana de comentarios en una ventana emergente.

Como no quiero dejar mucha constancia de que Blog era dejare alguna captura 🙂

Por lo que veo el script sigue disponible aquí: https://sourceforge.net/projects/sphpblog/ (Supongo que alguna mejora  tendrá con el paso de los años)

Evidentemente con el tiempo pasemos todo el contenido a WordPress..

En aquella época tenía un súper colaborador llamado “budha” (en la actualidad no sé nada de él), que al final con el tiempo fue el que termino escribiendo más en el Blog y recuerdo con cariño un artículo que me dejo en aquellos momentos cuando yo no podía escribir (en el 2008, creo que apenas me pasaba ya por el blog):

Para los que no lo sepan víctor es el webmaster de este blog, es un chico guapete de unos 19 años que se dedica no profesionalmente a esto del Seo, la ultima vez que lo vi llevada minifalda a rayas y camisa gris, no esto es de una canción de Sabina, la ultima que lo vi llevaba pantalón baquero y una camiseta negra con un rotulo que decia DOFOLLOW.
Agradecería cualquier tipo de información sobre su panadero, perdón paradero.

Si alguien sabe de el por favor que deje un comentario en este mismo articulo con la información, se recompensara cualquier tipo de información sobre su panadero, perdón paradero con un par de besitos y una palmadita en la espalda.

Muchas gracias.

Un colaborador preocupado.

Evidentemente era de coña el comentario de budha, por si no habéis pillado lo del “panadero”.

Me hace sentir viejuno, cuando he visto que nombra 19 años y ahora tengo 27

Módulo que permite al cliente ofrecer una oferta en Prestashop

Gracias al usuario “One_Man” de la Comunidad de Prestashoptenemos disponible un módulo que mostrara en la ficha del producto una botón que nos permitirá negociar el precio.

La instalación del módulo como es habitual se hace desde la pestaña Módulos-> Módulos

Entre otras opciones de configuración, el módulo nos permite definir a que contacto de los que tenemos definidos en Clientes -> Contacto le va a llegar la alerta de que un posible cliente ha realizado una oferta sobre un determinado producto.

Curioseando el código del módulo, vemos que incorpora una función que luego se ejecuta en el public function install(),  en la que añade su “propio” contacto.

protected function addContact()
{
$contact = new Contact();
$contact->name[Configuration::get('PS_LANG_DEFAULT')] = "Price negotiation";
$contact->description[Configuration::get('PS_LANG_DEFAULT')] = "Negotiate price with seller";
$contact->email = Configuration::get('PS_SHOP_EMAIL');
if ($contact->add()) {
Configuration::updateValue('OFFERPRICE_CONTACT', $contact->id);
};
return $contact->id;
}

Ya que al instalarlo, vemos en la pestaña Clientes -> Contacto nos ha añadido un “nuevo” contacto, llamado “Price negotiation”. (Evidentemente podemos cambiarlo el nombre sin miedo)

Dentro de la configuración del propio módulo, entre otras opciones, además de indicar a que contacto queremos recibir la alerta, podemos definir un “mínimo” en la oferta.

Al pulsar sobre el botón, se nos abrirá una ventana, donde tendremos varias opciones, entre ellas proponer nuestra oferta y la cantidad de unidades que queremos, nuestra dirección de correo electrónico, además de indicar por texto cualquier mensaje adicional a la oferta.

El modulo según nos indica el desarrollador por ahora es compatible con Prestashop 1.6, pero bueno, no perdamos nunca la esperanza con Prestashop 1.7 )

El módulo podemos descargarlo aquí: Descargar Módulo

¿Voy a ir al Prestashop Day en Madrid?

Supongo que habéis recibido muchos de los suscriptores de este blog la newsletter oficial de Prestashop, anunciando que el día 4 de mayo (2017) se celebra el día de Prestashop en el Teatro Goya de Madrid.

Es una especie de evento que reúne a todo el sector relacionado con el universo de Prestashop, agencias, desarrolladores, comerciantes, etc..

Algún forero del pasado me ha enviado algún mensaje privado para preguntarme si iba acercarme, la respuesta (aunque ya lo he comunicado por privado), es en principio que no, no voy a ir, como dije en su momento yo estoy desvinculado del mundillo, aunque eso no quita que recomiende  el acercarse al evento, ya que aunque a mí personalmente no me emocionan este tipo de eventos, al que esté interesado en desvirtualizar al sector o en conocer el universo de Prestashop y del Comercio electrónico es una buena opción.

En la web del “Evento”: http://www.prestashopday.com/ tenéis disponibles los ponentes, actividades, y la forma de poder entrar 🙂

Prestashop 1.7.0.6 Disponible para descargar

A día 6 de Marzo del 2017, Prestashop ha publicado la versión 1.7.0.6

Podemos ver más información sobre esta versión de Prestashop aquí: http://build.prestashop.com/news/prestashop-1-7-0-6-maintenance-security-release/

Log de cambios aquí: Ver log de cambios

Para descargar aquí: Descargar Prestashop 1.7.0.6

Se avecina un nuevo salto en la versión 1.7 de Prestashop, se avecina la versión 1.7.1X de Prestashop, que recordamos que esta en formato Beta: https://download.prestashop.com/download/old/prestashop_1.7.1.0-beta.1.0.zip

Mi opinión por el momento sigue siendo la misma que hace unos meses, hasta nuevo aviso os recomiendo el uso de Prestashop 1.6

Dejar cabecera fija en Prestashop 1.7

Gracias al usuario Vekia de la Comunidad de Prestashop, disponemos de un módulo gratuito para Prestashop 1.7, que permite dejar la cabecera de nuestra tienda Prestashop fija en todo momento, cuando hacemos scroll.

Cabecera Prestashop 1.7

Cabecera Prestashop 1.7

La instalación del módulo, no conlleva ninguna dificultad, simplemente lo hacemos desde la pestaña Módulos -> Módulos y Servicios Sigue leyendo

Mostrar fabricantes ordenados alfabéticamente en Prestashop 1.7

Solución proporcionada por el usuario “nemo” de la Comunidad de Prestashop.


Traducción del tutorial oficial

Debemos ir al fichero:

/templates/catalog/brands.tpl (Es la plantilla de visualización (o modelo base) del listado de fabricantes en el front-office en Prestashop 1.7)

Y cambiamos su contenido por el siguiente:

{extends file=$layout}
{block name='content'}
<section id="main">
{block name='brand_header'}
<h1>{l s='Brands' d='Shop.Theme.Catalog'}</h1>
{/block}
{block name='brand_miniature'}
<div class="all-brands">
<div class="all-brands">
<ul class="letter-select clearifx">
<li><a href="#letter_0">#</a></li>
<li><a href="#letter_A">A</a></li>
<li><a href="#letter_B">B</a></li>
<li><a href="#letter_C">C</a></li>
<li><a href="#letter_D">D</a></li>
<li><a href="#letter_E">E</a></li>
<li><a href="#letter_F">F</a></li>
<li><a href="#letter_G">G</a></li>
<li><a href="#letter_H">H</a></li>
<li><a href="#letter_I">I</a></li>
<li><a href="#letter_J">J</a></li>
<li><a href="#letter_K">K</a></li>
<li><a href="#letter_L">L</a></li>
<li><a href="#letter_M">M</a></li>
<li><a href="#letter_N">N</a></li>
<li><a href="#letter_O">O</a></li>
<li><a href="#letter_P">P</a></li>
<li><a href="#letter_Q">Q</a></li>
<li><a href="#letter_R">R</a></li>
<li><a href="#letter_S">S</a></li>
<li><a href="#letter_T">T</a></li>
<li><a href="#letter_U">U</a></li>
<li><a href="#letter_V">V</a></li>
<li><a href="#letter_W">W</a></li>
<li><a href="#letter_X">X</a></li>
<li><a href="#letter_Y">Y</a></li>
<li><a href="#letter_Z">Z</a></li>
</ul>
<div class="brands-by-letter">
{$current_letter = '#'}
{foreach from=$brands item=brand}
{$first_letter = $brand.name|substr:0:1}
{if $current_letter != $first_letter}
{if !$first_letter|in_array:['0','1','2','3','4','5','6','7','8','9']}
{$current_letter = $first_letter|upper}
</div>
</div>
{/if}
<div class="box-letter clearfix" id="letter_{if $current_letter == '#'}0{else}{$current_letter|upper}{/if}">
<div class="box-title">{$current_letter|upper}</div>
<div class="letter-content">
{/if}
<p>
<a href="{$link->getManufacturerLink($brand.id_manufacturer)}">{$brand.name}</a>
</p>
{/foreach}
</div>
</div>
</div>
{/block}
</section>
{/block}

Sigue leyendo