Magento Tips & Tricks

  • Magento und Firebug: Probleme mit console.log

    43 Tage ago by

    Heute morgen war es soweit: Nach einem der vielen Firefox und Firebug-Updates funktionierte bei mir auf einmal die geliebte Funktion console.log für die JavaScript-Entwicklung nicht mehr. Das Problem liegt darin, dass die Entwickler von Magento eine blankes Console Object integrieren, falls es einmal keine Console definiert wurde. Prinzipiell ist das ja eine gute Idee, jedoch ist bei mir die abgeprüfte Funktion “firebug” leider nicht mehr im Console Object vorhanden (Firefox 9.0.1 und Firebug 1.9.0).

    Um die korrekte Funktionalität wiederherzustellen, muss man einfach in die Datei js/varien/js.js gehen und folgende Zeile

    if (!(“console” in window) || !(“firebug” in console))

    durch folgende Ersetzen

    if (!(“console” in window) || typeof console !== ‘object’)

    Anschließend sollte das Logging in der Console wieder einwandfrei funktionieren.

    Eine andere Möglichkeit das Problem zu beheben, beschreibt Alan Storm anhand eines Code-Beispiels (Integration eines Magento-Block und Hinzufügen der abgeprüften Funktion “firebug” zu dem Console Object) hier: https://gist.github.com/992233

    Netter Nebeneffekt von den Lösungen ist, dass die Console-Funktionen nun auch einwandfrei in Google Chrome funktionieren.

  • x-unremove Tag für Magento

    73 Tage ago by

    Entwickelt man bei Magento eigene Designs, stößt man früher oder später auf folgendes Problem: In der eigenen local.xml Datei, einen guten Beitrag hierzu findet man übrigens unter http://www.webguys.de/magento/turchen-11-templating-mittels-local-xml-in-der-praxis/, definiert man die Angaben für sein Design. Oftmals versucht man dann aber Bereiche zu ergänzen bzw. zu verändern, die entfernt wurden.

    Das ist beispielsweise der Fall wenn man versucht den Checkout von einer Spalte auf 3 Spalten abzuändern und dann die rechte bzw. linke Spalte bearbeiten möchte.

    Um nun den in den Ursprungsdateien entfernten Bereich wiederherzustellen benötigt man eine kleine Erweiterung, da dies standardmäßig in Magento nicht vorgesehen ist. Alan Storm hat hierfür eine wirklich geniale (aber doch simple ;-) Erweiterung entwickelt, um diese Problematik zu lösen. Die Magento Erweiterung kann dabei vollkommen kostenlos bei Magento Connect heruntergeladen werden.

    Link: http://www.magentocommerce.com/magento-connect/layout-unremove-7455.html

    Nach der Installation dieser Erweiterung kann man ganz einfach per <x-unremove name=”NAME” /> einen bereits entfernten Bereich “wiederherstellen” – eine wirklich nützliche Erweiterung.

     

     

     

     

     

  • Magento 1.6.0 kann keine Lieferungen / Sendungen erzeugen

    80 Tage ago by

    Oh mein Gott, manchmal frage ich mich echt was einem da für einen Haufen s… vorgesetzt wird. Nachdem ich gerade bei einem fertiggestellten Magento Projekt nochmals die Prozesse durchgehen wollte, ist mir ein doch etwas größerer Bug aufgefallen. Kommt eine Bestellung in das System kann man zwar eine Rechnung erstellen, aber keine Lieferung / Sendung, da fehlen schlicht und einfach die Buttons weil davor schon ein Fehler erzeugt wird.

    Geile Sache, dachte ich mir. Da haben wir sicherlich etwas zerschossen aber nein. Wenn man einmal Google befragt ist das tatsächlich ein bekannter Fehler in Magento. Sei’s drum, wozu gibt es schließlich eine riesige Bugfixing Community. Ein fleissiger Entwickler hat sogar schon einen Fix in Form eines Moduls bereitgestellt. Funktioniert 1a und den Fix gibt’s natürlich gratis.

    Link: http://wabism.com/magento-shipmethod-1-6-core-fix/

  • Magento Backend App für Mac OS X bauen

    80 Tage ago by

    Ich gebe es direkt zu, der Titel klingt viel spektakulärer als die Sache dann tatsächlich ist. Dennoch, in den letzten Tagen bin ich wieder einmal auf ein Tool für Mac OS X gestoßen, mit dem man wirklich gute Dinge machen kann. Beispielsweise den eigenen Magento Administrationsbereich als Anwendung zu verpacken.

    Bei dem besagten Tool handelt es sich um Fluid, welches in einer kostenlose und kostenpflichtigen Variante angeboten wird. Fluid macht dabei nichts anderes, als eine Website (man übergibt nur die URL) sozusagen in einer Anwendung zu verpacken. Sprich man startet bei der Anwendung einen Browser, welcher die im Voraus definierte Website anzeigt. Klingt recht langweilig, aber in der Praxis gibt es sicherlich den einen oder anderen Anwendungsfall, für den Fluid durchaus sinnvoll ist.

    Wie funktioniert die Sache nun im Detail?

    Unter http://fluidapp.com sollte man sich im ersten Schritt das Tool herunterladen. Vorerst reicht die kostenlose Variante voll und ganz aus. Nach dem Download startet man Fluid:

     

    Es gibt nicht wirklich viele Möglichkeiten, die einem nun zur Verfügung stehen. Wie eingangs schon besprochen geht es um eine “App” die einem den Administrationsbereich von Magento anzeigt. So muss man als Benutzer nur auf ein Icon klicken und nicht erst den Browser starten und die URL eingeben. Bei der URL sollte man nun also etwas a la http://www.domain.tld/pfadzumagento/index.php/admin haben und den Namen kann man frei wählen, z.B. Magento Administrationsbereich. Ohne passendes Icon wäre das Programm nur halb so schön, weswegen ich persönlich folgendes empfehle:

    Nachdem man auf create gedrückt hat, wird die Anwendung erstellt und ist einsatzbereit.

    Wie es sich für eine “richtige” Anwendung für Mac OS X gehört klinkt sich unser Magento Administrationsbereich auch sehr schön in das Dock ein.


    Die Anwendung selbst sieht hingegen recht unspektakulär aus, eben wie ein Browser ohne “Schnick Schnack”.

    Ein zusätzliches Feature, welches nur die kommerzielle Version beinhaltet, ist die Integration der Anwendung in die Status Bar von Mac OS X. Diese Funktion kann man aktivieren, wenn man in der gestarteten Magento Anwendung auf “Pin to Status Bar” klickt und den anschließenden Dialog bestätigt.

    Wie ich finde handelt es sich hierbei um eine ganz nette Spielerei, die man natürlich mit jeder Website entsprechend machen kann. Ich für meinen Teil nutze Fluid ganz gerne für die Google Apps (Mail, Docs, Kalender), aber auch für Facebook. Letztendlich muss ich damit den Browser nicht mit zig Bookmarks und Tabs “zumüllen”, sondern kann die Seiten entsprechend nutzen, wenn ich sie brauche. Auch im Bezug auf Magento handelt es sich hierbei sicherlich um eine nette Spielerei, die man dem Kunden ja ganz unverbindlich einmal anbieten kann. Schaden tut es sicherlich nicht ;-)

  • Magento Konfigurationseinstellungen für Entwickler

    123 Tage ago by

    Die Entwickler und blogger von incho.net haben neulich in einem Artikel eine Zusammenfassung der wichtigsten Konfigurationseinstellungen für Magento Entwickler veröffentlicht. Es geht dabei darum, welche Einstellungen man im Magento Backend vornehmen sollte, gerade wenn man Erweiterungen entwickelt oder Designs umsetzt:

    • System -> Cache-Verwaltung -> Alle deaktivieren
    • System -> Konfiguration -> Entwickleroptionen -> Log Einstellungen -> aktivieren
    • System -> Konfiguration -> Entwickleroptionen -> Debug -> Profiler aktivieren
    • System -> Konfiguration -> Web -> Suchmaschinenoptimierung -> Verwende Webserver Rewrites
    • System -> Index-Verwaltung -> Alle neu aufbauen
    • Die Datei .htaccess (Root Verzeichnis) öffnen und php_value display_errors auf on bzw. SetEnv MAGE_IS_DEVELOPER_MODE  auf true  setzen
    • Die Datei /errors/local.xml.sample in /errors/local.xml umbenennen
    • Einen Kunden mit vollständigen Informationen (Rechnungsadresse, Lieferadresse etc.) anlegen um Zahlungen und den Versand zu testen
    • Falls man lokal mit E-Mails Probleme haben sollte, empfiehlt sich ein Blick auf http://inchoo.net/ecommerce/magento/magento-l-e-s-s/

    Welche Magento Einstellungen sollten bei der Magento Modulentwickler ansonsten noch vorgenommen werden?

    Quelle: http://inchoo.net/ecommerce/magento/configuring-magento-for-development

  • Magento Dynamic Sitemap

    123 Tage ago by

    Ich bin gerade in einem Blog auf eine recht interessante Magento Erweiterung gestoßen, die demnächst auch auf Magento Connect verfügbar sein wird. Es handelt sich dabei um die Extension “Magento Dynamic Sitemap”. Dier Erweiterung generiert eine Sitemap, welche nicht nur Kategorien oder Produkte beinhaltet, sondern auch CMS Seiten und greift damit ein (zumindest meiner Meinung nach) in Magento vorhandenes Problem auf. Wer nicht auf die Veröffentlich auf Magento Connect warten möchte, kann sich die Erweiterung direkt unter http://www.e-commercewebdesign.co.uk/blog/wp-content/uploads/DynamicSitemap.zip herunterladen, als kompatible Versionen werden Magento 1.5.x sowie 1.6.x angegeben.

    Hier geht’s zum Blogbeitrag