digitalvertraut.de optimiert für Smartphones und Tables-PCs

Die Nutzung mobiler Geräte wird in Zukunft sicher noch einmal stark an Bedeutung gewinnen. Immer "intelligentere" Handys und Tablet-PCs ermöglichen den Nutzer einen immer komfortableren Zugang zu Online-Angeboten. Diesen technischen Ansprüchen sind wir nun gerecht geworden.

Schauen sie sich unsere Website doch mal mit einen Smartphone oder Tablet-Pc an.

Viel Vergnügen.

Magento OnePage und Google Analytics

Um herauszufinden wie viele Bestellungen durchgeführt wurden braucht man Google Analytics nicht. Dafür genügt ein Blick in das Backend von Magento. Viel interessanter ist die Frage, wie viele Bestellungen nicht abgeschlossen wurden und an welcher Stelle die Besucher den Einkauf abbrechen.

Hierzu definiert man einen Trichter in Google Analytics.

Auf der Seite “Websiteprofile” auf Bearbeiten klicken und dann im Bereich “Ziele” über Ziel hinzufügen einen neuen Trichter anlegen. Also eine Startseite, eine Endseite und alle Seiten die dazwischen liegen. Die Startseite für den Checkout ist /checkout/onepage und die Zielseite ist /checkout/onepage/success/. Diese beiden Adressen im Trichter definiert ergeben schon mal zwei Zahlen. Wie viele haben den Checkout gestartet und wie viele sind am Ende übrig geblieben.

Was jetzt noch fehlt, sind die Seiten dazwischen. Man kann die Zwischenseiten wie Versandart, Zahlungsart usw. jedoch nicht so einfach messen. Magento arbeitet hier mit Ajax und somit gehen die Aufrufe an Google Analytics vorbei. Eine einfache Anpassung der "opcheckout.js" hilft hier jedoch weiter.

gotoSection: function(section)
{
    // neue Zeilen  
    try {
        pageTracker._trackPageview('/checkout/onepage/' + section + '/');
    } catch(err) {
        // hier kann ggf. ein Errorhandling eingebaut werden. 
    }
    // ab hier das Origianl
    section = $('opc-'+section);
    section.addClassName('allow');
    this.accordion.openSection(section);
},

Für aktuelle asynchrone Version muss es natürlich dann so aussehen:

gotoSection: function(section)
{
    // neue Zeilen  
    try {
        _gaq.push(['_trackPageview', '/checkout/onepage/' + sectionName + '/']);
    } catch(err) {
        // hier kann ggf. ein Errorhandling eingebaut werden. 
    }
    // ab hier das Origianl
    section = $('opc-'+section);
    section.addClassName('allow');
    this.accordion.openSection(section);
},

Vorraussetzung ist natürlich, dass Google Analytics im Magento Shop bereits integriert ist.

Magento WYSIWYG ImageOrdner

Wer sich wundert das die nutzbaren Images im WYSIWYG Editor nach dem Update von Version 1.4 auf 1.6 nicht mehr da sind, der sollten ein Blick in folgende Dateien werfen.

core/Mage/Cms/Model/Wysiwyg/Config.php

const IMAGE_DIRECTORY = 'wysiwyg';

core/Mage/Cms/etc/config.xml

<system>
   <media_storage_configuration>
       <allowed_resources>
           <wysiwyg_image_folder>wysiwyg</wysiwyg_image_folder>
        </allowed_resources>
   </media_storage_configuration>
</system>

hier jeweils ein "." einsetzen und /media ist wieder default.

Wir erweitern den Datenschutz.

Nachdem das Kieler Unabhängige Landeszentrum für Datenschutz (ULD) den beliebten Facebook Like-Button als nicht Datenschutzkonform erklärte, haben wir uns für die 2-Klick Lösung des heise-Verlags entschieden.

Jedoch haben wir diese Umsetzung noch ein wenig erweitert.

  • 2-Klick auch beim Fan-Button
  • Einbindung der Datenschutzerklärung
  • Erweiterung der Texte
  • Implementierung als WordPress Plugin

Eine sehr umfangreiche Beschreibung des Problems finden sie hier.

Magento API Logging

Gerade wer versucht mittels der Magento API Prozesse zu realisieren, der wird ein Logging zu schätzen wissen.

Hierfür genügen ein paar zusätzliche Zeilen:

In der Datei: app/code/core/Mage/Api/Model/Server/Handler/Abstract.php
findet sich die Funktion call.

Hier einfach ein wenig Logging einfügen.

