5 Anfänger Tipps für Magento-Einsteiger

18. Juni 2010 at 03:31

magento ecommerce logoDieser Artikel ist für Neueinsteiger gedacht, welche sich für einen Onlineshop auf Basis von Magento-Commerce interessieren. Wenn Sie sich bereits längere Zeit mit Magento beschäftigt haben, werden Ihnen diese Punkte sehr wahrscheinlich bereits bekannt sein.

1. Unterschätze den Aufwand nicht

Magento ist eine eCommerce Open-Source-Lösung für den Enterprise-Bereich der Firma Varien. Es setzt auf objektorientiertes PHP und dem Zend Framework.  Magento ist aufgrund des offenen Quellcodes (open source) ideal um es seinen eigenen Wünschen anpassen, sei es auf Template Basis (Design & GUI) oder Erweiterung der Funktionalität durch neue Plugins. Als Magento-Entwickler sollte man Kenntnisse in PHP5,Objekt Orientiere Programmierung (OOP) , Zend Framework, XHTML, XML, AJAX, JavaScript und MySQL mit bringen.

2. Installieren Sie Magento über die Download-Version

Magento kann als Vollversion herunter geladen werden und per FTP installiert werden. Einfacher ist es jedoch, den Download-Installer zu verwenden. Dieser lädt automatisch die benötigten Dateien nach, und legt diese auch mit den besseren Dateirechten auf einem Linux/Unix-Server an.

3. editieren Sie keine Core-Dateien

Gerade als Neueinsteiger in Magento möchte man schnell Änderungen herbeiführen und führt im Änderungen in den Core-Dateien durch. Diese liegen unter app/code/core. Bei einem Update werden diese Änderungen jedoch überschrieben, ein manuelles nachpflegen ist zeitaufwendig und geht ggf. schief. Änderungen an entsprechenden Dateien sollten in einer Kopie dieser in den Ordner app/code/local vorgenommen werden. Soll zum Beispiel die Datei

app/code/<strong>core</strong>/Mage/Checkout/Block/Success.php

geändert werden, diese kopieren nach

app/code/<strong>local</strong>/Mage/Checkout/Block/Success.php

Somit bleibt die Original Core Datei unberührt und wird beim nächsten Update nicht überschrieben.

Eine bessere Variante ist gar das Überschreiben von Blöcken/Models. Eine ausführliche Einführung dazu gibt es im Wiki von Magento.

4. Beim Theme-Design nur die notwendigen Dateien ändern

Das Template-Modul von Magento fällt auf immer dann auf das Standard-Theme zurück, wenn es notwendig ist. Viele Anfänger machen den Fehler und kopieren sich ein komplettes Theme, um es dann ensprechend zu modifizieren. Das ist nicht notwendig, es reicht aus, nur die Dateien in ein neues Theme zu kopieren, die tatsächlich für die Änderung notwendig sind. Der Rest bleibt im default/default-Verzeichnis und wird per Fall-Back-Prinzip aufgerufen so lange die Datei im neuen Template Verzeichnis nicht existiert.

5. API-Aufrufe Vermeiden

Magento bietet eine umfrangreiche API mit der Sie viele Daten lesen und schreiben können. Leider ist diese sehr langsam und sollte deshalb nur bei einem Zugriff aus z.B. einer externen Warenwirtschaft oder Java-Applikation genutzt werden. Bei eigenen Modulen sollten Sie die PHP-Skripte direkt einbinden und um so den direkten Zugriff auf die internen Magento-Funktionen zu erhalten.

Hier ein kleines Beispiel einer Artikelliste:

require_once 'app/Mage.php';
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$product =
Mage::getModel(‚catalog/product‘);;
// 13 ist die Produkt-ID
$product->load(13);
$product->
setName("Neuer Name"); # jedes Attribut kann mit setXyz() angesprochen werden
$product->save();

Weitere Tipps?

Sie haben weitere Tipps für Magento Neueinsteiger? Gerne teilen wir diese mit unseren Lesern. Nutzen Sie die Kommentarfunktion.

Magento: Core Controller überschreiben

17. Juni 2010 at 04:15

