When you select a theme in the Back Office, PrestaShop validates it before activation. A theme that does not pass validation cannot be installed.
A theme is valid if it contains the required files and a complete config/theme.yml.
For child themes, each required file is checked in the child theme directory first, then in the parent theme directory. A file only triggers a validation error if it is missing from both.
| File |
|---|
preview.png |
config/theme.yml |
assets/css/theme.css |
assets/js/theme.js |
templates/index.tpl |
templates/contact.tpl |
templates/_partials/form-fields.tpl |
templates/catalog/product.tpl |
templates/catalog/listing/product-list.tpl |
templates/checkout/cart.tpl |
templates/checkout/cart-empty.tpl |
templates/checkout/checkout.tpl |
templates/checkout/order-confirmation.tpl |
templates/cms/category.tpl |
templates/cms/page.tpl |
templates/cms/sitemap.tpl |
templates/cms/stores.tpl |
templates/customer/address.tpl |
templates/customer/addresses.tpl |
templates/customer/authentication.tpl |
templates/customer/guest-login.tpl |
templates/customer/guest-tracking.tpl |
templates/customer/history.tpl |
templates/customer/identity.tpl |
templates/customer/my-account.tpl |
templates/customer/order-detail.tpl |
templates/customer/order-follow.tpl |
templates/customer/order-return.tpl |
templates/customer/order-slip.tpl |
templates/customer/registration.tpl |
templates/errors/404.tpl |
templates/errors/forbidden.tpl |
The following keys must be present in config/theme.yml. Dots represent YAML nesting. See Theme structure for the full reference or Creating a theme from scratch for a minimal working example.
| Key |
|---|
name |
display_name |
version |
author.name |
meta.compatibility.from |
meta.available_layouts |
global_settings.image_types.cart_default |
global_settings.image_types.small_default |
global_settings.image_types.medium_default |
global_settings.image_types.large_default |
global_settings.image_types.home_default |
global_settings.image_types.category_default |
theme_settings.default_layout |