Alles rund um Magento!

Javascript – Die Grundlagen

Javascript ist einer der wichtigsten Bausteine einer jeden Webseite. Jedoch schreiben nur wenige Entwickler gerne Javascript Code. Dies liegt nicht zuletzt an den verschiedenen Internetbrowsern, welche häufig zu unterschiedlichen Verhaltensweisen desselben Codes führen. Um diese Kompatibilitätsprobleme zu umgehen, greifen viele Programmierer auf Frameworks wie jQuery oder PrototypeJs zurück. Diese Erweiterungen liefern verschiedene Funktionen, die den Programmieralltag sehr vereinfachen können. Jedoch ist es wichtig, die Grundlagen von blankem Javascript, auch Vanilla  Javascript genannt, zu kennen, um Probleme mit diesen Frameworks zu vermeiden oder beheben zu können. Zudem kann Vanilla JS die Performance einer Webseite erhöhen und ist daher teilweise die bessere Wahl. In diesem Artikel werden deshalb folgende grundlegende Themen von Javascript näher betrachtet:

  • Integration von Javascript in Webseiten
  • Zugriff auf HTML Elemente
  • Debugging
  • Modifizierung des Document Object Models (DOM)
  • Einführung in Frameworks

Bevor wir anfangen: Was ist Javascript überhaupt?

Javascript ist eine clientseitige Scriptsprache. Das heißt, sämtlicher Javascript Code wird im Internetbrowser auf dem Computer des Betrachters einer Webseite ausgeführt. Mit Hilfe von Javascript können Webseiten dynamisch gestaltet werden, ihr Aussehen auf bestimmte Ereignisse ändern oder auf Benutzereingaben reagieren, ohne die Seite neu laden zu müssen. Es steht dabei jedoch in keinem direkten Zusammenhang mit der Programmiersprache Java. Javascript ist objektorientiert.

weiterlesen »

Einführung und Grundlagen – SCSS

Themenübersicht

– Was ist Sass / SCSS?
– Wie wird SCSS in ein Projekt eingebunden?
– SCSS – Syntax
– Syntax Unterschiede Sass / SCSS
– SCSS und die Nutzung von Variablen und Mixins
– SCSS Vorteile / Nachteile gegenüber CSS
– Websiten zu diesem Thema

Was ist Sass / SCSS?

Sass (Syntactically Awesome Stylesheets) erschien im Jahr 2007 unter der Gestaltung von Hampton Catlin und der Entwicklung von Natalie Weizenbaum und Chris Eppstein. Sass ist eine Stylesheet Sprache, welche das Schreiben von CSS (Cascading Stylesheets) erleichtert – sie interpretiert den Code und generiert daraus CSS-Code (Präprozessor). Eines der wichtigen Merkmale von Sass ist der objektorientierte Ansatz, welcher hier in Form von “Mixins” auftritt, dazu später mehr.

Neben der Sass-Syntax gibt es auch eine neuere und weiter verbreitete Form die SCSS-Syntax (Sassy CSS). Das verwendete Dateiformat hat die Endung .scss.

weiterlesen »

Wie Services das Dependency Injection Verhalten der Entwickler beeinflusst haben

Spätestens seit der stetig wachsenden Popularität von Unittests, besonders durch PHPUnit, bekam die Auflösung der Abhängigkeiten von Klassen durch Dependency Injection in PHP eine immer größere Rolle im Alltag der Entwickler. Klassen, welche eine oder mehrere Abhängigkeiten zu anderen Klassentypen haben, bekommen diese bei ihrer Erzeugung über den Konstruktor oder zur Laufzeit über Methodenaufrufe übergeben. Dadurch verbessert sich die Wartbarkeit der einzelnen Klassen und Abhängigkeiten lassen sich bei geänderten Anforderungen leichter austauschen. Ebenfalls verbessert sich die Testbarkeit der einzelnen Komponenten, bei der Abhängigkeiten von Klassen durch einfache Test Doubles ersetzt werden können. Ein Nachteil jedoch ist vermehrter Boilerplate Code, wenn an verschiedenen Stellen im Projekt immer die gleichen Objekte erzeugt werden müssen, um die gleichen Abhängigkeiten abzudecken.

Mit den aktuellen PHP-Frameworks wurde der sogenannte Service Locator eingeführt. Die Aufgabe des Service Locator ist die Auflösung und Instantiierung von Abhängigkeiten zu einem Service intern durchzuführen. Dadurch können Objektinstanzen über einen Service erstellt werden, ohne dass dabei der Boilerplate Code zur Auflösung der Abhängigkeiten in der Business Logic hinzugefügt werden muss. Weiterhin sorgt der Service Locator für eine einzige Instanz des aufgerufenen Services innerhalb eines Requests, um unnötige Objekterzeugungen zu vermeiden, ohne dabei die Nachteile eines klassischen Singletons mit sich zu bringen.

