ps-one-page-checkout
Skill4 starsChanged 15 days agoMITView on GitHub
How to enable, verify, style and translate the native PrestaShop 9.2 one-page checkout (module ps_onepagecheckout) on a project, with compatible versions and the gotchas found on Pies Sanos. Use when the user says "one page checkout", "checkout en una página", "activar el checkout de PrestaShop", "OPC", "ps_onepagecheckout", or asks to style/translate the PS9 checkout.
In this repository37 other files it gives its agents.
- blast-radiusSkill
- elementflow-kbSkill
- gitlab-changelog-releaseSkill
- gitlab-ci-quality-gatesSkill
- gitlab-project-bootstrapSkill
- gitlab-security-setupSkill
- gitlab-wiki-bootstrapSkill
- lando-checkSkill
- lando-img-placeholderSkill
- lando-mail-smtpSkill
- lando-setupSkill
- mallard-releaseSkill
- mr-flowSkill
- no-commentsSkill
- paginated-report-pdfSkill
- panda-kbSkill
- ploi-prestashop-deploySkill
- prestashop-kbSkill
- ps-consoleSkill
- ps-css-buildSkill
- ps-demo-userSkill
- ps-email-previewSkill
- ps-image-regenSkill
- ps-invoice-previewSkill
- ps-new-projectSkill
- ps-project-docSkill
- ps-security-auditSkill
- ps-storefront-polishSkill
- ps-theme-cacheSkill
- ps-translateSkill
- ps-view-transitionsSkill
- ps-watchSkill
- reflectSkill
- show-me-your-workSkill
- skill-authorSkill
- task-contextSkill
- verify-ps-projectSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 0 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 47
Check the module is enabled first: lando mysql <db> -e "select name,active,version from <prefix>module where name='ps_onepagecheckout'".
- Very specific: line 51
Add an in-stock product (stock_available.quantity > 0) to the cart, open /carrito?action=show (or ?controller=order): one page with Contact …
- Very specific: line 60
Theme CSS cache: after editing the child custom.css, delete assets/cache/theme-*.css and clear the cache or the old CSS is served.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
PrestaShop 9.2 native one-page checkout (ps_onepagecheckout)
Source: PrestaShop announcement "Introducing One Page Checkout in PrestaShop 9.2" (build.prestashop-project.org/news/2026/introducing-one-page-checkout/, 22 Jul 2026). Dev docs: devdocs.prestashop-project.org/9/modules/checkout/ (module-developers, theme-developers).
Compatible versions (checked on Pies Sanos, 2026-10)
| Piece | Version | Note |
| PrestaShop | 9.2.0 or newer | Module declares ps_versions_compliancy min 9.2.0. Not available on 8.x or 9.0/9.1. |
Module ps_onepagecheckout | 0.6.7 (beta) | Ships inside PS 9.2; installed and active, but the layout is OFF by default. |
| Theme | Hummingbird (2.1.2) and children | Works out of the box: the module ships its own templates and takes over via displayOverrideTemplate. |
| Classic theme | Not supported by default | Needs template overrides of the module. |
| Core hook | actionCheckoutBuildProcess | Added in PS 9.2 (PR #41047). |
Announced as beta: re-check the module version and release notes before promising it to a client.
Enable
Pick one. Config key: PS_ONE_PAGE_CHECKOUT_ENABLED (module installs it as 0).
- Back office: Design > Checkout, choose "One-page checkout" layout, save. Switch back to the "Four-page checkout" the same way.
- Console (servers, scripted):
Thephp bin/console prestashop:config set PS_ONE_PAGE_CHECKOUT_ENABLED --value=1 php bin/console cache:clear php bin/console prestashop:config get PS_ONE_PAGE_CHECKOUT_ENABLED--value=form is required (set KEY 1fails with the usage text). On Lando prefix withlando. - SQL (replayable, ignored by git unless
git add -f):UPDATE <prefix>configuration SET value='1', date_upd=NOW() WHERE name='PS_ONE_PAGE_CHECKOUT_ENABLED';then clear cache. Keep it asthemes/<child>/sql/one-page-checkout.sqlso prod cut-over can replay it.
Multistore: the setting is per store (use --shopId), there is no global switch.
Check the module is enabled first: lando mysql <db> -e "select name,active,version from <prefix>module where name='ps_onepagecheckout'".
Verify
Add an in-stock product (stock_available.quantity > 0) to the cart, open /carrito?action=show (or ?controller=order): one page with Contact (guest only asks for email), Delivery address, Delivery method, Payment, and the summary on the side. Shipping and payment only appear after the address is complete.
Gotchas found
- Spanish is missing. The module ships en-US, fr-FR and pl-PL only; the repo-level
translations/es-ESis git-ignored and has ~33 of 100 strings. Put a fullmodules/ps_onepagecheckout/translations/es-ES/ModulesOnepagecheckoutShop.es-ES.xlf(same ids as the en-US file, tracked in git) and clear the cache. - Default country "Francia" on the address form: check
PS_COUNTRY_DEFAULTand the active countries. - Styling hooks (body id
checkout):.checkout-grid,.checkout-grid__aside-wrapper,.one-page-checkout__section(one per step, title.one-page-checkout__title),.one-page-checkout__submit,.opc-*for dynamic parts. Number the steps with a CSS counter on.tab-content. - Reassurance blocks in cart and checkout come from hook
displayReassurance(.blockreassurance_productmarkup), so style that once for product, cart and checkout. - Social login (iqitsociallogin hook
displayPersonalInformationTop) renders outside the step cards; override itscheckout.tplin the child theme. - Theme CSS cache: after editing the child
custom.css, deleteassets/cache/theme-*.cssand clear the cache or the old CSS is served. - Payment modules: with ps_checkout inactive no payment shows; the OPC keeps the classic hooks and adds JS events (
opcCarriersUpdated,opcPaymentMethodSelected,opcDeliveryAddressSelected). Carrier/payment modules that inject markup must re-render after the AJAX refresh. - Anything on the Pies Sanos repo: theme
pies-sanos-child, MR !17.
Rollback
Set PS_ONE_PAGE_CHECKOUT_ENABLED to 0 (or pick "Four-page checkout" in Design > Checkout) and clear the cache. No data migration involved.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