Hier findet ihr eine kurze Anleitung wie ihr ein Controller aus dem Core-Package überschreiben könnt.

Im Magento-Wiki ist eine Anleitung vorhanden, allerdings funktionierte die bei mir nicht, deshalb wird hier ein anderer Weg beschrieben.

In dem Beispiel überschreiben wir den Controller für den Kunden-Login.

Step 1 – Config Datei erstellen

Zuerst muss eine eine Config-Datei erstellt werden, wo definiert wird, welcher Controller überschrieben werden soll.. Dies geschieht über eine XML-Datei, welche im folgendem Verzeichnis ablegt wird:

/app/code/local/<Namespace>/<Module>/etc/config.xml

<!-- overwrite only methods or extends the class -->
<config>
    <frontend>
        <routers>
            <customer>
                <args>
                    <module>
                        <Namespace_Module before="Mage_Customer">Namespace_Module</Namespace_Module>
                    </module>
                </args>
            </customer>
        </routers>
    </frontend>
</config>

oder wenn man den kompletten Controller ersetzen möchte (am Beispiel des Catalog-Modules):

<!-- overwrite the complete controller -->
<config>
    <frontend>
        <routers>
          <catalog>
            <use>standard</use>
            <args>
              <module>Seven_Catalog</module>
              <frontName>catalog</frontName>
            </args>
          </catalog>
        </routers>
    </frontend>
</config>

Step 2 – der neue Controller

Anschließend wird die Datei für den neuen Controller erstellt. Dieser wird im folgenden Verzeichnis abgelegt:

/app/code/local/Namespace/Module/controllers/AccountController.php

Der Inhalt des Controllers:

include_once("Mage/Customer/controllers/AccountController.php");
class MyCompany_MyModule_AccountController extends Mage_Customer_AccountController
{
    public function loginAction()
    {
        parent::loginAction();
    }
    public function indexAction()
    {
<pre>        echo 'test';
        parent::loginAction();
    }</pre>
}

Step 3 – Modul aktivieren

Nun wird nach dem Login eines Kunden auf der Übersicht Seite des Benutzerkontos die Ausgabe „test“ angezeigt.

Um Magento das Modul sichtbar zu machen muss es noch aktiviert werden, das geht über eine weitere XML-Datei welche im folgenden Verzeichnis abgelegt wird:

/app/etc/modules/Namespace_Module.xml

Der Inhalt ist wie folgt:

<?xml version="1.0"?>
<config>
    <modules>
        <Namespace_Module>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Core />
                <Mage_Customer />
            </depends>
        </Namespace_Module>
    </modules>
</config>

Jetzt wird die Funktion „loginAction()“ von dem neuen Controller überschrieben.

Das war es schon, so einfach überschreibt man ein Controller in Magento! 🙂

Optional: Rewrite eines Controllers in Magento

Ggf. kann mit dem folgenden Einträgen in der config.xml ein Rewrite des Controllers erfolgen:

