geschrieben von Adrian Bece
am 28. Dezember 2017 - 11:22

Introduction of Web Speech API to Chrome and Firefox opens up some new possibilities in general interaction with websites and, more importantly, accessibility. Web Speech API includes two main components: Speech Recognition and Voice Synthesis. In this article, we are going to use the Speech Recognition API to implement basic Voice Search in Magento 2 header search.

In one of my previous articles, I have discussed the importance of accessibility on an eCommerce site, how to test it for accessibility and how to make some basic improvements in order to have a more accessible site. In this article, we will dig into implementing a more advanced improvement.

Before we start, please note that Web Speech API is supported on Google Chrome (enabled by default), Opera and on Mozilla Firefox (needs to be enabled in about:config) with global support of 60%, according to the…

geschrieben von
am 27. Dezember 2017 - 13:01
In Magento 1, it was pretty common to write a bit of layout update XML that looked like the following. <reference name="head"> <action method="setLabel"> <label>skin_js</label> </action> </reference> This XML translates roughly into the following PHP pseudo code $block = $layout->getBlock('head'); $block->setLabel('skin_js'); Or, in plain english, Magento fetches a reference to the already instantiated block object named head, and then calls this block’s setLabel method. This syntax has survived, mostly, into the Magento 2 era. Although the Magento provided “dev docs” say the syntax is “not recommended“, action methods still work <referenceBlock name="catalog-search-advanced-link"> <action method="setLabel"> <argument name="value" xsi:type="string">Does this Work</argument> </action> […]
geschrieben von Elizabeth Van Dyke
am 26. Dezember 2017 - 23:19

On stage or in business, it's curtains if you fail to empathize with your audience

geschrieben von Elizabeth Van Dyke
am 26. Dezember 2017 - 21:00

Winners to be announced and celebrated at Imagine!

geschrieben von
am 26. Dezember 2017 - 15:10
Layout XML Merging in Magento 2:

One of the bigger changes to Magento 2’s layout system is how a end-user-programmer uses layout handles. In Magento 1, layout handles were top level configuration nodes in a set of layout update xml files In Magento 2, layout handles are individual XML files (which I’ve been calling layout handle XML files) #File: path/to/module/view/layout/handle_name.xml One interesting side effect of this is, unlike Magento 1, Magento 2’s layout XML files are susceptible to node level merging. i.e. — consider this core XML file #File: vendor/magento/module-catalog-search/view/frontend/layout/default.xml <?xml version=“1.0”?> […]

geschrieben von
am 26. Dezember 2017 - 13:50
One of the bigger changes to Magento 2’s layout system is how a end-user-programmer uses layout handles. In Magento 1, layout handles were top level configuration nodes in a set of layout update xml files <handle_name> <!-- layout update xml nodes --> </handle_name> In Magento 2, layout handles are individual XML files (which I’ve been calling layout handle XML files) #File: path/to/module/view/layout/handle_name.xml <!-- layout update xml nodes --> One interesting side effect of this is, unlike Magento 1, Magento 2’s layout XML files are susceptible to node level merging. i.e. — consider this core XML file #File: vendor/magento/module-catalog-search/view/frontend/layout/default.xml <?xml version="1.0"?> […]
geschrieben von
am 24. Dezember 2017 - 17:30
Magento 2’s Poorly Named Layout Argument Nodes:

Magento 2 introduced a new node type to its Layout XML DSL — the and node. #File: vendor/magento/module-shipping/view/frontend/layout/sales_guest_view.xml Track your order Like so much of Magento — the names of these new nodes hide their purpose from developers. All the nodes do ensure a value will be set on the final block object. i.e. The above code will set a label property on the tracking-info-link block (instantiated from the PHP class Magento\Shipping\Block\Tracking\Link). This means you can access the property from your phtml […]

geschrieben von
am 24. Dezember 2017 - 13:51
Magento 2 introduced a new node type to its Layout XML DSL — the <arguments/> and <argument/> node. #File: vendor/magento/module-shipping/view/frontend/layout/sales_guest_view.xml <referenceBlock name="sales.order.view"> <block class="Magento\Shipping\Block\Tracking\Link" name="tracking-info-link" template="Magento_Shipping::tracking/link.phtml"> <arguments> <argument name="label" xsi:type="string" translate="true"> Track your order </argument> </arguments> </block> </referenceBlock> Like so much of Magento — the names of these new nodes hide their purpose from developers. All the <argument/> nodes do ensure a value will be set on the final block object. i.e. The above code will set a label property on the tracking-info-link block (instantiated from the PHP class Magento\Shipping\Block\Tracking\Link). This means you can access the property from your phtml […]
geschrieben von Maja Kardum
am 22. Dezember 2017 - 11:53

