PrestaShop 1.7.7 adds supports for PHP 7.3 and requires at least PHP 7.1.3. Older PHP versions are no longer supported.
The following dependencies have been updated in order to provide support for PHP 7.3:
|Extension||Old version||New version|
The following hooks have been added:
All database tables have been switched to the utf8mb4 charset in order to provide support for emojis.
Because of this, the size for some indexes have been reduced to
jQuery has been updated to 3.4.1 in Back office (up from 1.11 in legacy pages) and Core theme (up from 2.1.4).
jQuery has changed a lot between v1.11 / v2.1.4 and v3.4.1. This is why jquery migrate was enabled in order to provide a layer of compatibility, but this does not preserve all jQuery capabilities for such old versions.
Modules relying on these old capabilities may experience problems, including but not limited to:
contextproperty has been removed
dataTypein an ajax request won’t trigger the
donemethods if the type of content returned does not match
jQuery.attr()behavior has evolved, most of the time, you should use
In this version the order page has been migrated with Symfony. We used this migration as an opportunity to improve the page layout to meet the merchants’ needs. You can see a representation of these new hooks in the page here:
The following hooks have been moved and have new names. Even though they are very similar to their former equivalents the layout has changed and thus the modules need to adapt their rendering.
|Removed hook||New hook||Modification|
|displayAdminOrderRight||displayAdminOrderSideBottom||It is now displayed on the left which is why it was renamed based on its context not its position, since the layout is completely different it has no alias|
|displayAdminOrderLeft||displayAdminOrderMainBottom||It is now displayed on the right which is why it was renamed based on its context not its position, since the layout is completely different it has no alias|
|displayAdminOrderTabOrder and displayAdminOrderTabShip||displayAdminOrderTabLink||Both hooks are now combined in a single generic hook that allows you to include tab links the order view page, it only has the id_order as a parameter|
|displayAdminOrderContentOrder and displayAdminOrderContentShip||displayAdminOrderTabContent||Both hooks are now combined in a single generic hook that allows you to include tab contents the order view page, it only has the id_order as a parameter|
These hooks have been aliased, although we recommend migrating to the new hooks and check that it integrates correctly with the new layout:
|Deprecated hook||New aliased hook||Modification|
|displayBackOfficeOrderActions||displayAdminOrderSide||Although it has been aliased for convenience, the new hook is not displayed at the same place at all (it is now in the side column), so we suggest to verify how your code integrates into the new layout. If you need to add action buttons, use the new actionGetAdminOrderButtons hook|
|displayInvoice||displayAdminOrderTop||This hook has the same placement and parameters|
These hooks have been added on the order view page:
|displayAdminOrderSide||It is displayed in the side column (similar to displayAdminOrderSideBottom) but right under the customer view|
|displayAdminOrderMain||It is displayed in the side column (similar to displayAdminOrderMainBottom) but right under the details view|
|actionGetAdminOrderButtons||It is used to build a collection of buttons in the order thanks to an
These hooks have been added on the order list page:
|displayOrderPreview||It is displayed at the bottom of the order’s preview on the order’s listing page.|
A major bug has been fixed in product listing, for products with combinations the image displayed was the first one from the default combination, and the cover was ignored. This behaviour has been fixed but in order to allow modules to override this cover a new
cover_image_id has been introduced.
This image ID is then used to populate the
product.cover field usable in the templates, if you want the default image for the combination (which was the previous behaviour) you can use the new
classictheme templates and uses the
$product.coverproperty you should check that it still matches the expected behaviour, especially in the
themes/classic/templates/catalog/_partials/product-cover-thumbnails.tplused in the product page where
$product.default_imageshould be used.
Modern modules that use Symfony controller and routing can now use the
$tabs property in their module class to automatically register Tabs in the BackOffice menu.
Also new in this version, when a module is enabled/disabled all its related Tab links are automatically shown/hidden.
Specification\Numberis now immutable
clickable_rowoption on Grids’
.clickableas a selector, modules that rely on this feature should make sure that their templates use the appropriate class