<rewrite>
 <seven_catalog_daniel>
 <from><![CDATA[#^/catalog/product_compare/add/(.*)$#]]></from>
 <to>/catalog/compare/add/</to>
 </seven_catalog_daniel>
 </rewrite>
 </global>

Fly2Mars-Media.de startet eigenen URL-Shortener

15. Juni 2010 at 23:40
f2mm.de url shortener screenshot

url shortener von www.f2mm.de

Ab sofort stellt Fly2Mars-Media.de ein eigenen öffentliche URL Shortener, ähnlich wie bit.ly, cli.gs oder redir.ec, kostenlos zur Verfügung.

Zu erreichen unter www.f2mm.de (Fly2MarsMedia)!

Magento: Mit hilfe des ModuleCreator eigene Module Templates erzeugen

14. Juni 2010 at 02:42

magento ecommerce system - eigene module schreibenFrüher oder später kommt für jeden Magento-Entwickler der Punkt, an dem es notwendig ist, Eingabemasken respektive Eingabeformulare im Magento-Backend per Extension um eigene, benutzerdefinierte Felder zu erweitern oder aus einem sonstigen Grund neue Module zu schreiben. Spätestens beim zweiten Modul merkt man schnell, dass sich diverse Schritte wiederholen.

Aus diesem Grund möchten wir euch den ModuleCreator zum automatisierten erstellen des Magento-Extension-Gerüst empfehlen, welche ihr dann nur noch entsprechend anpassen müsst.

Wie verkaufe ich eine Webseite? – Den Wert einer Webseite ermitteln

13. Juni 2010 at 03:45

Sie möchten Ihre Webseite verkaufen und dazu den Wert Ihrer Webseite ermitteln?

Eckpunkten zur Wertermittlung einer Webseite

  • Umsatz bzw Gewinn
  • Arbeitsaufwand zur Pflege (einem Shop hat höheren Arbeitsaufwand als eine kleiner Blog)
  • gute Positionen mit den wichtigsten KeyWords bei Google
  • Besucherzahlen
  • Verlinkung durch externe Webseiten
  • Alter der Webseite
  • Eintrag/-e bei DMOZ
  • aktueller Pagerank bei Google
  • individuelles Design
  • individueller Content
  • Thema der Webseite
  • Ausbaufähigkeit der Seite
  • Script auf welchen die Webseite läuft (kostenloser Script oder wurde dieser gekauft?)

Am wichtigsten ist der aktuelle und der zu erwartende Gewinn im Verhältnis zur dafür benötigte Arbeitszeit.

Eine grobe Faust-Formel zur Bestimmung des Wertes einer Webseite: Nehmt den monatlichen Gewinn mal 12 bis 24. Schon habt ihr den mind. Wert für einen Verkauf, in der Regel sollte der Mittelwert euer Zielverkaufspreis sein.

Wichtige Argumente zum Verkauf bzw. Verkaufsgrund überlegen

„Die Seite macht zu wenig Umsatz“ oder „Die Pflege der Webseite ist zu aufwendig“ sind keine guten Argumente um ein guten Preis zu erzielen und den potentiellen Käufer zu überzeugen. Besser ist es zum Beispiel geänderte Prioritäten oder private Änderungen als Verkaufsgrund anzugeben. Wichtig ist es sich mögliche Fragen bei einem Verkaufsgespräch vorzubereiten.

Wo kann man eine Webseite verkaufen?

Handelsplätze wie Sedo ermöglichen den Verkauf von Webseiten. Auch bei ebay ist der Verkauf von Webseiten möglich (achtet auf einen angemessenen Startwert). Thematisch passende Foren sind ebenfalls guter Ort eine Webseite anzubieten.

Der Verkauf selbst

Immer einen Kaufvertrag abschließen und Zahlung per Vorkasse abschließen!

Probleme mit mod_rewrite beim Zend Server Community Edition

13. Juni 2010 at 03:03

zend logoNach dem Umstieg von XAMPP auf die Zend Server Community Edition musste ich fest stellen dass keine lokalen .htaccess-Dateien berücksichtigt werden, obwohl das mod_rewrite-Modul ordnungsgemäß geladen wurde.

Ein Blick in die httpd.conf des dazugehörigen Apache Webservers brachte schnell Klarheit. In der Apache-Konfiguration,  der httpd.conf, war die Direktive AllowOverride none für das Root-Verzeichnis (unter Windows standardmäßig: C:\Programme\Zend\Apache2/htdocs) gesetzt. Diese muss auf „all“ gesetzt werden damit .htacces-Dateien berücksichtigt werden, danach funktioniert mod_rewrite wie gewünscht.

Viral Marketing: Video von Coke Zero – Rackentantrieb mit Cola & Mentos

10. Juni 2010 at 23:43

Seit veröffentlichung des Videos am 31. Mai 2010 wurde das Video bereits 2.325.970 mal angesehen.

Speziell für neue Produkte wie Coke Zero ist so ein Video ideal um die Bekanntheit der Marke zu pflegen bzw. auszubauen. Die Visitor-Zahlen belegen den Erfolg der Kampagne!

Microsoft’s Suchmaschine Bing feiert ihren 1. Geburtstag

10. Juni 2010 at 23:22

bing suchmaschine logoDie Suchmaschine Bing von Microsoft feiert in diesen Tagen ihren ersten Geburtstag. Vor einem Jahr hatten die Redmonder ihre Google-Alternative mit großem Tamtam erstmals an den Start gebracht und konnte seitdem einige Marktanteile erobern.

Bing wird von Microsoft als die „Entscheidungsmaschine“ bezeichnet, weil Bing nicht nur einfache Suchergebnisse liefert, sondern in vielen Fällen gleich direkt die vom Anwender benötigten Information liefern soll. Zumindest in der US-Version verfügt Bing über zahlreiche Zusatzfunktionen, die der größte Konkurrent Google nicht bieten kann.

Nach Angaben des Marktforschungsunternehmens ComScore hat Bing derzeit einen Marktanteil von 11,8 Prozent. Nach dem Start im Juni 2009 lag der Marktanteil nach der Umbenennung der Windows Live Search noch bei 8,4 Prozent. Ein Großteil des Zugewinns ging zu Lasten des Partners Yahoo, für den Bing langfristig die Suchtechnologie liefern soll.

Google kopiert Bing Startseiten Layout

10. Juni 2010 at 16:49

google-startseite-10-06-2010

Microsoft wurde in der Vergangenheit nach gesagt dass sie mit der Suchmaschine Bing teilweise die Google Suchmaschine nach bauen. Jetzt geht Google den umgekehrten Weg, heute erstrahlt die Google Startseite ähnlich wie Bing mit einem Hintergrund-Bild einer Landschaft. Das Hintergrundbild wird stündlich aktualisiert. Ich persönlich fand die ursprüngliche Seite mit dem Layout nach dem Minimal-Prinzip wesentlich schöner. Geschmäcker sind allerdings verschieden und der ein oder anderen Benutzer wird sicherlich Freude an den neuen Bildern haben.

13.06.2010 – Nachtrag: Wie golem.de berichtete handelte es sich um eine Werbe aktionwelche frühzeitig abgebrochen wurde. Viele Nutzer zeigten sich irritiert, weil Google.com nur noch mit ganzseitigen Fotos geschmückt verfügbar war. Die für 24 Stunden geplante Werbeaktion wurde darum schon nach 14 Stunden abgebrochen.

Market Ready Germany zur Anpassung von Magento zum deutschen Markt/Recht jetzt kompatibel mit aktuellen Version 1.6

10. Juni 2010 at 03:23

Die Magento Extension Market Ready Germany ist jetzt in Version 2.0 von symmetrics & Trusted Shops veröffentlicht worden. Diese Version ist jetzt auch mit der aktuellen Magento Version 1.4 kompatible! Mit der Extension lässt sich Magento an die Erfordernisse des deutschen Marktes anpassen. Die Erfahrungen und Anregungen der Community sind erneut in die Entwicklung mit ein geflossen.

Fly2Mars-Media sagt an diese Stelle: Danke an Symmetrics für diese Extension und der dazugehörigen Pflege!
An der Stelle auch Grüße aus der Nachbarschaft! 😉

Infos zu Market-Ready findet ihr auch im Artikel: Magento: deutsches Lokalisierungspaket “Market Ready Germany”

Die Extension „Market Ready Germany“ (MRG) kann ab sofort in der Version 2.0 kostenlos über die Plattform Magento Connect herunterladen werden. MRG 2.0 konfiguriert Magento automatisch für den deutschen Markt und wird von Magento-Experten als wichtiger Schritt erachtet:

„Der wohl wichtigste Magento Meilenstein für den deutschen E-Commerce. Die Firmen Trusted Shops GmbH und Symmetrics GmbH haben mit dieser Erweiterung Magento in Deutschland stark vorangebracht. Ohne diese Erweiterung hätte kaum ein Shop starten können – zu groß wäre die Gefahr vor Abmahnungen durch den Wettbewerb gewesen.“

Beim Market Ready Germany 2.0 handelt es sich um ein komplettes Refactoring der Extension, bei dem Fehler sowie Inkompatibilitäten der Vorgängerversion behoben wurden. Dabei haben die Entwickler von symmetrics und Trusted Shops Anregungen aus der Magento Community in den Refactoring-Prozess einfließen lassen.