Shopify is an eCommerce platform that allows you to quickly start selling your products online. You can easily choose a design layout for your store, organize and manage products, accept credit card and offline payments – all within a few steps!

The post Can eCommerce be fast and easy – without losing time on technical details, allowing focus on business development? appeared first on Inchoo.

geschrieben von Elizabeth Van Dyke
am 22. Dezember 2017 - 2:55

Here are some of the most popular content resource to help inspire you in 2018

geschrieben von Damir Serfezi
am 21. Dezember 2017 - 12:02

We all love spam bots, don’t we? They really help us improve our sites. There was a situation with one of our clients being hit by a spam bot that generated dozens of customer accounts daily. Let us show you how to get rid of them and protect the site against future attacks.

How the problem started

One would ask:  “Why there wasn’t any validation on register form?”. Well, things were functioning smoothly for a couple of years, so there wasn’t need for one. It was happening for a few weeks until it was recognized. So, we found ourselves in situation where spam customer accounts had to be recognized, deleted and prevented from registering again.

Detailed examination

With detailed examination of customer grid, it was immediately clear this wasn’t going to be easy. There were many accounts with different names and email addresses. At the time, nearly 30000 accounts were registered. Going through the list and delete them manually was not…

geschrieben von Elizabeth Van Dyke
am 21. Dezember 2017 - 1:11

The first in a new series of interviews with Magento trailblazers

geschrieben von Elizabeth Van Dyke
am 19. Dezember 2017 - 22:21

Gorilla Group’s survey of B2B business leaders

geschrieben von
am 19. Dezember 2017 - 17:05
Getting out of the Block Business:

This in an interesting Magento layout technique that came my way via Vinai Kopp (of Mage2.tv fame). Magento 2’s automatic constructor dependency injection system presents a problem for class trees with multiple levels of inheritance. First, programmers end up needing to call parent constructors with the right arguments, and in the right order. Second, class hierarchies also create confusion w/r/t the object manager’s configuration — namely, which constructor should the object manager reference when looking for arguments to instantiate and inject? Magento 1’s block class hierarchy has a lot of inheritance. Magento 1 plugins modeled on the core code also […]

geschrieben von Elizabeth Van Dyke
am 19. Dezember 2017 - 4:00

Digital success stories from our B2B clients

geschrieben von
am 18. Dezember 2017 - 13:30
This in an interesting Magento layout technique that came my way via Vinai Kopp (of Mage2.tv fame). Magento 2’s automatic constructor dependency injection system presents a problem for class trees with multiple levels of inheritance. First, programmers end up needing to call parent constructors with the right arguments, and in the right order. Second, class hierarchies also create confusion w/r/t the object manager’s configuration — namely, which constructor should the object manager reference when looking for arguments to instantiate and inject? Magento 1’s block class hierarchy has a lot of inheritance. Magento 1 plugins modeled on the core code also […]
geschrieben von Kevin Kirchner
am 18. Dezember 2017 - 9:30

Meet Customers Where They are in the Buying Process – The Decision Path

Why Targeted Messaging Matters

You are looking for new ways to get more customers. If you could only find people at just the right moment with just the right message, then your product/service could almost sell itself. But the “right moment” and the “right message” can be somewhat mysterious and elusive at times.

Going through the process outlined in this post should significantly help you laser-focus your target market messaging; especially for writing emails, ads, social posts, page content, and more.

The Three Steps for Laser-Focused Messaging
  1. Know the decisions your potential customer needs to make.
  2. Identify the responses customers make for each decision (there are only six).
geschrieben von Elizabeth Van Dyke
am 14. Dezember 2017 - 23:55

With Magento Commerce, VF found success and multiple benefits to using the white label model

geschrieben von Elizabeth Van Dyke
am 14. Dezember 2017 - 3:52

How to save your stories and deliver quality, helpful, and valuable content to your followers