Skip to main content

Introduction

 ·      Introduct for Developers

   What you should learn before developing magento.
         
    Magento is a Zend Framework (v1) application. Learning ZF  will help you getting Magento quickly. Dedicate                                   some days to learn at http://framework.zend.com/
      
    Understand OOP  http://en.wikipedia.org/wiki/Object-oriented_programming  first . Once you are done, study   and understand Eventdriven programming  http://en.wikipedia.org/wiki/Event-driven_programming.
        
   Understand Model View Controller architectural pattern principles ( http://en.wikipedia.org/wiki/Model–view–          controller ), and RESPECT it when developing Magento.

   You might need some help during setup, follow the official  installation guide at http://www.magentocommerce.com/knowledge-base/entry/magento-installation-guide

• After the installation, you MUST understand EVERY SINGLE parameter under “system>configuration”. It’s the key to avoid developing again something that comes out-of-the-box. 
• Magento directory structure:
• “app” directory is your main focus
• “js” and “skin” will also be important developing frontend
• “media” will host all the catalog pictures
• “var” is where all the temporary content will be
• Don’t mess too much with the rest…


Create your own Namespace in “app/code/local” .  Every module you develop will be placed there.

Create also your own design package in “app/design/frontend”
Create new layouts and use them in any CMS page


·       XML Examples:


When referencing XML the ellipses, ..., are used to suggest that other, optional, or  pre-existing XML tags are present. Given the XML structure below:

<config>
<modules>
<Company_RewardPoints>
<version>0.1.0</version>
<depends>
<Mage_Customer />
<Mage_Checkout />
</depends>
</Company_RewardPoints>
</modules>
<global>
<resources>
<rewardpoints_setup>
<setup>
<module>Company_RewardPoints</module>
<class>Mage_Core_Model_Resource_Setup</class>
</setup>
<connection><use>core_setup</use></connection>
</resources>
</global>
</config>

The section enclosed in the rewardpoints_setup tag may be represented as this:

<config>...
<global>
...
<resources>
<rewardpoints_setup>
<setup>
<module>Company_RewardPoints</module>
<class>Mage_Core_Model_Resource_Setup</class>
</setup>
<connection><use>core_setup</use></connection>
</resources>
...
</global>
...
</config>













Comments

Popular posts from this blog

HTML Emailing in ZF2

<?php namespace Application\Model; use Zend\Mail\Message; use Zend\Mime\Message as MimeMessage; use Zend\Mime\Part as MimePart; use Zend\Mail\Transport\Sendmail as SendmailTransport; use Zend\Mail\Transport\Smtp as SmtpTransport; use Zend\Mail\Transport\SmtpOptions; use Zend\View\Renderer\PhpRenderer; use Zend\View\Resolver\TemplatePathStack; use Zend\View\Model\ViewModel; use Zend\View\Model\ModelInterface; class ApiEmail extends ApiInterface {    protected $From = "XXXXX@gmail.com";    protected $FromName = "XXXX";    protected $To = "" ;    protected $Subject = "" ;    protected $Body = "" ;    protected $Cc = "XXXXXX@gmail.com";    protected $Bcc = "XXXXX@gmail.com" ;    protected $ReplyTo = "XXXX@gmail.com" ;    protected $Sender = "" ;    protected $Encoding = "UTF-8" ;    protected $MESSAGE ; // getter setter ...

What are the advantages and disadvantages of using zsh instead of bash (or other shells)?

Everything y ou kno w from bash  still  applies, but zsh does a bunch of other useful things.  I  know that I use only a small subset of them, but t hese are especially useful for me: Extended globbing: For example,  *(.)  matches only regular files, not directories, whereas  a*z(/)  matches directories whose names start with  a  and end with  z . There are a bunch of other things, such as  **  as described by  Ole Tange . Inline glob expansion: For example, type  rm *.pdf  and then hit tab. The glob  *.pdf  will expand inline into the list of .pdf files, which means you can change the result of the expansion, perhaps by removing from the command the name of one particular file you don’t want to  rm . Interactive path expansion: Type  cd /u/l/b  and hit tab. If there is only one existing path each of whose components start...