Widget Integration: Place Delivery Dates Anywhere
The Estimated Delivery module is not limited to the default product page position. You can place the delivery date widget anywhere in your store — whether you use a drag-and-drop page builder or prefer to work directly in PHP templates.
There are two ways to do this, covered in separate sections below:
- PrettyBlocks — drag-and-drop, no coding required, works for most merchants
- PrestaShop WidgetInterface — for developers who want full control over placement
No configuration is needed to activate either approach. The widget interface is always available, and the PrettyBlocks blocks appear automatically once PrettyBlocks is installed on the same store.
PrettyBlocks: Drag-and-Drop Blocks
If your store uses PrettyBlocks, two blocks are registered automatically the moment the Estimated Delivery module is installed alongside it.
| Block identifier | What it does |
|---|---|
estimateddelivery_product | Renders the delivery date for the product currently on the page. Place this anywhere on a product page layout — it picks up the product automatically, no manual ID needed. |
estimateddelivery_cart | Renders delivery information in the context of the current cart. Use this on cart page layouts to reassure customers before checkout. |
Open the PrettyBlocks editor, find either block in the block library, and drag it into any layout zone. Both blocks render the same delivery message you configured in the module settings — they are not separate designs, they are the same widget embedded in a new location.
Use estimateddelivery_product to add delivery dates to a custom product page section you built with PrettyBlocks. Use estimateddelivery_cart when you want to surface delivery expectations at checkout time, reducing hesitation before the customer places the order.
For Developers: PrestaShop WidgetInterface
The module implements the PrestaShop WidgetInterface, which means any PHP template or custom module can request the delivery date HTML and output it wherever needed.
This is useful when you want to:
- Embed delivery dates in a custom theme template (
.tplfile) - Display delivery dates on a category or landing page
- Build a custom block for a page builder that is not PrettyBlocks
How to call it
$deliveryHtml = Module::getInstanceByName('estimateddelivery')
->renderWidget('displayProductAdditionalInfo', [
'id_product' => $idProduct,
'id_product_attribute' => $idProductAttribute,
]);
- Use
displayProductAdditionalInfowhen you have a product context (passid_productandid_product_attribute). - Use
displayShoppingCartfor cart context.
The method returns an HTML string you can echo directly into your template. If no delivery date is configured for the product, it returns an empty string — so the call is safe to make unconditionally.
Frequently Asked Questions
Does this work with page builders other than PrettyBlocks?
Native drag-and-drop blocks are provided for PrettyBlocks only. For other builders — such as Creative Elements or Elementor for PrestaShop — you can use the WidgetInterface approach: call renderWidget() from a custom HTML or PHP block that your builder exposes.
Can I show delivery dates on a category or landing page?
Yes. Call renderWidget() with the product ID and attribute ID of the product you want to display, and output the result inside your template. This works on any page, not only the standard product page.
The PrettyBlocks block renders empty — what should I check?
First confirm that PrettyBlocks is installed and active. Then check that the delivery date is configured for the product in question — if no rule matches the product, the block returns empty output by design. You can verify the configuration in the module's Delivery Rules section.
Do I need to do anything to activate these features?
No. The WidgetInterface is always active. The PrettyBlocks blocks register themselves automatically when both the Estimated Delivery module and PrettyBlocks are installed. There is no toggle or extra configuration step.