Understand Magento’s front-end structure and follow conventions. Know how Magento is comprised of modules, know how layout XML creates page layouts and know how html blocks get loaded as defined by the page layouts. It is good to learn Magento’s structure first following start learning how the .phtml files work. Diving into the html/php code immediately is possible but harder and more prone to errors. Magento is a well-architected program, following the conventions used by the ecommerce framework is necessary for the best-maintainable deployment.
Use the template path hints and block names with all the heart Magento configuration section (developer tab). This makes it possible to find relevant .phtml blcoks much more quickly. Note that you should select a website or store view to be able to switch on template path hints.
Use the Magento forums / wiki, approach colleagues or others with the needed knowledge, if you are stuck.
Do not try to customize everything with all the heart get go. You will probably be under a limitation of either time or budget and should focus encounter big picture. Magento is a highly flexible piece of software which is the feeling inherent danger for the enthusiastic engineer to start tinkering with everything. needless to say, given the time & budget, and if necessary a solid implementation partner, anything is possible.
When basing a design encounter basic layout this is certainly default in Magento (1,2 or 3 columns, header, footer, several blocks in columns) it is smart to use the “blank” template to base your own template own instead of Magento’s “default/default” template. The “blank” template contains less CSS styling and more sparse HTML code (just the necessary hooks).
When building a custom template or adjusting an existing one, work top-down. First keep in mind and set up the structure, then refine the contents.
Test early and often, also in multiple browsers. While this may be self-evident, the large array of options present throughout the lurch ecommerce framework of Magento make this point extra important. If you are working encounter display of prices for example, you should check what it looks like with special prices, price ranges, “as low as” prices, tier prices, if the price gets adjusted properly when dropdown options with extra pricing are chosen, etc.
If you are part of a team, be very clear about who edits what, and use versioning tools like Subversion.