geschrieben von
am 29. April 2016 - 21:15

Just a quick bit of advice for folks getting into Magento 2 development, which probably applies to Magento 2 development as well. If you’re building backend admin components, it’s a good idea to not rely on the default, Super User admin account when you’re developing and testing.

There’s a few parts of the admin system that are completely bypassed for super users. For example, Magento admin controllers require an _isAllowed method where, as a module developer, you need to perform an ACL check. If you don’t perform this check, users will be rejected for having in sufficient permission. However, if you’re logged in as a super user, this check is de-facto skipped, and you’ll probably ship a module without the _isAllowed method, and no regular users will be able to access your feature.

I’ve gotten in the habit of creating a “Non Super User Admin” role that has every system…

geschrieben von
am 29. April 2016 - 1:02

One last bit on the area setting object in Magento 2. There were times in Magento 1 where it was necessary to temporarily pretend you were running code in one area, even though you were in another. One famous example of this was using Magento’s catalog/product objects to directly save product information while on the frontend. In later versions of Magento this (unexpected by the core developers) action threw some PHP errors.

While Magento 2 has tried to clean these instances up, you’re probably going to run into similar problems when converting Magento 1 extensions to Magento 2, and you’re probably going to find some instances where it’s impossible to work around. However, last time we learned it’s impossible to change the area code in Magento 2 that’s already been set.

Fortunately, a developer on Magento’s core team…

geschrieben von Daniel Becker
am 28. April 2016 - 14:49

Die Ergebnisse der jüngsten Befragung von B2B-Unternehmen zu ihrer E-Commerce-Strategie sind erschienen. Der B2B E-Commerce Konjunkturindex von ECC Köln und Intellishop ist wieder mal ziemlich spannend. Schwerpunkt der jetzigen Umfrage war unter anderem der grenzüberschreitende Versand. Wir stellen die wichtigsten Ergebnisse kurz vor …   B2B E-Commerce Konjunkturindex Die Umfrage bezieht sich auf den Zeitraum

The post Entwicklung im B2B E-Commerce – neue Zahlen appeared first on Regalsprecher.

geschrieben von Roman Glushko
am 28. April 2016 - 8:12

Have you ever edited a CMS page? Perhaps you’ve inserted a custom image or just added a link to another page of your store. What did you do for that? We assume that you simply copy-pasted the link from your browser and inserted it to the CMS page directly. Then, you have edited one more CMS page or block in the same way. It looks like a good solution. However, imagine that one day you will need a solution for changing, let’s say, a domain name of your store. You will need to fix the old domain name in each of the edited CMS pages and blocks to prevent redirect to it. This is not good approach and, to improve that process, we should use directives.

Directive is a special shortcode or placeholder that can be replaced by some actual information. This term isn’t new for Magento users, because it came from Magento 1.x and it has the same usage in Magento 2.

The directives can be used everywhere if the WYSIWYG editor is present or for email templates…

geschrieben von Dewayne Holden
am 27. April 2016 - 22:40
Global Overrides

When setting up class overrides, you generally want them to apply across Magento as a whole. There are times, however, where you might want to override a class only in one specific location. We at Classy Llama were recently developing a module for Magento 2 that required a Magento controller to return a different URL from what was normally provided by that controller’s service dependency. We wanted this modification to apply to this one controller class and nowhere else.

In the following example controller, let’s say you wanted to change the way this controller’s URL helper functions by having the getBaseUrl() method return a different URL, and it is not possible to directly edit the controller or its dependency:

