While getting started with Magento some time ago, I thought it would be a good idea to write a post that started at the beginning: how to install it. Reading through the Magento forums, I get the impression that Magento users have extremely varied levels of web development and systems administration experience. That raises the question of the amount of detail to include in a post aimed at Magento newcomers, since experienced web developers will need only the important steps, whilst those new to web development will prefer more info. Here's our take on an install guide that will hopefully prove useful for both audiences.
Read MoreAPI product IDs vs SKUs
by Peter Spiller in Magento
The Magento web services API is quite flexible - a lot of the time, it can either take an ID (like a product ID) or a more human-readable identifier (like a product SKU). Unfortunately, the downside of this is that in certain circumstances these can be mixed up, in which case the the wrong product will be affected.
In theory, to fetch information on a product based on its ID, the catalog_product.info
method should be used with with an integer argument:
Web services API filter operators
by Peter Spiller in Magento
Many of the Magento web services API methods facilitate listing certain types of data - customers, products, orders, etc. However, when using these methods we rarely want to retrieve every record. Luckily there are a number of filter operators that can be used to narrow the result set that will be returned.
The following is a basic example of how to get a list of all customers in PHP:
$server = new SoapClient('http://magentohost/api/soap/?wsdl');
$sessionID = $server->login('api_user', 'api_key');
$server->call($sessionID, 'customer.list');
Now, suppose we want to retrieve only those customers updated since 10/06/2009. We can do this by adding a filter operator to the last line:
Read MorePreventing PO box customer addresses
by Denis Margetic in Magento
It's often undesirable to mail items to customers who provide post office boxes or locked bags for their delivery address when placing an order on a Magento site. Most commonly this is a requirement for fraud prevention or shipping reasons. Unfortunately, simply stating that PO boxes cannot be accepted somewhere on the site is often not enough to stop some customers from still placing an order with one. Rather then be left with orders that either require a followup or can't be fulfilled, an easy solution is to add validation code to prevent PO boxes and/or locked bags from being entered in the first place.
Read MoreCustom controllers
by Peter Spiller in Magento
Here are a few notes on creating your own controllers and actions in Magento modules. This example shows how to create a controller called 'subscriber' for a module called 'MailingList'.
One scenario in which a custom controller is useful is when there is a need to allow other applications to interact with Magento. For example, we might want to be able to take action on subscribers being added or removed from an external mailing list, which is in fact exactly what our Campaign Monitor extension does.
Read MoreKnow More About Your Customers - Adding Custom Signup Attributes
by Denis Margetic in Magento
Magento provides a simple user account signup page. However, some online stores might want to collect relevant customer information for more targeted and personal interactions with their customers. Some examples of details that could be collected include shoe size, clothing size or favourite colour.
Adding your custom fields on the signup form is not difficult, but it is not trivial either, since one cannot use the Magento backend for the task. As an example of how it can be done, I will demonstrate the addition of a new custom field to the signup form asking new users to enter their favourite ice cream flavour.
We need to make a module to extend the functionality of the customer model. Start by adding the module xml file to the
Read Moreapp/etc/modules/
directory. You need to decide on a module name. In this example we will use the Fontis scope, and call the module 'Customer'. Therefore we need to create a file namedFontis_Customer.xml
and add the following content:Fontis M2M Sync released
by Chris Norton in Announcements
We are pleased to announce the immediate availability of Fontis M2M Sync for synchronising customers, products and orders between Magento and MYOB. Using our software will allow you to speed up your sales and accounting processes and eliminate the errors associated with manual transfer of the same information.
This is a Windows application that runs on your local computer with MYOB installed, and connects remotely to your Magento store. We are providing the software on a yearly subscription basis, which includes comprehensive documentation, support, upgrades, and a 30-day money back guarantee.
Read More