2009

API product IDs vs SKUs

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. Read more →

Web services API filter operators

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: Read more →

Preventing PO box customer addresses

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 more →

Custom controllers

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 more →

Know More About Your Customers - Adding Custom Signup Attributes

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. Read more →

Fontis M2M Sync released

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 →

Drop-down admin config arrays

I recently needed to create custom 'arrays' within Magento's admin panel to support drop-down lists rather than just text fields. This can be a much more convenient means of configuring more complicated backend settings. When I say 'arrays', I'm talking about the type of interface element you can see if you go to System -> Configuration -> General -> Design -> Themes in the Magento admin interface and click one of the 'Add Exception' buttons. Read more →

Sort products by rating

If your Magento site supports reviews and ratings for products, as many do, then adding a way to sort by product rating is a feature that your customers may appreciate. The following is a quick way to add in "Rating" as a valid sort selection in category toolbars. First we shall alter the way products are retrieved from the database, to include the overall rating (shown as the number of stars on the product) along with the rest of the product attributes. Read more →

reCAPTCHA Extension Released

We are pleased to announce the release of our latest Magento extension, Fontis reCAPTCHA, which adds in CAPTCHA elements to the "Send to a Friend", "Contact Us" and customer registration forms, increasing the difficulty for spammers to misuse your forms and send UCE. The extension was developed after observing the "send to friend" form (in particular) being abused on a number of live Magento sites. This is a popular feature, and rather than disabling it, using the reCAPTCHA system can substantially reduce spam submissions without overly inconveniencing legitimate human users. Read more →

Automatically add sub-stores in Magento

We have a client who has created a number of sub-stores under their main Magento website, so that each of these stores has its own Magento skin, logo and so forth. However, they also have associated subdomains, which normally must be manually specified in the main index.php file so that Magento can be told to run the appropriate store in place of the default. This post details a way to automate the process and make it easier for the user to add additional sub-stores themselves. Read more →