geschrieben von Alexander Steireif
am 10. Februar 2017 - 17:32

Am vergangenen Montag und Dienstag war es wieder soweit. In Frankreich haben sich Repräsentanten von Magento, Agentur-Partner, Software-Dienstleister, Entwickler und Freelancer aus ganz Europa sowie den USA in Paris eingefunden, um an der Magento Live France 2017 teilzunehmen. Die Magento Live Eventreihe gehört, im Gegensatz zu der jährlich in Deutschland stattfindenden Meet Magento, zu den

The post Magento Live Paris 2017 – Rück- & Ausblick appeared first on Regalsprecher.

geschrieben von Andreas von Studnitz
am 9. Februar 2017 - 12:47

Wir haben letzte Woche die gute Nachricht bekommen, dass gleich zwei Teammitglieder als „Magento Master“ ausgewählt worden sind: Fabian Schmengler in der Kategorie „Mentor“ und Sonja Riesterer in der Kategorie „Maker“. Herzlichen Glückwunsch!

Was sind „Magento Masters“?

Es handelt sich um eine offizielle Ehrung von Magento Inc., die Einzelpersonen für besonderes Engagement in der Community auszeichnet. Das kann beispielweise die Vermittlung von Wissen, das Beitragen zur offiziellen Dokumentation, die Organisation von Magento-bezogenen Veranstaltungen, oder das Halten von Vorträgen sein.

Die insgesamt 20 Nominierten werden im April auf der großen Bühne der Magento Imagine in Las Vegas geehrt, zu der sie eingeladen sind.

geschrieben von Tim Hahn
am 7. Februar 2017 - 15:24

Bei Magento tut sich gerade so einiges: Zum einen fördert ein neuer Investor das weltweite Wachstum der E-Commerce-Plattform. Zum anderen ist aus Magento Analytics nun Magento Business Intelligence geworden. Was das im Einzelnen bedeutet? Wir haben die News im Doppelpack zusammengefasst: News 1: Hillhouse Capital investiert in Magento Commerce Um das globale Wachstum und die

The post Magento-News im Doppelpack: Neuer Investor und Business Intelligence appeared first on Regalsprecher.

geschrieben von Fabian Schmengler
am 7. Februar 2017 - 9:19
Dies ist mein wöchentlicher Kata Post. Lies den ersten um zu erfahren, worum es hier geht.

Letzte Woche: Karate Chop

Das wird ein längerer Post, da es mein Ziel war, der Kata Beschreibung zu folgen und fünf verschiedene Ansätze zu probieren. Ich werde alle erklären:

Ansatz 1: Objektorientiert, PHP

Mein Ziel war es hier, so wenig wie mögliche PHP Funktionen zu nutzen und den Algorithmus objektorientiert zu implementieren.

Die finale Lösung hatte die folgenden Klassen:

interface IntegerHaystack { public function positionOf(int $needle) : int; public function isEmpty() : bool; } class SortedIntegers implements IntegerHaystack { public function __construct(int ...$integers) { ... } ... } class SortedIntegersRange implements IntegerHaystack { public function __construct(SortedIntegers $sortedIntegers, int $indexFrom, int $indexTo) { ... } ... } class…
geschrieben von Covos
am 3. Februar 2017 - 14:16
Dies als kleine Randnotiz: Wir haben gerade in einem RWD Template die Anzeige der Vergleichsbox von rechts nach links umgestellt und hatten dann das Problem, dass zwar „gesagt“ wurde, dass der Artikel erfolgreich zur Vergleichsliste hinzugefügt wurde, angezeigt wurde er … Weiterlesen →
geschrieben von Christian Münch
am 3. Februar 2017 - 12:41

Kundendaten und Zahlungsinformationen von mehr als tausend deutschen Online-Shops befinden sich derzeit in den Händen von Cyber-Kriminellen. Wie das Bundesamt für Sicherheit in der Informationstechnik (BSI) kürzlich meldete, wurden zahlreiche Magento-basierte Onlineshops in Deutschland mit einer Malware infiziert. Sicherheitslücken wurden genutzt, um einen manipulierten Skimming-Code einzuschleusen, der die Daten während des Bestellvorgangs unbemerkt „abfängt“.Doch derartige

The post Mein Shop ist sicher – stimmt das? appeared first on Regalsprecher.

geschrieben von SB
am 2. Februar 2017 - 17:01
USEr first! Make your shop great again! Wann haben Sie das letzte Mal selbst eine Bestellung in Ihrem Shop getätigt? Und damit meinen wir nicht die provisorische Funktionalitätsprüfung, sondern eine BEWUSSTE Bestellung. Sollten Sie jetzt noch immer darüber nachdenken, ist … Weiterlesen →
geschrieben von Andreas von Studnitz
am 1. Februar 2017 - 9:17

