Doctrine Orm - An Introduction and Then a New Idea

What is Doctrine ORM Doctrine is one of the most popular ORM systems for PHP. It is written as a fully standalone library though is most famously used as the ORM that is bundled with a standard Symfony project. Read the docs herehere Doctrine ORM is only one of the projects projects that Doctrine has built, however it does build upon all of the other projects. What is an ORM An ORM, or Object Relational Mapper, attempts to allow developers write code and work with objects and then have the persistance and relation of those objects handled behind the scenes, thereby allowing the developer to focus on the domain issues and not in hand crafting a large amount of SQL schema and query logic. Read On →

Magento Image Optimisation

The Problem

One of our clients recently needed a simple solution for automatically optimising their media/ and skin/ images. After trying a reputable module we decided it would be simpler and give us more control if we completed this using bash, cron, jpegoptim and optipng.

Read On →

Ebizmarts Sagepaysuite Onestepcheckout Place Order Form Key Issue

We had a client who migrated his domain from http to https. And his other payment methods in onestepcheckout page started failing. The issue was that his sagepaysuite/checkout/review/info.phtml was being rendered however in this file you can see an if condition where it checks Magento version. <?php if($this->helper('sagepaysuite')->isMagentoEE113OrUp() or $this->helper('sagepaysuite')->isMagentoCE1800rUp()): ?> <script type="text/javascript"> //<![CDATA[ review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder', array('form_key' => Mage::getSingleton('core/session')->getFormKey())) ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements')); //]]> </script> <?php else: ?> <script type="text/javascript"> //<![CDATA[ review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements')); //]]> </script> <?php endif; ?> Our client’s Magento version was CE 1.6.1.0, but we fully patched up the website so no matter we had to use form_key since SUPEE-6788, the part with form_key wasn’t being loaded.

Introduction to Behat and Behaviour Driven Development

Origins of BDD (Behaviour Driven Development) This derives from TDD (Test Driven Development) which is very similar but focuses more on unit tests and smaller parts of the software whereas BDD will be used to work on the bigger processes you might expect to have in the software you are developing. BDD also concentrates on how the software should actually behave. Before the software is actually built you would first need to define how the end user would actually use the software once it is complete, it could be as simple as working out how a user would log in. Read On →

Magento Module Version Checker

Magento Module Version Checker (mmv) is a simple script to check Magento Connect (or other custom sources) for the latest version of a module.

Read On →

Exploring Streets Of York and Participation in First Ever PHP Yorkshire conference

When something unbelievable happens, people tend to say “you were in the right place at the right time” that’s why you’re lucky. That is how I feel what happened to me here at Edmonds Commerce Ltd. Within first few weeks since I started working on Magento projects here at Edmonds. Nolwenn came to me with a question. “Hey Tadas, development team is going to this conference ‘PHP Yorkshire’, they don’t know what to expect, but it will be fun, will you join them?” And then in my head I am like “Wow, my first weeks and I got this promising opportunity to spend the weekend knowing my colleagues better and listen to these passionate people who loves PHP”. Read On →