Magento 2 Fundamentals

Yey! Finally managed to complete the “Fundamentals of M2 Development”  training course, and since it’s not yet a certification, it’s a nice to have on your cv. It consists of 6 units (modules), and after each one there’s a mini-test. So yeah, good to have, as I said.

Old school

Wow, my last post on this blog was more than 1 year ago!

Anyway, this post is about this year’s Christmas present that I got. Everyone who knows me know that I’m a kind of a “music freak”. Obviously, my wife knows this too 🙂
And she got me a turntable this year. She noticed the way I was looking at one of those some time ago in a store and she got me on. And of course, an album to go with it, Red Hot Chili Peppers’ Californication. This is one of the few albums that when I start playing, I don’t skip any songs. This one and Nirvana‘s Nevermind (which I bought the next day) 🙂


There’s nothing comparing to the sound of a vinyl record playing. The sound is way “full” than on the CDs or any streaming services, love it! 🙂

Another thing that I noticed, and it really is one of those “proud daddy” moments, my son Mihnea who’s 7 years old (according to him “almost 8!”) seems to really enjoy listening to Nirvana’s Nevermind! My eyes are full of tears, damn those onion cutting ninjas around me!!! 🙂

Thanks Wifey!

Magento Certified. Plus!

Recently (Thursday, 5/Nov/2015 to be more precise), had my Magento Developer Plus certification exam. After having my “normal” Magento developer certification in 2012, this one was long overdue, really. According to Magento, “you can now list yourself among an elite group of Magento professionals who have demonstrated their superior skills by passing the exam. Whether you are looking for a new job opportunity, contract work, or advancement in your current position, your new Magento Certified status gives you a valuable, verifiable advantage. The Magento Certified Developer Plus is skillful in the use of Magento Enterprise Edition and has delved into details of the structure of Magento that many have not often explored, but which can give someone an advantage when implementing a site using Magento.”.

Sweet talk, huh? 🙂

Oh, the link to my Magento profile page is here. It’s even got my picture and stuff! 🙂

Magento template path hints in adminhtml

I know this is all over the net, but I’ll post it here for my own reference.
So this is how you enable the template hints in the admin: connect to your database, an execute the following query:

INSERT INTO core_config_data (scope, scope_id, path, value)
VALUES ('default', 0, 'dev/debug/template_hints', 1),
('default', 0, 'dev/debug/template_hints_blocks', 1);

To disable them after you’re done, just set the new paths (dev/debug/template_hints and dev/debug/template_hints_blocks) to 0.


Nginx / php-fpm timeout

So, I’m working on a Magento upgrade on a LEMP stack server, and in spite of changing 


to 1 hour (3600s), was still giving me the ugly “502 Bad Gateway” message.

Foud that there is a setting in PHP-FPM that should to hand-in-hand with the one in nginx, 


to be more specific. Increased that to 3600s in 


, restarted the fpm service and voila! Works like a charm!

The default is set to 120s, btw.

Hope that helps someone.

//lateredit: There might be another setting


in your nginx conf file, that one needs to be set to the same value as the previous ones.

Mage Titans

If you are a Magento developer, you pretty much know what this post is about. If you were last Saturday (1.Nov.2014) in the Manchester area, you definitely know what this post is going to be about. If you don’t… well.. sorry for you! 🙂

This post is not going to be another review of the event, couldn’t do that even if I wanted to, I think I’m too close (personally) to do that.

Last Saturday, in Manchester, at “The Comedy Store” the first edition of the “Mage Titans” conference took place. I’m proud of being part of this from the beginning, when it was just and idea spinning around the Space 48 offices, ever since we were trying to find a name, to think who to invite as speakers, etc. And, thanks to our amazing team, in partnership with Manchester Digital developed the idea into something that no one was expecting.

You see, the thing with Magento, being the “beast” that it is (especially being an eBay company now), most big conferences around the world (Meet Magento, Magento Live, etc) have a tendency to be a bit more commercial, more business-oriented than a “nerdy developer” would like. No disrespect for anyone, I’m one of those as well. But Mage Titans was exactly the opposite, it was (like Jon, the Space 48 MD said it really well) “for developers, by developers”.