In Entwicklerkreisen hört man von vielen Personen, dass die Arbeit mit Magento 2 anspruchsvoll ist. Auch für mich als langjährigen Magento-1-Entwickler war die Umstellung auf Magento 2 nicht einfach. Mit den verschiedenen, zur Verfügung stehenden Ressourcen kann man sich diesen Lernprozess erleichtern.
In wenigen Wochen haben es zwei meiner Teamkollegen und ich geschafft, Magento-2-Entwickler zu werden. Wie uns das gelungen ist, beschreibt dieser Artikel. Erst Ende Oktober habe ich mit der Entwicklung des ersten Magento-2-Projektes begonnen und habe bereits Mitte Dezember eine Entwicklerschulung zu Magento 2 gehalten.

Magento-1-Erfahrung

Auch wenn Magento 2 teilweise völlig andere Entwicklungsmethoden aufweist, ist viel Erfahrung mit Magento 1 sehr hilfreich beim Erlernen von…

geschrieben von Fabian Schmengler
am 1. Februar 2017 - 0:10
Dies ist mein wöchentlicher Kata Post. Lies den ersten um zu erfahren, worum es hier geht.

Letzte Woche: Word Wrap

In PHP/Behat habe ich “scenario outlines” kennen gelernt, die viel von den Wiederholungen in Feature Dateien beseitigen.

Vollständiges Ergebnis:

Feature: Word Wrap In order to display text on tiny screens I want to wrap lines of a long text Scenario Outline: Wrap text When I wrap <text> at <col> columns Then I should retrieve the wrapped string <wrapped> Examples: | text | col | wrapped | | | 1 | | | word | 2 | wo\nrd | | word | 3 | wor\nd | | word | 4 | word | | word | 5 | word | | word word | 4 | word\nword | | word word | 5 | word\nword | | word word | 7 | word\nword | | word word | 8 | word\nword | | word word | 9 | word word…
geschrieben von SB
am 31. Januar 2017 - 13:33
Da wir alle vor lauter Langer Weile schon gar nicht mehr wussten, was wir machen sollten, gibt es nun endlich Nachschub in Sachen Online Streitbeilegung. Ab dem 01.02.2017 gilt die Informationspflicht zur Teilnahme am Streitbeilegungsverfahren. Sollte man nun denken: „Alles … Weiterlesen →
geschrieben von Matthias Zeis
am 30. Januar 2017 - 22:24

Zweiter fundamentaler Bestandteil neben den Daten bei einem Wechsel von Magento 1 zu Magento 2 ist der Code. Auch hier gibt es von Magento ein offizielles Code-Migrations-Tool.

Dieser Artikel ist Teil der Serie „Migration von Magento 1 auf Magento 2„.

“Inhalt“
geschrieben von Fabian Schmengler
am 27. Januar 2017 - 15:57

Eine übliche Konvention für Namespaces in PHP ist es, mit Vendor\Package zu beginnen, groß geschrieben (CamelCase) mit “vendor” und “package” analog zum Composer Package Namen.

Es gibt allerdings eine schlechte Angewohnheit, die ich häufig sehe, vermutlich aus alten ZF1 und Pear Tagen, wo jedes Wort im Klassennamen ein neuer Sub-Namespace ist (und ein neues Unterverzeichnis), oder Kind-Klassen in einen Namespace mit dem Namen der Elternklasse platziert werden. All das führt zu tief geschachtelten Namespaces und Klassennamen, die keine Bedeutung ohne ihren Namespace haben.

Beispiele aus Zend Framework 1 (Pseudo Namespaces):
  • Zend_Db_Table_Row_Abstract ist eine abstrakte Basis-Klasse für Zend_Db_Table_Row, und repräsentiert eine Zeile in einer Datenbanktabelle. Es gibt auch noch Zend_Db_Table und Zend_Db.
  • Zend_Pdf_FileParser_Font_OpenType_TrueType ist ein Parser für True Type…
geschrieben von Covos
am 25. Januar 2017 - 14:56
Möchte man einzelnen Produkten, Kategorien oder CMS-Seiten ein individuelles Design / einen eigenen Style geben, kann die durch die Einbindung einer eigenen, speziellen CSS-Datei geschehen. Es gibt sowohl bei Produkten unter Katalog > Produkte verwalten > (Produkt auswählen) > Design … Weiterlesen →
geschrieben von Fabian Schmengler
am 23. Januar 2017 - 9:00
Dies ist mein wöchentlicher Kata Post. Lies den ersten um zu erfahren, worum es hier geht.

Letzte Woche: Prime Factors

