Shop settings walkthroughs
This part is for developers and administrators who configure an Exponential store. The shop reads its behavior from five kernel settings files and from the settings of the payment extensions. Each page of this part walks through one file block by block: the shipped value, what it does, and when to change it.
Contents
- The files
- Where shop settings go
- Checking the value in effect
- After a change
- A minimal store configuration
The files
| File | Decides | Walkthrough |
|---|---|---|
settings/shop.ini | Currency, rounding, exchange rates, shipping, basket info and VAT handlers, basket name, receipts | shop.ini walkthrough |
settings/site.ini [ShopSettings] and [Session] | Basket clearing, redirect after add, order mail, price datatypes, basket cleanup | site.ini shop settings walkthrough |
settings/shopaccount.ini | The customer data form and the order mail handler | shopaccount.ini walkthrough |
settings/workflow.ini | Which event types and shop triggers exist; the flat shipping amount | workflow.ini for the shop |
settings/paymentgateways.ini | Which payment gateways are loaded and from where | paymentgateways.ini walkthrough |
paypal.ini, ezauthorize.ini (extensions) | The provider settings | paymentgateways.ini walkthrough |
Where shop settings go
Never edit the shipped files in settings/; an update overwrites them. Put your values in one of these places, from
the most general to the most specific:
| Place | Applies to | Use it for |
|---|---|---|
An extension's settings/<file>.ini.append.php | Every siteaccess where the extension is active | Handlers and gateways you ship with an extension |
settings/override/<file>.ini.append.php | The whole installation | Store-wide decisions: currency, VAT handler, receipts |
settings/siteaccess/<siteaccess>/<file>.ini.append.php | One siteaccess | Per-site differences, such as a currency per store front (Multi-store and multisite) |
The .php ending with the content wrapped in a PHP comment keeps the file from being served as text. Secrets, such as
a gateway's API key or [OrderReceiptSettings] Secret, belong in settings/override/ and never in a repository.
Checking the value in effect
Overrides stack, so the value that counts is not always the one you last edited. Check it before you debug:
- Setup > Ini settings (
settings/view) shows, for every setting, the value in effect, the file it comes from and every file that sets it, and can compare two siteaccesses (The settings page). - From a shell,
./console exp:ini whereand./console exp:ini getanswer the same questions, for example./console exp:ini get shop.ini/VATSettings/Handler. - The Store dashboard's "How your shop works" section describes the checkout as this installation is configured, naming the setting behind each step (Store dashboard and order statuses).
After a change
php bin/php/ezcache.php --clear-tag=iniClear the template caches too when a setting changes what templates show (for example OrderLinkView). On servers
that keep PHP running between requests, reload them as your hosting documentation describes
(Caches).
A minimal store configuration
A store in one currency, with flat shipping, PayPal and VAT by country, needs these overrides:
# settings/override/shop.ini.append.php
[CurrencySettings]
PreferredCurrency=EUR
[VATSettings]
Handler=ezdefault
ProductCategoryAttribute=tax_class
UserCountryAttribute=country
# settings/override/workflow.ini.append.php
[SimpleShippingWorkflow]
ShippingCost=6.50
ShippingDescription=Shipping
# settings/override/paypal.ini.append.php
[PaypalSettings]
Business=<your PayPal business account>Then the workflows in the administration: Simple shipping on before_shop_confirmorder and the payment gateway event
on shop_checkout (Workflows on shop triggers).
Related pages
- Settings and ini files
- Running a shop: overview
- E-commerce: start here
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.