- March 2009 (2)
- April 2009 (1)
- May 2009 (2)
- June 2009 (7)
- July 2009 (7)
- August 2009 (1)
- September 2009 (1)
- October 2009 (10)
- January 2010 (2)
- February 2010 (2)
- March 2010 (5)
- May 2010 (1)
- June 2010 (1)
- July 2010 (1)
- October 2010 (2)
- July 2011 (1)
|
Friday 1 Jul 1 Comment |
CMS Page Version ControlWhen editing a CMS page in Magento Enterprise Edition's admin panel, it's easy enough to make a mistake and accidentally remove a section of text or accidentally modify markup which may be a crucial part of the page's layout. While you may have back-ups to handle a situation like this, it can still be a time consuming process to retrieve and then restore the original content. However, using Magento's built-in version control system, you can conveniently restore your page to how it was at any time in the past, and also switch between different versions of a page with ease. |
|
Tuesday 12 Oct 1 Comment |
Manage Customer AttributesFrom the start Magento has included the ability to modify product attributes through an interface in the administration panel. With Enterprise Edition 1.9, you can now manage customer attributes through a similar interface. This article will show you how to use this interface, as well as show you what this interface can and can't do. |
|
Friday 1 Oct 4 Comments |
(Re)sending Magento order emailsI recently had a need to resend Magento order confirmation emails for orders placed within a particular time period. Magento provides an interface for resending these emails out of the box (navigate to Sales → Orders → Order and click 'Send Email' up in the top right), but this takes 15-20 seconds per order at best. If you have more than a few of these order emails to resend, this approach will quickly become tedious. Luckily, there's an alternative: it is possible to write a Magento script to do the job for you, which I'll explore in this blog post. |
|
Tuesday 15 Jun 2 Comments |
Banners and the Banner Rotator WidgetBanners are a relatively new CMS feature of Magento Enterprise Edition that allow administrators to create, organise and display promotional content. In the past, this requirement was often addressed by manually creating static blocks and customising a site's layout. By using banners and the banner rotator widget, you can now create content and then control exactly how and where it is shown on your site in a much easier way. |
|
Thursday 27 May 8 Comments |
Adding a step to the Onepage CheckoutThe default Magento onepage checkout includes six steps for the customer to complete. However, sometimes you may have a requirement to create an extra checkout step. An example of this might be an option for your customer to choose a free gift as part of their order, or an extra step to collect special delivery instructions. Using delivery instructions as an example, we'll demonstrate how this can be achieved. |
|
Sunday 21 Mar 5 Comments |
Magento Session Fixation WorkaroundEarlier versions of Magento were susceptible to a form of session fixation vulnerability, which can have quite serious consequences even without anyone trying to exploit it maliciously. Visitors may unwittingly follow a link to a Magento site, and be logged in as another user without performing any actions. This results in multiple visitors sharing a session and causes confusion as they add and remove things from the same cart, and potentially even allows them to view another customer's details and place orders under their account. Luckily the issue has a simple fix in version 1.4 and later, but in this post we'll also detail a precaution that can be taken to guard against this in earlier versions. |
|
Friday 19 Mar 3 Comments |
Customise Magento Checkout Success Page Based On Payment TypeThe Magento order process completes with an order success page confirming that the order has been received and displaying the order number. This poses a problem for orders with non-instantaneous payment methods (like Check/Money Order) since the necessary payment details are then only available to customers during the payment step before the order is placed and customers need to know to note these down. Ideally you want any necessary payment information to be shown to the customer once they have finished placing the order. This post shows how to customise the order success page based on the selected payment type to show payment details for non-instantaneous payment methods, ensuring that customers properly complete the full order process. |
|
Tuesday 9 Mar No Comments |
Automatically set Magento customer groupA commonly used Magento feature is the ability to place customers into different customer groups. These customer groups can then be used in a number of ways, such as tiered pricing where each customer group may have different pricing applied. By default, Magento does not include a means of automatically sorting customers into different groups when the customer account is created; instead they must be assigned manually. This post follows on from our creating custom customer attributes post and shows how to automate customers being assigned to groups based upon information they have provided when signing up, whether from a custom or default customer attribute. |
|
Monday 8 Mar 4 Comments |
Extending the Magento web services APIMagento provides a handy web services API for integration with other software systems, and it can be extended if you need it to do something that it doesn't do by default. However, incorrectly overriding core Magento code can cause incompatibilities when applying upgrades. The following is an example of how to extend the API in a way that attempts to avoid introducing problems with future releases. |
|
Friday 5 Mar 2 Comments |
Direct SQL queries in MagentoMagento and the Zend Framework that it is built upon offer a complete abstraction of data access, which allows you to get on with the creation of higher-level logic without worrying about database access. However, sometimes you just want to be able to run a few key SQL queries directly and bypass the abstraction. This post details the most direct method of doing so in Magento. |
