Blog

Porting to Magento 2 Classy llama Blog

Porting to Magento 2; or, How I Learned to Stop Worrying and Love Plugins

Project Overview One of Magento’s biggest strengths is its multi-store functionality. The ability to override data and configuration for a given website or store while inheriting higher scope values is particularly powerful, allowing merchants and developers to create tailored experiences without the overhead of managing completely different stores. Although very powerful and flexible, managing many system configuration values for many different websites and stores can make it easy to overlook when a value is overridden at a more specific scope. A similar problem exists when managing a large codebase with many subclasses. It’s sometimes easy to overlook when a method is overridden by a subclass, wasting development time. I’ve always been a fan of PHP Storm’s indication when a method is overridden by a subclass... read more

Posted on August 13, 2015

Posted under Development, Magento, Magento Development, Uncategorized by Eric Wiese

Magento Code Blog

Making Your Magento Code More Portable

We all know we should be writing portable code. Functionality that’s reusable is sure to pay off in efficiency gains, and portable code is also naturally clearer, better organized and easier to maintain. In agency or in-house development of a Magento site, the “full build” cycle makes it easy to fall into a pattern where function and presentation are treated as one entity. Feature code gets peppered throughout one particular theme, ad-hoc modules become unwieldy as unrelated bits of functionality are bolted on over time, and the application becomes over-reliant on assumptions about the site’s specific use cases. And sure enough, when a particularly slick feature becomes relevant to another site down the road, it’s a chore to hunt down all the components that made... read more

Posted on July 28, 2015

Posted under Development, Magento, Magento Development by Chris Nanninga

Agile_methodology_blog

Agile Software Development at Classy Llama

What is Agile? Agile has become a very common term within the software development industry. So what is agile? Some of the concepts of agile software development have been around from the early days of software development but as a cohesive concept, agile software development was defined by the creation of a very short document called The Agile Manifesto included below. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items... read more

Posted on February 17, 2015

Posted under Development, General Business, Productivity , , , by Jonathan Hodges

ux optimization

Enhancing User Experience Through Ongoing Optimization

When someone starts talking about testing, one of any number of things can come to mind. There is testing that ensures the site looks the way that it is supposed to. Some testing is done to make sure a website functions as expected. You can even have testing to confirm that a piece of code produces the correct result every time. Recently, we have become very interested in a completely different kind of testing called A/B and multivariate testing. A/B and multivariate testing are two flavors of the same type of testing where the intention is to find a user experience that most effectively meets some merchant goal. The process we follow is to create two or more versions of the same page within your... read more

Posted on January 26, 2015

Posted under Design, E-Commerce, E-Commerce Optimization , , , , , by Brynn Arego

Magento_Password_blog

Using PHP Native Password API with Magento

Overview Despite efforts from the industry, corporate data leaks from web applications are happening with increasing frequency. A specific implication of these leaks is that they often expose customer password information, potentially compromising the customer’s account not only on the site where the leak occurred, but possibly many others, as customers tend to reuse the same password on many different sites. With this in mind, it is the duty of each merchant and developer to safeguard such customer information. Magento addresses the security of customer passwords by using the industry standard pattern of storing passwords using a one-way hash. This mechanism does not provide a way to directly retrieved a password from its hash – the only sure way to “unhash” a hash is by... read more

Posted on January 15, 2015

Posted under Development, Security , , , , by Eric Wiese

collectTotals-4_0

Unravelling Magento’s collectTotals: Invoices and Credit Memos

Previous Entries Part 1: Introduction Part 2: The Core Process Part 3: Orders and Caveats Quite some time ago (well over a year, in fact), I published a series of articles on Magento’s cart totals collection process (linked above), how it works, and how to customize it. The series provided a guide for introducing entirely new totals, but any intrepid developers trying out this procedure might have discovered a missing piece: While the previous articles offered a step-by-step for getting new totals into the cart and onto the final order, more effort is required for these totals to make it onto the order’s invoices and credit memos. If your order fulfillment process occurs within Magento, fancy custom totals can hardly be of any use without... read more

Posted on December 13, 2014

Posted under Development, Magento, Magento Development, Management by Chris Nanninga

PROMOTION-CRAFT_0

Promotion Craft – The Art of Creating Successful Online Promotions

She wants what your site is selling. Really wants it. Wants it so much she’s comparing colors, reading reviews, scouring social media, and watching videos on YouTube about it. So why isn’t she buying? You haven’t given her enough motivation to pull the trigger. She’s almost ready, she just needs a gentle nudge. That’s where successful online promotions come in. Right now, you have a group of customers who emotionally want your products. More of them would purchase if you would give them enough reasons to justify the decision to buy now. When you start with this premise in mind, then successful promotions become easier to craft. In essence, you are creating a scenario where your customers and prospects will likely say, “OK, I’ll buy... read more

Posted on November 26, 2014

Posted under E-Commerce, Online Marketing by Brett Curry

PhpStorm 2

Debugging Complex Problems

Recently, I posted about avoiding common coding problems. These practices can help to reduce debugging overall time. Even after common coding issues have been reduced, you are often still left with a need to debug more complex problems. These are the bugs that you either didn’t write, which are sometimes buried in the core of the framework or application on which you are working (in our case, Magento), or that stem from incorrect or incomplete logic. These types of problems can often require a variety of techniques to debug, especially when the bug is in code you neither wrote nor have seen. Example The Problem A client was having a problem where no product on a grouped product page was able to be added to... read more

Posted on November 18, 2014

Posted under Development, Magento Development, PHP by Jonathan Hodges

Magento_Translation

Magento Translation, Step Zero: What Must Be Translated?

Internationalization is an increasingly important consideration for Magento merchants developers looking to expand market penetration and increase usability. A significant part of this effort is realized in the form of maintaining translations for multiple locales – quite the undertaking, in spite of Magento’s robust localization capabilities. However, a journey of a thousand miles begins with a single step, and this initial step can be particularly daunting. What must be translated? Ideally, every string ever used, be it backend or frontend, would be documented so that an exhaustive list is always available of material scheduled for translation. In practice, however, this is rarely the case – maybe the site or module wasn’t initially slated for an international market or the ROI was difficult to justify. Because... read more

Posted on October 24, 2014

Posted under Development, E-Commerce, Magento, Magento Development, Management by Eric Wiese

Clean_SQLReports-Blog

Custom Reports in Magento with Clean_SqlReports

Magento comes with a number of built-in reports covering areas like: sales, taxes, customers, products, abandoned carts, and reviews. However many merchants have reporting needs beyond Magento has to offer. For some merchants, a third-party extension like Aheadworks’ Advanced Reports module will do the trick. However if an existing module doesn’t fit the bill, then you’ll need to build a custom report. Traditionally, a Magento developer would build a report into Magento following the same pattern of Magento’s native reports. However this approach can take a while and will often be cost-prohibitive. To make building custom reports an easier task, Kalen Jordan built a module called Clean_SqlReports that allows you to take a MySQL query and automatically turn it into a Magento report. During the... read more

Posted on September 24, 2014

Posted under Development, E-Commerce, Magento, Magento Development, Management by Erik Hansen