Agent Skills: PrestaShop Knowledge Patch

PrestaShop

UncategorizedID: nevaberry/nevaberry-plugins/prestashop-knowledge-patch

Install this agent skill to your local

pnpm dlx add-skill https://github.com/Nevaberry/nevaberry-plugins/tree/HEAD/plugins/knowledge-patch/patches-codex/prestashop-knowledge-patch

Skill Files

Browse the full folder contents for prestashop-knowledge-patch.

Download Skill

Loading file tree…

plugins/knowledge-patch/patches-codex/prestashop-knowledge-patch/SKILL.md

Skill Metadata

Name
prestashop-knowledge-patch
Description
PrestaShop

PrestaShop Knowledge Patch

Use this skill when upgrading PrestaShop, developing modules or themes, integrating the Admin API, or checking current storefront and order behavior. Start with the quick references below, then open the task-specific reference for the complete guidance.

Reference index

| Reference | Topics | | --- | --- | | platform-upgrades-security.md | Runtime and build requirements, Update Assistant, installation and debugging security, maintenance releases, distribution packages | | themes-storefront-seo.md | Hummingbird, front-office presentation services, media, search, URLs, redirects, and indexing | | admin-api-extensions.md | Admin API, Symfony-rendered back office, hooks, module entities, and Extra Properties | | catalog-checkout-orders.md | Product management, experimental discounts and shipments, checkout, payments, countries, and one-page checkout |

Breaking changes and upgrade checks

Theme default changed

Fresh PrestaShop 9.1 installations use Hummingbird 2.0 instead of Classic. Code that needs the distribution default should call:

Theme::getDefaultTheme()

Do not hard-code classic for that purpose. Theme activation can also unhook modules designated by the theme.

Legacy product page removed

In PrestaShop 9.0.0, the new back-office product page is the only product page; the legacy page has been removed.

Major-version compatibility

PrestaShop 9 is based on Symfony 6.4 LTS. Because it is a major release, existing modules and themes may need compatibility updates and should be tested before a shop upgrade.

Runtime and build matrix

| Context | Requirements | | --- | --- | | PrestaShop 9.0.0 | PHP 8.1 through 8.4 | | PrestaShop 9.1.0 | PHP 8.1 through 8.5; Composer 2; Node.js 20; NPM 10 | | 9.1 core assets | Node.js 20.19.5 by default |

Upgrade-path constraints

Update Assistant 7.6 supports upgrades from 9.0.x to 9.1. It checks installed modules against the target version and automatically uninstalls modules it finds incompatible.

Beta and RC1 installations cannot be upgraded to final 9.1 with Update Assistant; they require a fresh installation.

Regular module upgrades separate download from installation into two steps in 9.1.0.

Experimental and prerelease functionality

Shipment-based order management

Feature flags under Advanced Parameters > New & Experimental Features expose shipment-based order management for non-production testing in 9.1.0. A single order can have shipments split, merged, and switched between carriers instead of duplicating the order for each carrier. A shipment with a tracking number cannot be split.

Discount model

The feature-flagged 9.1.0 discount system replaces legacy cart rules with four discount types:

  • Catalog
  • Cart
  • Free Shipping
  • Free Gift

It supports priorities, validity dates, automatic or promo-code application, customer and group limits, product-combination selection, and combined product, category, brand, supplier, country, and attribute conditions. Customizable products cannot be selected as free gifts.

Front-office container

An experimental Symfony container is available in the front office as of 9.0.0. Modules using it should treat it as experimental.

Native one-page checkout

PrestaShop 9.2 introduces the native ps_onepagecheckout module, placing the entire checkout flow on one page. It first appears in the 9.2 beta and should be treated as prerelease functionality until the stable release.

Admin API checks

PrestaShop 9.0.0 introduces a REST/JSON Admin API built on API Platform for store-management integrations and automation. Endpoint coverage is still a work in progress, so integrations must verify that every required resource and operation is available.

In 9.1.0, the Admin API adds a discountType endpoint, position-update handling, and refinements to combination endpoints. Integrations targeting the 9.0 API should retest these resources against 9.1.

Theme migration snapshot

Hummingbird in 9.0.0 is optional rather than the default. Its foundation uses:

  • Bootstrap 5
  • TypeScript
  • BEM naming
  • a directory layout that moves away from the legacy _dev structure
  • layered SCSS based on CSS @layer

Bootstrap and PrestaShop-specific styles are separated for overrides. Bootstrap dark mode can be enabled with an SCSS variable.

Storefront behavior to preserve

PrestaShop 9.0.0 adds native WebP and AVIF support, an option to notify a visitor when the viewed product is already in their cart, and guest ordering even when an account already exists. Product breadcrumbs follow the category through which the product was accessed.

Search queries accept special characters in 9.1.0. Custom search integrations should preserve them instead of assuming core search rejects or strips them.

Product URLs omit the category by default in 9.0.0. Shops can remove the default-language prefix to avoid redirects when another language is added. Inactive categories can issue either 301 or 302 redirects, and filtered product-listing pages are excluded from indexing.

Extension quick reference

PrestaShop 9.1.0 adds actionUpdateDefaultCombinationAfter and hooks around:

  • module enable, disable, and upgrade events
  • Configuration::updateValue
  • free-shipping price calculation
  • front-office country or currency selection

Doctrine auto-mapping for modules recognizes every subfolder under src/Entity, rather than only the first one.

PrestaShop 9.2 introduces native Extra Properties. They attach custom data fields to any PrestaShop entity without overrides, support multistore and multilingual data, and are available across the Back Office, Front Office, and Admin API.

Maintenance CLI

PrestaShop 9.1.0 provides console commands for thumbnail regeneration, search indexing, and module-translation export:

php bin/console prestashop:thumbnails:regenerate
php bin/console prestashop:search:index
php bin/console prestashop:module:export-translations --help

Security and maintenance snapshot

PrestaShop 9.1.0 fixes stored XSS in back-office templates (GHSA-35pf-37c6-jxjv), improper use of the validation framework (GHSA-283w-xf3q-788v), and exposure of sensitive product attributes in the front office. Ajax controllers are marked noindex to keep internal endpoints out of search indexes.

PrestaShop 9.1.5 fixes five security issues and closes the 9.1.x release line ahead of 9.2. Shops remaining on the 8.2 branch should update to 8.2.8, which fixes five reported vulnerabilities.