Blog
When making changes to the Shopware 5 Responsive theme, all different viewport sizes have to be considered and adjusted in order to be correctly displayed on every device the user is visiting the shop with. This is a new step in the Shopware theme development and fundamentally different than in Shopware 4 templates, where static widths and fixed containers were the main thing a developer had to worry about. Device...
Read more...
Creating plugins can be quite repetitive - if there was just a way to generate the base structure automatically... Well - there is a tool for that...
The CLI tools
A year ago we announced the Shopware CLI tools - a console application to help you with your daily Shopware work, e.g. install Shopware from GitHub or a release package.
It also supports installing plugins on the fly, which makes the daily development...
Read more...
When writing Shopware plugins, you will usually use events like Enlight_Controller_Dispatcher_ControllerPath_Frontend_Test
or Enlight_Controller_Action_PreDispatch_Frontend_Listing. But where do those names originate from and what is the
"big picture" behind it?
This post will explain what happens "behind the scenes", when Shopware boots up and handles a request.
Dispatch Loop
Dispatching is the process of handling a Request object, extracting the relevant Module, Controller and Action from it,
instantiating the correct controller and making this controller handle the request.
As...
Read more...
The term "SEO" summarizes various features and functionalities which targeted at increasing the ranking of a given website
within search engines. This will usually include semantic URLs, rich snippets, meta tags and search engine optimized
HTML structures and texts.
While most of these techniques are not that interesting from a technical perspective, the handling of "speaking URLs"
("SEO URLs", "fanzy URLs") usually involves the routing of requests as well as the generation of the...
Read more...
In the last blog post I discussed cross cutting concerns
and ways to address them in PHP. In this post I want to have a look at AOP and try to integrate the GO AOP PHP
library in Shopware.
AOP
AOP (aspect-oriented programming) is a programming paradigm which is usually attributed to Gregor Kiczales and his colleagues. The whole
concept is about addressing cross-cutting concerns properly - not by choosing design patterns, but by having...
Read more...
In the last blog post I discussed the Shopware hook system
and also mentioned that hooks are technically a way to address cross cutting concerns with an AOP approach.
In this blog entry I want to have a deeper look into cross cutting concerns and ways to address them in PHP.
What is a "concern"?
Talking about cross cutting concerns raises the question: what are concerns in the first place? In the context of...
Read more...
To create shopware update packages we use the well-known unix utility rsync.
Delta update
A delta update is a update that contains only the files that have changed. This results in smaller update packages, faster downloads and a overall better update experience.
To create a new update package we first have to create the corresponding install package for that release. Also we need the oldest install package we want to allow an delta...
Read more...
Shopware was built with plugin developers in mind, so there are powerful ways to modify the default behaviour of the system
without losing backward compatibility. In this post I want to discuss the technical details of Shopware's hook system.
Hook?
Generally there are several ways to extend Shopware. By default we distinguish global events, application events and hooks
(for a brief overview see the plugin quick start guide).
In addition to that, you are...
Read more...
Hi, my name is Oliver Skroblin, developer at shopware AG.
In this blog entry, I want to talk about the refactored sections in Shopware 5 and further refactorings coming in the near future.
Bundles
With Shopware 5, we have taken the opportunity to refactor the core classes. However, we didn't just rewrite the classes using the latest technological standards, but also modernized the underlying architecture of the core. It was our goal to...
Read more...
Welcome everybody to a new episode of our unboxing series. Today I want to introduce you to another interesting device - the Meta 1. It is an augmented reality headset bringing interactive 3D holograms to your real world. The Meta Developer Kit consists of glasses with two prisms which use a kind of Pepper's ghost effect to create an augmented reality view right in front of your sight. It can...
Read more...