Die bequeme Handhabung des Service Locator hat jedoch im Laufe der Zeit die Verwendung von Dependency Injection in Richtungen gelenkt, die zwar technisch schnell umsetzbar sind, aber dessen Sinn nicht ganz folgen. Aus dem Auflösen von Abhängigkeiten wurde ein buntes Zusammenwerfen von Klassen.

weiterlesen »

eval is evil – Stimmt das?

Schon von früh auf wird einem PHP-Programmierer beigebracht, das Sprachkonstrukt eval zu meiden. Dieses führt einen als String übergebenen PHP-Code aus und behandelt diesen wie regulären Code des Projekts. Bereits die PHP-Dokumentation führt aus, dass von der Verwendung dringend abgeraten wird.

Die Gefahr, die in eval steckt, lässt sich sehr einfach darstellen:

< ?php
eval($_POST['textarea_value']);

In diesem Beispiel lässt sich im Formularfeld textarea_value jede versendete Eingabe als PHP-Code ausführen und ermöglicht es einem Angreifer, auf einfache Weise Schaden anzurichten. Natürlich ist die Verwendung und die Gefahr von eval für gewöhnlich nicht so offensichtlich wie in diesem Beispiel, sondern steckt viel mehr in Details, die man als Programmierer übersehen hat. Bevor sich ein Programmierer Gedanken darüber macht, welche Angriffsvektoren in seinem Code durch eval möglich sind und abgefangen werden müssen, lässt er lieber die Finger von dem Sprachkonstrukt. eval is evil.

Aber warum nutzen wir dann Sprachen oder Funktionen, die nicht weniger gefährlich sind? Und wenn eval wirklich so böse ist, wieso wird es in vielen Libraries und Frameworks eingesetzt?

weiterlesen »

Magento – Gutscheine und Aktionen im Warenkorb promoten ohne eine Zeile Code

Wenn Kunden beim Online Shopping Deine Produkte im Warenkorb prüfen, kann ein gut platzierter Gutschein oder Aktionsbanner den entscheidenden Impuls für den Abschluss des Kaufs geben. In der Magento Enterprise Edition lässt sich dies mit Bannern und Warenkorb-Preisregeln realisieren. User der Magento Community Edition benötigen hierfür zusätzliche Module, einige davon findet man in Magento Connect wenn man nach „Promo Banner“ sucht. Dieser Artikel erklärt Dir wie Du die Banner mit der Magento Enterprise Edition realisieren kannst ohne ein Template anzupassen bzw. eine Zeile PHP-Code schreiben zu müssen.

Folgende Schritte sind für die Gutscheine und Aktionen im Warenkorb notwendig:

  1. Einen statischen Block erstellen
  2. Ein neues Widget anlegen
  3. Den Banner hinzufügen
  4. Eine Warenkorbpreisregel definieren
  5. Das Ergebnis prüfen

weiterlesen »

Erstellen und Auslesen eigener internationalisierter Ressourcen

Die Internationalisierung von Webprojekten ist ein Thema, dass in der Entwicklung schon sehr früh bedacht werden sollte. Selbst wenn in einem Projekt anfangs noch keine Pläne dafür vorliegen, ist es nicht gesagt, dass dies immer so bleiben wird.

Glücklicherweise bieten PHP-Frameworks inzwischen Werkzeuge dafür an, jedoch hat sich im Verlauf der Wechsel von Major Releases einiges geändert. Informationen zur Internationalisierung und Lokalisierung sind z.T. aus den Frameworks entfallen. Wo Zend Framework 1 noch mit Zend_Locale, seinen Unterklasse und Data XML-Dateien aufwartete, hat der Nachfolger Zend Framework 2 sich ganz von dem Locale Namespace getrennt. Viele der darin enthaltenen Funktionalitäten konnten nun von der Intl PHP-Extension übernommen werden.

Die Intl PHP-Extension bietet mehrere Klassen und Funktionen an, mit der länderspezifische Formatierungen, Sortierungen und Zeitinformationen umgesetzt werden können und ist somit ein Tool, welches schon seit Langem zu jeder guten PHP Installation dazugehören sollte.

Infomationen zur Verwendung der IntlCalendar-Klasse wurden bereits hier erläutert.

Die Unterschiede der verschiedenen Länder sind jedoch so umfangreich, dass früher oder später der Entwickler einen Punkt erreicht, an dem auch die Intl Extension keine passenden Daten bietet. Oder doch?

weiterlesen »

Conversion Experte Karsten Wesch beim 17. E-Commerce Stammtisch

