A website is made up of one or more stores which share the same customer information, order information and shopping cart.
Stores are collections of store views and can be setup in a variety of ways. Their main function is to provide a logical container that allows you to group related store views together in a website.
Store Views are the actual store instances in Magento. Most stores will have a single store view associated with them. But a store can also have multiple store views, which are typically used for different languages. Therefore, if you wanted to have a store displayed in English and Spanish, for example, you could create the store once and create two different store views for that store.
To exactly control the look and feel of each store in your Magento installation, Magento allows you to create themes. Related themes are grouped together in design packages. Each store in your Magento installation can use its own theme, or they can all share a single theme, or some combination of both.
A design package is a collection of related themes. If you have been working with Magento for a while, you might remember these being referred to as interfaces in earlier versions and earlier documentation. You can have any number of design packages installed, but there must always be at least one. When installed, Magento has a special package named the “base package.” There will also be another package specific to the Magento edition you have installed. In CE, this package is named “default;” in PE, this package is named “pro” and in EE, this package is named “enterprise.” To this you can add any number of your own custom design packages.
• “App/design” directory – Files that control how the page templates are rendered
• “Skin” directory – Files that control the visual aspects of the theme—CSS, images, etc: need to be accessible to web browsers
Reason: security level of each directory
Templating files in the app/design/frontend/<designPackageName>/<themeName>/ directory are organized into the following subdirectories:
• Layout—Contains the basic XML files that define block structure for different pages as well as control meta information and page encoding.
• Template—Contains the PHTML files that contain xHTML markups and any necessary PHP to create logic for visual presentation. Some templates are page templates and some are block templates.
• Locale—Contains simple CSV text documents organized on a per language basis containing translation strings (as name-value pairs) for all text produced by Magento (e.g., for interface elements and messages, not products and categories)
Skin files in the skin/frontend/<designPackageName>/<themeName>/ directory are organized into the following subdirectories:
• CSS—Contains the CSS files used to control visual styling of the website
• Images—Contains all images used by the theme
The default theme must contain all the required layouts, templates and skins to render your store. For any required files that are not found in the default theme of a custom package, Magneto will look last in the base package’s default theme.