The thing that blew me away (well, one of them anyway) was having the opportunity to be in the same room with guys like Vinai Kopp, Ben Marks, Alistair Stead (to name a few) and to be able to speak with them, exchanging ideas, getting advice, talking about best practices, hearing some really good tips. And after all that, to realise that, at the end of the day, they’re developers, like everyone in the room, that day. There no CEOs, no MDs, just Developers. Even better, Magento Developers.

Me & Ben Marks

I mean, hearing Vinai Kopp with his talk entitled “The Beautiful Magento Module” was a great kickoff for the day. And the day finished with Magento’s own Ben Marks, the “dude” who’s training videos I was watching almost three years ago getting ready for my Magento Certification exam. Not to mention Alistair Stead‘s tips and tricks, dos and don’ts to scale and have your Magento solution highly-available, having your Magento getting closer to the speed of light with HHVM by Daniel Sloof, or loads of information on caching and debugging with our own Space 48 Technical Director, Tony Brown.

By far, the most important part of the day (and I know for sure most of the devs in there agree) was the Panel Discussion, with Ben Marks, Vinai Kopp and Alistair Stead, moderated by Tony Brown, where anyone had the opportunity to ask questions and have not one, but 3 answers. It was both informal and fun, could have stayed there another hour or more 🙂

The Panel!

I won’t post in here links to the speaker’s slides, you can find those online if you do a quick search on Google or if you follow the speakers on Twitter.

I will, however, post a URL with the images I took that day:

By the looks of it, I see absolutely no reason why there should’t be a “Mage Titans 2015”, right? Looking forward to it!




Digital Business of the Year :: Space 48

I’ll start this one with saying what I always say when asked about my work: very proud to be part of the amazing team at Space 48, we’re making digital history there! 🙂

Joke aside now, recently we won a pretty important award in the North-West, an award that doesn’t recognises only one project of ours, but the “overall”, the entire team: Digital Business of the Year, after we were shortlisted in no less than 4 (four!) categories. The awards ceremony was held in Manchester (don’t remember the exact location, its all confusing for me 😛 ), but you can read the entire article in our blog post.

Mage registry key “_singleton/core/resource” already exists

Ever had the “Mage registry key “_singleton/core/resource” already exists” error in Magento and can’t get rid of it? First of all, if you search this on Google, don’t believe anything you read in the first 2-3 pages of results (pages > 3 don’t matter anyway, that’s a black hole…). Even found a champ claiming to “solve” the issue by clearing the cache in index.php EVERY TIME a page was loaded… What’s the point in having a cache engine then? Especially if you’re using the EE version!

Anyway, check if you have APC installed on the box and tweak the


in the apc.ini file.

Hope this helps anyone.

Holiday, part I

Finally, me and the family are going away for our first holiday this year,  around here, somewhere. From what I hear, its’s supposed to be really nice, hopefully I’ll recharge my batteries.

So no laptops, no sites, no PHP, no nothing. Just enjoying my free time with my family, taking loads of photos and visiting the area (already have an itinerary planned by “The Wifey” 🙂 )

/me off…

Refresh the checkout success page in Magento

Something useful when working on the “checkout success” page in Magento, whether it’s just styling, implementing some tracking JS codes or whatever open up app/code/core/Mage/Checkout/controllers/OnepageController.php in your favourite editor (mine is PhpStorm, btw) and on line (approx, at least for Magento EE) 275 you’ll find the successAction() method.

In there, comment out lines 278-281 286-291, so the method looks like this:

public function successAction()
    $session = $this->getOnepage()->getCheckout();
//        if (!$session->getLastSuccessQuoteId()) {
//            $this->_redirect('checkout/cart');
//            return;
//        }

        $lastQuoteId = $session->getLastQuoteId();
        $lastOrderId = $session->getLastOrderId();
        $lastRecurringProfiles = $session->getLastRecurringProfileIds();
//        if (!$lastQuoteId || (!$lastOrderId && empty($lastRecurringProfiles))) {
//            $this->_redirect('checkout/cart');
//            return;
//        }

//        $session->clear();
        Mage::dispatchEvent('checkout_onepage_controller_success_action', array('order_ids' => array($lastOrderId)));

IMPORTANT: if you’re using a version control system (e.g. GIT), DON’T COMMIT your changes. Actually, don’t EVER change the Magento Core directly. Remember to undo your changes to this file when you’re done testing.


Hope someone will find this useful.