....
Mage::Log($method,null,'api.log');
Mage::Log($args,null,'api.log');
// Vor diesem Aufruf -- Zeile: 292 (Magento Version 1.6) 
return call_user_func_array(array(&$model, $method), $args);

// so wie
Mage::Log($e->getMessage(),null,'api.log');
Mage::Log($resourceName,null,'api.log');
Mage::Log($e->getCustomMessage(),null,'api.log');
// Vor diesem Aufruf -- Zeile: 298 (Magento Version 1.6) 
return $this->_fault($e->getMessage(), $resourceName, $e->getCustomMessage());

/* Beispielausgabe:

2011-09-07T12:54:43+00:00 DEBUG (7): create
2011-09-07T12:54:43+00:00 DEBUG (7): Array
(
    [0] => 100000435
    [1] => Array
        (
        )

    [2] => 
    [3] => 1
    [4] => 
)

2011-09-07T12:54:44+00:00 DEBUG (7): data_invalid
2011-09-07T12:54:44+00:00 DEBUG (7): sales_order_invoice
2011-09-07T12:54:44+00:00 DEBUG (7): Cannot do invoice for order.
*/

Magento Upgrade: 1.4 -> 1.6

Wider erwartend funktioniert ein Update recht problemlos.

Hier der der Ablauf auf der Shell Ebene.

# Erst einmal alles auf den letzten Stand bringen.
./pear install magento-core/Mage_All_Latest-Stable

# alte caches und Sessions löschen
rm -rf var/cache/mage--*
rm -rf var/session/sess_*
rm -rf downloader/pearlib/cache/* downloader/pearlib/download/*

# Setup des aktuellen Downloaders. (wenn nicht eh schon erfolgt)
./mage mage-setup .

./mage config-set preferred_state stable
./mage install https://connect20.magentocommerce.com/community Mage_All_Latest --force

# Sicherheitshalber noch einmal die Caches löschen.
rm -rf var/cache/mage--*
rm -rf var/session/sess_*
rm -rf downloader/pearlib/cache/* downloader/pearlib/download/*


Nun erfolgt ein Aufruf der Page.

Dies wird wahrscheinlich öfters erfolgen müssen, da der normales Server-Timeout wohl zuschlagen wird (30 Sekunden reichen hierfür nicht aus). Es sind ja einige Änderungen an der Datenbank nötig.

Viel Glück.

Kommt der Button?

Die Bundesregierung hat den Gesetzesentwurf zur sogenannten "Buttonlösung" beschlossen.
Die Buttonlösung soll Internetnutzern vor Abofallen und Abzockseiten schützen. Verbraucher sollen vor Abschluss eines Vertrags im Netz diesen nochmal bestätigen. Der Anbieter muss in diesem Schritt genau über den Preis, die Lieferkosten, Mindestlaufzeiten und wesentliche Merkmale der Ware hinweisen.

httpv://www.youtube.com/watch?v=RW33r3lfZBY&feature=player_embedded

Der BVH (Bundesverband des deutschen Versandhandels) hat sich gegen eine Bestätigungslösung ausgesprochen. Stephanie Schmidt, Justiziarin des Bundesverbands des Deutschen Versandhandels (BVH) erklärte: „Die so genannte Button-Lösung erklärt Verträge für nichtig, die oft sowieso unwirksam sind“.
Dem e-Commerce gegenüber wirke sich die Lösung eher negativ auf z.B. Warenlieferungsverträge aus. Die Shop-Betreiber müssten diese Informationen doppelt angeben und bestätigen lassen. Die Abbruchquote im Bestellprozess würde sehr wahrscheinlich dadurch erhöht.

Über den Bundesrat wird nun die Buttonlösung dem deutschen Bundestag zur Beratung weitergeleitet. Sollte der Entwurf als Gesetz verabschiedet werden, so kommen auf die e-Commerce-Branche geschätzte, einmalige Kosten des Umbaus in Höhe von 38,7 Millionen und 48,3 Millionen Euro zu.

Magento Rundungsfehler

Der bekannte Magento Rundungsfehler ist auch in der neuesten Version 1.6 noch vorhanden.

Schnelle Abhilfe schafft aber auch hier ein Core-Rewrite der Funktion roundPrice() in der Datei app/code/local/Mage/Core/Model/Store.php

public function roundPrice($price)
{
   return round($price, 4);
}

Archive

Contact Info

Venezianer Str. 10 90455 Nürnberg Deutschland

+49 9129 14 25 801
support@digitalvertraut.de

Werktags von: 9:00 bis 18:00 Uhr

Copyright 2023 DigitalVertraut UG ©  All Rights Reserved