Designing for Magento

A printable version of this page is available here Although still available, the pdf version is outdated.
Updated pdf version available here

Creating a new theme

How to create a design theme
Warning: DO NOT DUPLICATE AN EXISTING THEME. Yes, this would make it slightly easier to create your new theme, but it will also make your new theme horribly incompatible with Magento updates. Many designers (including some major Magento design companies) did this for a long time, and left the Magento world in a bit of a mess when 1.4 was released. Instead, use the “least impact” approach, outlined in this article to maximize compatibility with updates.



Continue reading…


Data Accessing Methods from Within Various Scopes


This ongoing article is meant to be a reference for basic data-fetching tasks in the Mage environment as well as a learn-by-example tutorial. Please add to it as you can…

Accessing a Product in the Cart

Current Scope:
An extension of Mage_Payment_Model_Method_Abstract (payment module Model) or anywhere with an getOrder() method

Desired Entity:

Mage_Catalog_Model_Product of an item in the cart

Continue reading…


Adding CMS Layout Templates

You may find that you want to add additional layout template options to the CMS section that can be chosen when creating or editing a page in the admin interface.

Step 1: Create New Template

Create a new template file in the following directory (you may want to simply copy an existing template, such as 1column.phtml) and name it with an appropriate name (ie: home.phtml if that template will be used for your home page).

Continue reading…


Installing Yotpo Reviews Extension

As you probably know, reviews on product pages keep shoppers on your site and lead to substantial increase in conversion rates. A big part of the success of commercial websites such as Amazon is driven by the many consumer reviews they display on each product.

Most shopping cart platforms offer a built-in reviews feature. However, there are 2 challenges with reviews for small and mid-size ecommerce sites:

Getting your shoppers to leave reviews to achieve a critical mass of reviews Getting consumers to trust the reviews on you site Generate more reviews

Yotpo has been designed from the ground up to maximize the amount of reviews on your site. Leaving a review with Yotpo is a simple, fun and social experience similar to posting on Facebook.


Continue reading…


Magento-SugarCRM integration guide

About Magento

Magento is a new professional open-source eCommerce solution offering unprecedented flexibility and control. With Magento,never feel trapped in your eCommerce solution again.Magento eCommerce Platforms provide the scalability, flexibility and features for business growth. Magento provides feature-rich eCommerce platforms that offer merchants complete flexibility and control over the presentation, content, and functionality of their online channel. Magento is developed to take full advantage of the newest technologies available, allowing your site the maximum flexibility without sacrificing speed.

About SugarCRM

SugarCRM is the World’s Leading provider of commercial open source Customer Relationship Management (CRM) software for companies of all sizes. Over 6,000 customers and more than half a million users in 75 different languages rely on SugarCRM to execute marketing programs, grow sales, retain customers and create custom business applications. SugarCRM’s Sugar Suite easily adopts to any businesses environment by offering a more flexible, cost-effective alternative than proprietary applications. SugarCRM’s open source architecture allows companies to more easily customize and integrate customer-facing businesses processes in order to build and maintain more profitable relationships.

Magento CRM

As both the products are having a strong growth in their respective areas, there are some potential business needs which needs to think of integrating these products. The sales of the ecommerce site built on Magento can be improved further by improving the CRM capabilities of Magento. Magento has basic CRM capabilities which may not cater to our need of requiring a full fledged CRM functionality. So for that we need to think of leveraging the SugarCRM functionality in Magento to improve the sales and get more business.

Business Requirements

Following are the typical business requirements to be considered

1. A lead should be created in SugarCRM when customer registers with the Magento site.

2. Converting sales to an Opportunity in SugarCRM when the registered customer tries to add a product to shopping cart in Magento.

3. A Contact has to be created in SugarCRM taking the customer details from Magento whenever a lead has been converted to an Opportunity.

4. When Customer place an Order in Magento, the order details should be immediately reflected in SugarCRM under any module
System Requirement for integration

1. Magento 1.3 Community Edition

2. SugarCRM 6.0.0 Community Edition

3. PHP-SOAP library

4. Netbeans IDE or Eclipse IDE

5. MySQL 5.1.x

6. Apache 2.2.x

Creating webservices users in Magento

In order to access webservices of Magento from outside of the application. You need to create a user and assign a role to it. This can be done under the Admin page of Magento as given below. Navigate to Sytem → WebServices→Uers

Continue reading…


Configure Magento error page

If a server side error occurs, Magento by default redirects to a special page that displays the error message itself and a trace. While this is useful information such a display can be quite annoying:

During development you most likely do not want to be redirected, but see the error directly on the page where it occurred. This way you can simply reload the page after fixing the error.


Continue reading…


UK Delivery Shipping Table Rates

I decided to create this page because of the absolute lack of information for UK/GB Magento users on the Table Rate Shipping Module.
Below is a very simple solution to what has been a huge problem for some of my clients.


I would grade this as the following:

  • Difficulty Level: 2/10
  • Time Taken: 30 Minutes

Update 28/06/2012 – This article is still useful, but outdated for the latest community release. On a 1.7.0 cart I believe you will need to create a local copy of app/code/core/Mage/Shipping/Model/Resource/Carrier/Tablerate.php and make the change on line 123 (’:postcode’ ⇒ $request→getDestPostcode()).

Continue reading…