In Hinblick auf den 17. E-Commerce Stammtisch am kommenden Mittwoch, 03. September 2014, möchten wir Euch heute unseren Referenten Karsten Wesch vorstellen.

Karsten Wesch – Conversion Experte

Flagbit: Hallo Karsten :-)

Stell dich bitte kurz vor: Wie bist du in die Online Marketing Branche und zur Webanalyse gekommen? Wo hast du bisher Erfahrungen gesammelt und was machst du aktuell?

Karsten Wesch: Insgesamt bin ich seit über fünf Jahren im Bereich Digital Analytics tätig. Nach 2,5 Jahren bei der NAVIGON AG hat es mich zur Tchibo GmbH verschlagen. Dort betreute ich die Implementierung und Weiterentwicklung der Webanalyse, sowie AdHoc-Analysen und Conversion-Optimierung mit.

Seit 2012 habe ich mein eigenes Unternehmen, mit dem ich im Juli 2014 in die Selbstständigkeit gegangen bin.

Ich erkläre gerne bildhaft, was ich mache. Kennst du MacGyver? Ich verstehe mich ein bisschen als den MacGyver der Digitalanalyse. Gib‘ mir einen Kaugummi und ich bastel‘ dir drei Handlungsempfehlungen zur Optimierung daraus.

Zusätzlich bin ich ehrenamtlich in der Digital Analytics Group Ressortleiter im Bereich Nachwuchsförderung. Unsere Aufgabe ist es, Neulinge in der Digitalanalyse zu unterstützen und mit dem Basiswissen zu versorgen, das sie für ihre Arbeit brauchen.

weiterlesen »

Flagbit Magento Modul ist aktueller Magento Staff Pick

MagentoConnectStaffPicksDas Magento Marketing Team veröffentlicht regelmäßig den „Magento Connect Staff Pick“. Dafür wählt Magento die besten Erweiterungen aus dem Magento Connect aus, und präsentiert sie. Im aktuellen Magento Connect Staff Pick vom 07. August 2014 wurde auch die Erweiterung „Change Attribute Set“ von Flagbit ausgewählt und näher vorgestellt.

Die Erweiterung von Flagbit ermöglicht, ein bestehendes Attribut-Set zu verändern. Damit erweitert sie Magento um eine Funktion, die viele im Standard-Funktionsumfang vermissen. Veröffentlicht wurde die Extension von Flagbit bereits 2008 und steht heute in Version 2.0.0 zur Verfügung. Mit einer durchschnittlichen Bewertung von 4,6 von 5, sowie einem Popularity Score von 24108, ist sie einer der erfolgreichsten und am weitesten verbreiteten Module für Magento . Das Modul ist kostenlos im Magento Connect verfügbar und kann sowohl in der Community –Edition als auch der Enterprise-Edition eingesetzt werden.

 

Besuch von eFulfilment Transaction Services GmbH

logo-efulfilDie eFulfilment Transaction Services GmbH mit Sitz in Ludwigsburg ist Experte für MultiChannel eBusiness.

Die Magento Online-Shops die Flagbit als E-Commerce Agentur aufbaut und pflegt, bilden einen dieser Channel. Aus diesem Grund war eFulfilment bei Flagbit in Karlsruhe zu Gast und stellte sich vor.

 

Die eFulfilment Plattform bietet systemübergreifende Lösungen für diverse E-Commerce-Prozesse. Kunden ist es möglich sowohl ihre Online-Shops, als auch ihre Marktplatzaktivitäten, Logistik-Partnerschaften, Filialen und Payment-Anbieter an die eFulfilment-Software anzubinden, alles mit dem Ziel der Prozessvereinfachung.

weiterlesen »

Amazons neue Produktanzeigen

Auch in Deutschland wurden seit Ende letzten Jahres die Amazon „Produktanzeigen“ (APA) freigeschaltet. Es handelt sich um ein neues Werbeformat von Amazon, mit dem Onlinehändler ihre Produkte bewerben können ohne direkt bei Amazon zu verkaufen.

Welcher Online Shop Betreiber wünscht sich nicht mehr Traffic und neue Besucher auf der eigenen Webseite? Meistens fällt es den Kunden aber schwer den Weg zum Shop „von allein“ zu finden. Viele User nutzen mittlerweile Amazon als Suchmaschine wenn sie nach einem Produkt suchen. Aus diesem Grund bieten die neuen Produktanzeigen beste Voraussetzungen für zusätzlichen Amazon-Traffic und um neue Kunden mit vorhandener Kaufabsicht in die eigenen Shops zu lenken.

Wie funktioniert das Ganze?

wie-es-funktioniert1

 

weiterlesen »

Page optimized by WP Minify WordPress Plugin