class Index extends \Magento\Framework\App\Action\Action { /** * @var \Magento\Framework\Url */ protected $urlHelper; /** * @param \Magento\Framework\App\Action\Context $context * @param…
geschrieben von
am 26. April 2016 - 17:24

Reader Vinai Kopp (of Mage2Katas fame) wrote in with a interesting bit of functionality in the Magento\Framework\App\State class we talked about in the Fixing Area code Not Set Exceptions quickie.

Specifically, Vinai had a bit of code that was shared between a command line context, and a web context, and if he tried setting the area code during the web context, Magento would throw a different exception

Area code is already set

That’s because of the following guard clause

#File: vendor/magento/framework/App/State.php public function setAreaCode($code) { if (isset($this->_areaCode)) { throw new \Magento\Framework\Exception\LocalizedException( new \Magento\…
geschrieben von netz98
am 26. April 2016 - 10:20

Wie schon in der Vergangenheit, hat netz98 auch in diesem Jahr wieder interessante und nachahmenswerte Beispiele für einen besseren Onlinehandel zusammengetragen. Heute zeigen wir Euch eine Auswahl aus den Zukunftsthemen im E-Commerce 2016 zum Thema: Shop- und Usability-Optimierung In den Bereichen Design und Usability, gibt es die Basics – wie die übersichtliche Struktur der Webseite oder

The post Shop- und Usability-Optimierung – Best Practices im E-Commerce appeared first on Regalsprecher.

geschrieben von Viacheslav Kravchuk
am 25. April 2016 - 13:31

We all have heard of the Magento Imagine conference. If Magento is anyhow related to your life or business, this is the event you can’t miss.

This year, Magento Imagine gathered over 2200 attendees from all around the world and delivered some awesome content. We were there and have prepared this infographic for all of you who couldn’t enjoy the event or enjoyed it so much that you would love to recap what happened. Text transcription is available below.

Key Announcements:

  • Magento Enterprise Cloud Edition
  • Magento Marketplace
  • Strategic Partnerships
  • Magento B2B package is coming
  • Magento 1.x supported until the end of 2018 (3 years after Magento 2.0 release)
Magento Key Stats:
  • $50B Annual Commerce Value on Magento
  • #1 Platform in B2B and B2C…
geschrieben von
am 25. April 2016 - 0:52

Meanwhile, back in the real world, away from the bleeding edge of Magento 2, Nexcess has just released a simple-but-useful open-source extension that will log and notify users when there have been been admin user changes made to their Magento system. I’m not responsible for maintaining any active Magento 1 systems at the moment, but if I was I’d install this, or something like it Sophisticated attackers may be able to work around something like this, but the majority of Magento attacks come from unsophisticated attackers.

geschrieben von
am 25. April 2016 - 0:44

Carved out some time this weekend to add Repository generating code to pestle’s generate_crud_model command. Now, in addition to creating your standard Magento 2 Model/ResourceModel/Collection objects, you’ll also get a repository for your object with the de-facto standard save, getById, getList, delete, and deleteById methods. Also, per previous posts, we’re correctly applying filtering criteria in the generated repository.

geschrieben von
am 25. April 2016 - 0:16
Repository Filter Groups Applied Inconsistently · Issue #4287 · magento/magento2:

My bug report to Magento on the previously mention filter group vs. filter inconsistency. Hopefully it’s not ignored.

geschrieben von
am 25. April 2016 - 0:07

I touched on this in my longer Magento 2: Understanding Object Repositories tutorial, but it’s worth repeating. The relationship between individual filters and filter groups in Magento 2 repositories is inconsistent. There’s some tribal wisdom floating around that filters should be applied as OR conditions, and filter groups combined as AND conditions.

This tribal wisdom holds true in the product repository

#File: vendor/magento/module-catalog/Model/ProductRepository.php protected function addFilterGroupToCollection( \Magento\Framework\Api\Search\FilterGroup $filterGroup, Collection $collection ) { $fields = []; $categoryFilter = []; foreach ($filterGroup->getFilters() as $filter) { $conditionType = $filter->getConditionType() ? $filter->getConditionType() : 'eq'; if ($filter->getField() == 'category_id') { $…
geschrieben von
am 22. April 2016 - 20:22
One question I keep getting from new Magento 2 developers, (and we're all new Magento 2 developers) is, *"How should I organize my project files?"*. Since Magento has heavily restructured code organization around Composer, it's not always clear how files... Alan Storm
geschrieben von Kostyantyn Systalyuk
am 21. April 2016 - 16:38

It is important to keep your online store updated to the latest Magento version, as it has the most recent improvements, security updates, and other fixes. And every time such upgrade is performed, the website should be carefully tested to make sure that all issues or conflicts are fixed after the upgrade.

Today we want to share with you our checklist that we normally use when testing Magento stores after their upgrade to newer versions.

Testing checklist after Magento upgrade

First recommendation is to start checking your store on the local environment, then on the development website. And only after successful testing move the update to production server, where you test once again.

Before Magento website upgrade
  • Create project DB backup to keep information safe in case something goes wrong during the update.

Here is an example of command from console:

mysqldump --single-transaction -u your_user -h mysql_host -p | gzip > DUMP_NAME.sql.gz…
geschrieben von
am 21. April 2016 - 4:20
In our last article, we talked a bit [about Magento 2's use of Composer](, and touched on the Composer meta-package installation method. One high level take away was, when you use Composer's `create-project` method to start a new Magento... Alan Storm
geschrieben von Denis Saltanahmetov
am 20. April 2016 - 18:53

Default OroCRM application has quite good theme. But sometimes users prefer to change or modify themes of their applications. Luckily OroCRM allows to create and use any of the custom themes. In this article we will share our experience on how to change the default theme and describe the structure of bundle for the custom theme.

The easiest way to change some styles in the default theme is to add custom CSS or LESS file into your custom bundle. This way works, but not in case if you want to have completely new theme. So, to add your own custom theme you should create a special bundle and use it only for theme’s application. Then, make sure that the structure of bundle for theme is correct. For example, we use theme’s bundle AtwixCustomThemeBundle, and it has the following structure:

geschrieben von Daniel Becker
am 20. April 2016 - 15:53

Fragt mich jemand nach Faktoren, die das Konsumentenverhalten auf Onlineshops beeinflussen, fallen mir spontan Ladezeiten, einfache Navigation, schneller Checkout, Zahlarten und eine coole Produktpräsentation ein. Eine Infografik von (das Vermarktungsziel ist damit an dieser Stelle erreicht) bzw. aus den Weiten des Couponing-Netzwerks von hat 65 interessante Umfragen- und Studienergebnisse zusammengefasst.    Der erste Eindruck zählt. Wie eine

The post Wie Konsumenten im E-Commerce ticken appeared first on Regalsprecher.

geschrieben von Brian Lange
am 19. April 2016 - 21:31

Magento unveiled a number of bold new ideas at Imagine 2016. “We Are Magento” appropriately drives home a simple, meaningful pride that we at Classy Llama share with the greater Magento community. We are poised, ready and thrilled to continue building on a platform that keeps churning out newer and newer innovation. With so many bold ideas, unveiled at the Imagine 2016 conference in Las Vegas, we can’t wait to see the ripple effects this will have on the SMB merchant community.

Magento Unveiled:
geschrieben von Daniel Becker
am 19. April 2016 - 17:09

  Die  E-Commerce Landschaft hat sich in den letzten Jahren stark diversifiziert. Immer neue Angebote und Geschäftsmodelle kamen und kommen hinzu, die mit dem „klassischen“ Warenhandel nur noch wenig zu tun haben. Diese Entwicklung wird sich noch beschleunigen und den Onlinehandel über gewohnte Shops zwar nicht verdrängen, aber als vorherrschendes Modell sicher ablösen. Können die aktuell

The post Entwicklung der E-Commerce Systeme – The Age of Frameworks appeared first on Regalsprecher.

geschrieben von
am 19. April 2016 - 4:06
MageScotch -- A Magento 1 and Magento 2 Vagrant box:

Another “ready to go” Magento 2 (also Magento 1!) vagrant VM – although this one is offered and maintained by Joshua Warren, so it’s worth more than a casual look. It seems to be based on the Scotch Box vagrant project, which purports to offer a ready to go PHP Lamp stack.

I like all these ready to go, “you don’t need to provision them” vagrant boxes – although my inner nerd is slightly annoyed they don’t share their provisioning scripts, or advertise their server and permissions model (Apache, nginx/fast-cgi, nginx/PHP-fpm, etc.).