Zunächst bin ich den Schritten in den PowerPoint Slides gefolgt, außer dass ich eine einfache Funktion geschrieben habe, statt einer Klasse mit statischer Methode. Das ist schließlich PHP und nicht Java:

namespace PrimeFactors; function generate($n) { $primes = []; for ($candidate = 2; $n > 1; $candidate++) { for (;$n % $candidate == 0; $n /= $candidate) { $primes[] = $candidate; } } return $primes; }

Beim nächsten Mal habe ich einen objektorientierten Ansatz probiert (die Funktion einfach nur in eine Klasse verfrachten, macht sie noch nicht objektorientiert) und habe außerdem yield genutzt, um die temporäre Variable $primes loszuwerden.

class Number { private $n; public function __construct(int $n) { $…
geschrieben von Covos
am 19. Januar 2017 - 17:38
Aufgrund einiger Anfragen haben wir nun eine Erweiterung der „Baseprice„-Extension erstellt, die es ermöglicht den Grundpreis auch bei Mengenrabatten (Tierprices) anzeigen zu lassen. Es muss bereits die o.g. Grundpreis-Extension im Shop installiert sein und sie muss natürlich eingerichtet sein und … Weiterlesen →
geschrieben von Fabian Schmengler
am 16. Januar 2017 - 9:00
Dies ist mein wöchentlicher Kata Post. Lies den ersten um zu erfahren, worum es hier geht.

Letzte Woche: String Calculator

Die Kata war eine Übung in regulären Ausdrücken, auch wenn das nicht wirklich die Intention ist. Was interessanter ist, ist sich Grenzfälle zu überlegen, um die Tests fehlschlagen zu lassen. Mein Data Provider für valide Daten sah am Ende so aus, als ich die Kata das erste Mal in PHP gemacht habe:

public static function dataValidAddInput() { return [ 'empty_string_returns_zero' => ['', 0], 'single_number_returns_self' => ['1', 1], 'two_numbers_separated_by_comma' => ['1,2', 3], 'more_numbers_separated_by_comma' => ['4,2,5,6,8,10,0', 35], 'numbers_separated_by_newline' => ["1\n2", 3], 'numbers_separated_by_newline_and_comma' => ["1\n2,3", 6], '…
geschrieben von Covos
am 13. Januar 2017 - 14:00
Standardmäßig ist der Übersicht der Rechnungen im Backend die Spalte „Zahlart“ nicht enthalten. Man kann sie nun aber manuell hinzufügen. Einen generellen Hinweis, wie man Spalten mit Informationen in den Admingrids hinzufügt, gibt es bereits HIER. Hier soll es nur … Weiterlesen →
geschrieben von Fabian Schmengler
am 11. Januar 2017 - 9:34

Bist du ein PHP Entwickler der gerne mit Unit Testing anfangen würde? Willst du meinen wöchtentlichen TDD Kata Posts folgen, weißt aber nicht, wie du anfangen sollst? Hier ist eine Schritt für Schritt Anleitung, bis zum ersten Test.

Lies den ersten Kata Beitrag um herauszufinden, worum es hier geht.

Voraussetzungen
  • PhpStorm IDE
  • Lokale PHP installation (am besten PHP 7)

Kata Projekt erstellen
  1. Erstelle ein neues Projekt vom Typ “PHP Empty Project”
geschrieben von Covos
am 10. Januar 2017 - 14:28
Wir haben aufgrund von Serveranpassungen gerade eine PHP-Versions-Umstellung gehabt. Es wurde von PHP-Version 5.6 auf 7 umgestellt -ohne Unterstützung der alten Versionen. Im ersten Augenblick zeigt Magento (Version 1.9.1.1) dann nur noch dies: Fatal error: Uncaught Error: Function name must … Weiterlesen →
geschrieben von Fabian Schmengler
am 9. Januar 2017 - 9:00
Dies ist mein wöchentlicher Kata Post. Lies den ersten um zu erfahren, worum es hier geht.

Letzte Woche: The Bowling Game

Siehe letzter Post: TDD Kata 01: The Bowling Game

Meine persönlichen Ziele diese Woche:
  • Die Kata in Ruby ausprobieren
  • Sie auch in PHP durchführen, mit Knapsack Collections

Ich habe in meiner Komfortzone angefangen, PHP mit PHPUnit. Ich habe die Abschnitte (first test, second test, …) wie beschrieben befolgt. Ich habe Knapsack Collections benutzt, so dass mein Test Data Provider am Ende so aussah:

public static function dataGame() { return [ 'gutter game' => [0, repeat(0, 20)], 'all ones' => [20, repeat(1, 20)], 'one spare' => [16, values([5, 5, 3])->concat(repeat(0, 17))], 'one strike' => [24, values([10, 3, 4])->concat(…