# magelounge – Volltexte aller 31 Beiträge > Archiv des deutschsprachigen Magento-Blogs von Ralf Siepker (2010–2013). Übersicht und Fakten: https://magelounge.de/llms.txt --- ## Magento Community 1.8 Update erscheint Ende September / Magento 2 steht aus Datum: 2013-09-02 · Kategorien: Magento · URL: https://magelounge.de/2013/09/magento-community-1-8-update-erscheint-ende-september-magento-2-steht-aus/ Am 29. August fand eine Telefonkonferenz mit Mitarbeitern Mosses Akazian, Piotr Kaminski (Produkt-Manager der Version 1.x) von Magento/ebay sowie den Mitgliedern Brent Peterson, Ben Marks, David Shuford, Kris Brown, Sherrie Rohde, Kimberely Thomas, Sylvain Rayé und Tom Robertshaw aus dem Bereich der Magento Community statt. Ziel dieser Telefonkonferenz war es, den aktuellen Stand zur Entwicklung von Magento 1.8 und Magento 2 zu kommunizieren sowie Magentos Commitment zur Community herauszustellen. Magento Community Edition 1.8.x Die Alpha-Version von Magento 1.8 wurde bereits im Mai auf der  Imagine in Las Vegas vorgestellt und kurz darauf freigegeben. Die  stabile Version soll jetzt Ende September 2013 erscheinen. Mit dieser Version werden vor allem Rundungsprobleme und Fehler bei der Steuerberechnung behoben. Für Ende des vierten Quartals ist die Version 1.8.1 vorgesehen. In diese Version sollen dann auch die Fehlerkorrekturen einfliessen, die auf diversen Bugathons in diesem Jahr behoben wurden. Auch wird Redis als Cache-Backend unterstützt werden. Die entsprechenden Release-Notes wird man dann mit dem Update einsehen können. Es wurde auch deutlich herausgestellt, das die mit Magento Enterprise Edition 1.13 eingeführte Art der URL-Key-Erstellung auf Datenbankebene nicht in die Community Edition einfliessen wird. Dieses wurde durch ein Twitter Post von Piotr Kaminski  bestätigt. Magento 2 Langfristig gesehen wird weiterhin der Fokus auf Magento 2 gelegt. Hier werden alle neuen Features einfliessen. Magento 2 befindet sich immer noch im Projekt-Status, eine Alpha-Version ist noch nicht in Sicht. Allerdings fand vor ca. zwei Wochen ein Update auf Github statt, das erste nach über fünf Monaten. Magento 2 Backend im aktuellen Release    Weitere Infos in Englisch finden sich hier: http://www.meanbee.com/news/magento-community-update.html --- ## Fehleranzeige abschalten in Magento Enterprise Edition 1.13 Datum: 2013-05-07 · Kategorien: Bugfixes · URL: https://magelounge.de/2013/05/fehleranzeige-abschalten-in-magento-enterprise-edition-1-13/ Nur ein kleiner Hinweis. In der gerade veröffentlichten Enterprise Edition 1.13 findet sich folgende Zeile in der index.php ini_set('display_errors', 1); Fehler sollte man natürlich auf einem Livesystem nicht dem Besucher anzeigen. Deshalb sollte man die Zeile wie folgt ändern: ini_set('display_errors', 0); --- ## Links der Woche 8/13 Datum: 2013-02-22 · Kategorien: Links der Woche · URL: https://magelounge.de/2013/02/links-der-woche-8-13/ Nach langer Zeit gibt es mal wieder die Links der Woche im Bereich Magento. Hier einige interessante Beiträge in anderen Blogs. Andreas von Studnitz zeigt in einem Beitrag auf, wie man im Magento-Backend Einfluss auf das Admin-Menü nehmen kann. Hier wird ein Modul vorgestellt, bei dem man Grafiken einfügen, einzelne Menüpunkte hervorheben oder andere ausblenden kann. Weiterhin werden einzelne Menüpunkte nur bei bestimmten Konfigurationsoptionen anzeigt: Link: http://www.integer-net.de/magento-anpassung-der-admin-konfiguration/ Fabian Blechschmidt schreibt immer, wenn er unterwegs ist, an seinem Buchprojekt zu Magento. Arbeitstitel ist zur Zeit: The Hitchhikers Guide to Magento. Nicht nur als Douglas Adams-Fan sollte man das im Auge behalten. Link: http://blog.fabian-blechschmidt.de/book-project/ Matthias Zeis beantwortet Fragen aus seinem Blog. In diesem Beitrag wird erklärt, wie man Kundengruppen in Magento einen Rabatt gewährt. Link: http://www.matthias-zeis.com/archiv/wie-man-kundengruppen-in-magento-rabatt-gewahrt Und hier noch eine kurze Erklärung der Commercers inkl. Lösungweg, warum über die Layout Updates in Magento die Toolbar nicht ohne weiteres entfernen lässt. Link: http://www.commercers.com/blog/?p=1297 --- ## Magento Hackathon in Zürich vom 8.-10. März 2013 Datum: 2013-02-16 · Kategorien: Allgemein · URL: https://magelounge.de/2013/02/magento-hackathon-in-zurich-vom-8-10-marz-2013/ Nach den Magento Hackathons in München und Berlin findet jetzt Anfang März auch der erste Schweizer Magento Hackathon in Zürich statt. Das Veranstaltungsdatum ist der 8. bis 10. März 2013, die Kosten für den Hackathon betragen 40,- Euro. Event bei Google+ Weitere Infos: http://www.mage-hackathon.de/ --- ## Magento Benutzerhandbuch von Techdivision kostenlos zum Download Datum: 2013-02-11 · Kategorien: Magento-Einstieg · URL: https://magelounge.de/2013/02/magento-benutzerhandbuch-kostenlos-zum-download/ Das Magento Benutzerhandbuch von Techdivision war schon immer eine gute Referenz für Shopbetreiber und Magento-Interessierte, die sich ein wenig tiefer mit dem Magento-Shop auseinander setzen wollten. Techdivision bietet das Handbuch mittlerweile in Version 6 zum Download an. Bisher war dies zum Preis von 34,90 Euro erhältlich. Ab sofort steht das Magento Handbuch allen Interessierten auf der Website von Techdivision unter http://www.techdivision.com/de_de/leistungen/magento.html zum kostenlosen Download zur Verfügung. Als kleine Gegenleistung wird ein Tweet bei Twitter oder ein Facebook-Post gewünscht. Das Handbuch basiert auf der Magento Community Version und erklärt auf rund 350 Seiten alle relevanten Funktionen des Magento Backends. Des weiteren werden auch sämtliche neuen Features von Magento inklusive dem integrierten CMS mit seinen Widget-Funktionen erläutert.. Weitere Infos zu dem Handbuch finden sich hier: http://www.techdivision.com/blog/magento-benutzerhandbuch-kostenlos-zum-download/ --- ## Magento-Sicherheitslücke - Wichtiges Sicherheitsupdate Datum: 2012-07-06 · Kategorien: Bugfixes · URL: https://magelounge.de/2012/07/magento-sicherheitsluecke-import-security-update-zend-plattform-vulnerability/ Seit dem 5.7.2012 erhalten alle Shopbetreiber, die sich in Ihren Magento-Shop im Backend anmelden, folgenden Hinweis: "Import Security Update - Zend Plattform Vulnerability". Eine genaue Erklärung erhalten Sie bei Magento. Dieser Hinweis betrifft die Magento-Versionen 1.4 bis .1.7 und muss unbedingt eingespielt werden! Dieser Fehler liegt nicht an Magento selbst, sondern an einem Fehler im eingesetzten Zend Framework. Hier gibt es eine Lücke in der Zend-XMLRPC-Verarbeitung. Dadurch ist es einem Angreifer möglich, beliebige Dateien auf dem Webserver auszulesen. Hierzu gehören natürlich auch die in der local.xml enthaltenen Zugangsdaten zur Datenbank. Auf der oben erwähnten Seite finden Sie die nötigen Patches: Community Edition 1.4.0.0 through 1.4.1.1 Community Edition 1.4.2.0 Community Edition 1.5.0.0 through 1.7.0.1 Sie können diesen Patch mit einer einfachen Zeile in der Shell fixen: wget http://www.magentocommerce.com/downloads/assets/1.7.0.2/CE_1.5.0.0-1.7.0.1.patch && patch -p0 -i MAGE1702 && rm MAGE1702 Noch ein Hinweis von Matthias Zeis an dieser Stelle: Der Patch funktioniert erst ab PHP 5.2.11. Davor gibt es die benötigte Funktion nicht, es wird dann eine Fehlermeldung "Call to undefined function libxml_disable_entity_loader()" geworfen. In der frisch veröffentlichen Version 1.7.0.2 ist dieser Bug bereits geschlossen. Workaround Falls Sie den Patch nicht sofort umsetzen können, kann man mit diesen Anweisungen die RPC-Funktionen temporär abschalten. Seien Sie jedoch gewarnt, falls Funktionen auf Basis der XMLRPC-API implementiert wurden, werden diese nicht mehr funktionieren. navigieren Sie auf dem Magento-Webserver zum Root-Verzeichnis, in dem Magento installiert wurde von hier aus gesehen navigieren Sie nach /app/code/core/Mage/Api/controllers. öffnen Sie XmlrpcController.php. löschen Sie den Inhalt der Methode: public indexAction() speichern Sie die Änderungen. class Mage_Api_XmlrpcController extends Mage_Api_Controller_Action { public function indexAction() { /* $this->_getServer()->init($this, 'xmlrpc') ->run(); */ } } // Class Mage_Api_XmlrpcController End Auf Webguys wird des weiteren beschrieben, wie man da XMLRPC-Modul durch einen Eintrag in der .htaccess abschalten kann. Brauchen Sie Unterstützung? Gerne sind wir Ihnen bei der kurzfristigen Behebung des Bugs behilflich. Bitte wenden Sie sich einfach über das Kontaktformular an uns oder rufen Sie unter 05971/80186010 an. --- ## Zend Server CE, xdebug und Magento auf Mac OSX (Snow Leopard) installieren. Datum: 2011-08-12 · Kategorien: Administration, Magento-Einstieg · URL: https://magelounge.de/2011/08/zend-server-ce-xdebug-und-magento-auf-mac-osx-snow-leopard-installieren/ Viele PHP- und Magento-Entwickler nutzen einen Mac, um mit PHP und Magento zu entwickeln. Ich bevorzuge hierbei den Zend Server Community Edition mit der PHP Version 5.3 sowie zum Debuggen Xdebug. Zend Server Community Edition gefällt mir deshalb besonders gut, da hier alles wichtig recht nah an der Produktionsumgebung mitgeliefert wird. Hierzu zählen Apache 2 MySQL eine zertifizierte PHP Distribution, in meinem Fall PHP 5.3 Zend Framework Web-basierte PHP Administrator Konsole phpMyAdmin und einige Annehmlichkeiten mehr Zend Server Community Edition Web-Interface Da Zend Server seinen eigenen Debugger mitbringt, einige jedoch Xdebug bevorzugen, möchte ich hier aufzeigen, wie man diese Kombination zum Laufen bekommt: Zend Server Community Edition herunterladen und wie üblich installieren nach der Installation http://localhost:10081 öffnen "Zend Debugger" abschalten Herunterladen der xdebug.so. Am besten nimmt man hier die vorkompilierte Version von Komodo, verfügbar unter http://aspn.activestate.com/ASPN/Downloads/Komodo/RemoteDebugging Das heruntergeladene Archiv entpacken, in das Verzeichnis /5.3/ navigieren und die xdebug.so nach /usr/local/zend/lib/php_extensions kopieren /usr/local/zend/etc/php.ini öffnen und folgende Zeilen über dem Bereich [zend] einfügen: zend_extension=/usr/local/zend/lib/php_extensions/xdebug.so [xdebug] xdebug.remote_enable=1 xdebug.remote_port=9000 xdebug.remote_host=”localhost” xdebug.show_local_vars=On xdebug.var_display_max_depth=20 xdebug.var_display_max_data=10000 nun den Server mit sudo /usr/local/zend/bin/zendctl.sh restart neu starten Nun sollte die Arbeit mit Xdebug möglich sein Für die einzelnen Magento-Projekte lege ich mir jeweils einen virtuellen Eintrag in der /etc/hosts nach diesem Schema an: 127.0.0.1     dev.projekt1.de 127.0.0.1     dev.projekt2.de 127.0.0.1     dev.projekt3.de Standardmäßig wird der Apache-Webserver auf Port 10088 installiert, so das man jede Domain nach dem Schema www.projekt1.de:10088 aufrufen muss. Mir persönlich gefällt das nicht so gut, so das ich folgende Änderungen in der /usr/local/zend/apache2/conf/httpd.conf vorgenommen habe: Listen 80 # Virtual hosts Include conf/extra/httpd-vhosts.conf Auch die virtuellen Domains werden auf Port 80 gestellt und über die Datei /usr/local/zend/apache2/conf/extra/httpd-vhosts.conf wie folgt angelegt: NameVirtualHost *:80 DocumentRoot "/your/path/to/your/project1" ServerName dev.projekt1.de Options FollowSymLinks AllowOverride All Order deny,allow Allow from all DocumentRoot "/your/path/to/your/project2" ServerName dev.projekt2.de Options FollowSymLinks AllowOverride All Order deny,allow Allow from all DocumentRoot "/your/path/to/your/project3" ServerName dev.projekt3.de Options FollowSymLinks AllowOverride All Order deny,allow Allow from all Der Vorteil ist, das man somit nur sehr wenige Änderungen vornehmen muss, falls man z.B. mal ein Mysql-Dump von einem Webserver in seine lokale Installation importiert. Hierzu reichen wenige SQL-Befehle und schon kann man lokal weiterarbeiten: update core_config_data set value="http://dev.projekt1.de" where path="web/secure/base_url"; update core_config_data set value="http://dev.projekt1.de" where path="web/unsecure/base_url"; update core_config_data set value="dev.projekt1.de" where path="web/cookie/cookie_domain"; Durch das Setzen der Cookie-Domain ist es somit möglich, sich auf mehreren Subdomains einzuloggen (z.B. www.projekt1.de, stage.projekt1.de, dev.projekt1.de), was ansonsten zu Problemen führen könnte. --- ## Magento URL Pfade für Basis-, Media-, JS- und Skin-Order Datum: 2011-08-10 · Kategorien: Codeschnipsel · URL: https://magelounge.de/2011/08/magento-getbaseurl-base-media-js-skin/ Oft möchte man innerhalb seiner Magento-Module und Themes auf verschiedene Ordner zurückgreifen. Die Angabe von absoluten Pfaden ist immer eine ganz schlechte Idee, da bei einem Serverwechsel oder ähnlichem Anpassungen im Code vorgenommen werden müssen. Magento bietet hier mit der Methode Mage::getBaseUrl() umfangreiche Möglichkeiten, um auf einzelne Pfade zurückzugreifen: Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK); /index.php/ Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA); /media/ Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS); /js/ Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); /skin/ Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB); / --- ## Einladung für Google+ gewünscht? Datum: 2011-07-24 · Kategorien: Allgemein · URL: https://magelounge.de/2011/07/einladung-fuer-google-gewuenscht/ Sollte tatsächlich noch jemand keine Einladung für Google+ erhalten haben, so darf er gerne an dieser Stelle einen Kommentar mit seiner Google-Email-Adresse hinterlassen. Bitte nur im Email-Feld, nicht im tatsächlichen Text, es soll ja nicht jeder die Mail-Adressen sammeln. --- ## Links der Woche KW 29 Datum: 2011-07-24 · Kategorien: Links der Woche · URL: https://magelounge.de/2011/07/link-der-woche/ Anbei eine kleine Auswahl an interessanten Beiträgen rund um Magento, die mir in der letzten Zeit aufgefallen sind und die ich an dieser Stelle erwähnen möchte. Hierzu zählen Mage::getModel(), ein verbesserter One-Page-Checkout nur mit CSS, ein Guide zum Erstellen und Hochladen von Magento Extensions, eine Sicherheitslücke in eine Payone-Skript sowie der Umgang mit den Up-Sells, Cross-Sells und Related-Products. 5 Dinge, die du über Mage::getModel() vielleicht nicht weißt Matthias Zeis erklärt fünf Punkte, die selbst erfahrene Magento-Entwickler evtl. noch nicht kennen. Hierzu zählt die Groß-/Kleinschreibung, wie Variablen übergeben werden können, Übergabe vollständiger Klassennamen, Definition von Gruppen sowie die Verwendung von Mage::getSingleton(). Improved Magento one page checkout design (CSS only!) In diesem schon nicht mehr ganz so frischem Artikel wird gezeigt, wie man nur mit CSS den One-Page-Checkout (OPC) von Magento verbessert und hübscher gestaltet. Creating & Uploading Magento Extensions Für alle Magento-Entwickler, die Ihr Magento-Modul zu Magento-Connect hochladen möchte, finden sich hier detailierte Infos. Diese enthalten die Extension Guidelines, Packing Instructions für Magento vor bzw. ab Version 1.5 sowie einen FAQ-Bereich. Sicherheitslücke im Payone-Magento-Skript payment_check.php In dem Blog von thebod wird auf ein Cross-Site-Scripting-Fehler (XSS) in einem Script des Magento-Moduls von Payone hingewiesen. Grundsätzlich interessant für jeden PHP- und Magento-Entwickler, da das Thema Sicherheit gerade im eCommerce einer besonderen Aufmerksamkeit dienen sollte. Up-Sell, Cross-Sell und Related-Product-Links Die Webguys zeigen, welche Möglichkeiten Magento dem Programmierer bietet, um Produkte untereinander zu verknüpfen um so den Kunden Produktalternativen oder weitere Produkte aufzuzeigen. --- ## Codeschnipsel: Liste aller statischen CMS-Blöcke Datum: 2011-07-24 · Kategorien: Codeschnipsel · URL: https://magelounge.de/2011/07/codeschnipsel-liste-aller-statischen-cms-blocke/ Mit diesem Codeschnipsel erhält man eine Liste aller statischen Blöcke, die unter CMS->Statische Blöcke verfügbar sind. $collection = Mage::getModel('cms/block')->getCollection(); foreach ($collection as $block) { /** @var $block Mage_Cms_Model_Block */ echo '

Blocktitle $block->title, Block-Identifier: $block->identifier

'; } --- ## Ganz schön ruhig hier -> weiter gehts Datum: 2011-07-23 · Kategorien: Allgemein · URL: https://magelounge.de/2011/07/ganz-schoen-ruhig-hier/ In den letzten Monaten hat sich leider wenig bis gar nichts auf diesen Seite getan. Mit diesem Blogeintrag möchte ich mal einen kleinen Hintergrund hierzu geben und diesen Beitrag gleichzeitig dafür nutzen, hier wieder Leben hinein zu bringen. Gestartet hatte ich magelounge aus meiner Festanstellung heraus als Magento-Entwickler bei der Magento-Agentur Visions New Media. Diese ist jedoch aus diversen Gründen in eine Schieflage geraten (siehe Magento-Agentur Visions sucht Investor für Neustart), so das mich mir selber auch Gedanken über meine weitere Zukunft machte. Da ich bereits seit 1993 als Programmierer unterwegs bin, mich bereits seit 1997 mit PHP beschäftige und schon über 10 Jahre selbständig war, hat mich das Thema Selbständigkeit wieder sehr stark gereizt. Somit habe ich mich zum 2. Februar 2011 primär als Magento-Freelancer selbständig gemacht und konnte vom Start weg an spannenden Projekten mitwirken. Natürlich nimmt eine Existenzgründung sehr viel Zeit in Anspruch, so das aus diesem Grund diese Seiten viel zu kurz kamen. Die Anfangsphase ist nun überwunden, so das ich mich wieder mehr dieser Seite sowie weiteren spannenden Projekten widmen möchte. Zum Glück ist die Investorensuche seitens Visions erfolgreich verlaufen (SinnerSchrader übernimmt die Magento Agentur Visions), so das auch meine Ex-Kollegen gut aufgehoben sind. Falls also mal ein Magento-Freelancer gesucht wird, bin ich für Anfragen immer offen. Primär jedoch gerne in Berlin oder Remote. Mein Profil findet sich bei Xing --- ## Codeschnipsel: Liste aller Bestellungen ausgeben Datum: 2010-11-30 · Kategorien: Codeschnipsel · URL: https://magelounge.de/2010/11/codeschnipsel-liste-aller-bestellungen-ausgeben/ Anbei ein kleines Codeschnipsel, der alle Bestellungen inkl. Filterung nach Datum ausliest und entsprechende Werte zurückgibt. $from = '2010-11-01 00:00:00'; $to = '2010-11-30 23:59:59'; /* @var $orders Mage_Sales_Model_Order */ $orders = Mage::getModel('sales/order') ->getCollection() ->addAttributeToSelect(array('status', 'state')) ->addAttributeToFilter('created_at', array('from' => $from, 'to' => $to, 'datetime' => true) ); echo 'firstname;lastname;email;orderid;orderstatus\n'; foreach ($orders as $order) { $orderId = $order->getId(); $orderStatus = $order->getStatusLabel(); $customerId = $order->getCustomerId(); $customer = Mage::getModel('customer/customer')->load($customerId); $lastname = $customer->getLastname(); $firstname = $customer->getFirstname(); $email = $customer->getEmail(); echo $firstname . ';' . $lastname . ';' . $email . ';' . $orderId . ';' . $orderStatus . '\n'; } ?> --- ## Codeschnipsel: Beziehungen zwischen Simple und Configurable Products Datum: 2010-11-25 · Kategorien: Codeschnipsel · URL: https://magelounge.de/2010/11/codeschnipsel-beziehungen-zwischen-simple-und-configurable-products/ Bei der Arbeit mit Produkten kann es passieren, dass man zu einem Simple-Product wissen möchte, ob es Teil eine Configurable Products ist. Auch der Weg umgekehrt kann vorkommen. Ausgehend vom Configurable Product sollen die Simple Products ermittelt werden. Teil 1: Configurable Product ermitteln $sku = "A1234"; $product = Mage::getModel('catalog/product'); $id = $product->getIdBySku($sku); $product->load($id); $parentProductIds = $product->loadParentProductIds()->getParentProductIds(); var_dump($parentProductIds); array 0 => string '142' (length=3) 1 => string '143' (length=3) Somit hat man an dieser Stelle die Info, das das Simple Product Teil eines Configurables ist. Umgekehrt kann es z.B. auch sinnvoll sein zu schauen, ob das Configurable Product Simple Products hat. Teil 2: Simple Products ermitteln $sku = "A1234"; $product = Mage::getModel('catalog/product'); $id = $product->getIdBySku($sku); $product->load($id); $childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product); $activeChildProducts = false; foreach ($childProducts as $child) { $sku = $child->getSku(); $status = $child->getStatus(); if ($child->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_DISABLED) { $activeChildProducts = true; break; } } if (!$activeChildProducts) { $product->setStatus(Mage_Catalog_Model_Product_Status::STATUS_DISABLED); } $product->save(); In diesem Beispiel werden alle Simple-Products eines Configurable Products ermitteln und per Schleife geprüft, ob diese noch den Status "enabled" besitzen. Falls keines dieser Produkt aktiv ist, wird auch das Hauptprodukt auf "disabled" gesetzt. --- ## Codeschnipsel: URL des Backends ermitteln Datum: 2010-11-20 · Kategorien: Codeschnipsel · URL: https://magelounge.de/2010/11/codeschnipsel-url-des-backends-ermitteln/ Anbei ein sehr einfaches Skript, dass die URL des Backends zurückgibt. Es soll ja Fälle geben, bei denen es nicht unter admin liegt. $url = Mage::getUrl('adminhtml'); echo $url; --- ## Meet Magento #4 - der zweite Tag Datum: 2010-11-07 · Kategorien: Allgemein · URL: https://magelounge.de/2010/11/meet-magento-4-der-zweite-tag/ Hier nun der Bericht über den zweiten Tag der Meet Magento in Leipzig. Einen Bericht über den ersten Tag findet Ihr hier. Der zweite Tag Der zweite Tag began deutlich ruhiger als der erste Tag. Ich denke mal, die Feier und die netten Gespräche am Vorabend in der Moritz-Bastei haben Ihren Tribut gefordert. Zur Eröffnung der Keynote waren nur geschätzte 25% des Vortages anwesend. Dies änderte sich zum Glück im Laufe des Tages. Beim Mittagessen war es wieder ähnlich voll wie am Vortag. Eröffnet wurde der zweite Tag mit der Keynote von Michel Goossens. Er ist als neuer General Manager von Magento für den Aufbau der Geschäfte für EMEA (Europe, Middle East and Africa) zuständig. Als einziger Mitarbeiter wird er in Belgien beginnen, von dort aus sollen die Magento-Community und Partner betreut werden. Er bezeichnete den deutschen Markt als wichtigste Region in Europa. Ich bin gespannt, was sich hier ergeben wird. Eine Pressemitteilung hierzu findet Ihr hier. Da die Themen Payment und Magento-Theming für mich nichts neues waren, habe ich mir als zweiten Vortrag E-Commerce & Abmahnungen von Rolf Albrecht (Kanzlei volke2.0) angehört. Da ich selber 10 Jahre lang Onlineshops betrieben habe, kenne ich diese Thematik leider nur zu gut. Rolf Albrecht führte die fünf häufigsten Abmahngründe auf und zeigte den Zuschauern, wie man auf eine Abmahnung reagieren kann. Da man als Shopbetreiber auch immer ein wenig Jura-Background haben sollte, ist es nicht verkehrt, sich auch immer mit aktuellen Rechtssprechungen auf dem Laufenden zu halten. Das Highlight des Tages war definitiv der Vortrag High Performance Magento - The next Level von Martin Rothenberger (DailyDeal.de). Dieser gab bereits auf der Meet Magento #3 einen Vortrag zur Performance Optimierung. Zum Einstieg sprach er über DailyDeal und deren Entwicklung in den letzten 10 Monaten. Gestartet sind sie mit einem Server und 1,8 Requests pro Sekunde, heute verarbeiten sie bis zu 8 Bestellungen/Sekunde und Page Request/Monat im 9-stelligen Bereich. Martin Rothenberger ging dabei auf die verschiedenen Wege der Performance-Optimierung ein. Als wichtigste Erkenntnis kann man hier festhalten: cachen, cachen, cachen. Magento wird im Prinzip nur noch bei der direkten Verarbeitung der Bestellungen genutzt, der Großteil der Seitenabfragen wird vorher schon von Caches wie Varnish verarbeitet. Interessant ist aber auch, das DailyDeail durchaus überlegt, Magento den Rücken zu kehren und durch eine Eigenentwicklung zu ersetzen. Der Vortrag war wirklich sehr fundiert und ich kann nur empfehlen, sich das Video anzuschauen, wenn es später zur Verfügung gestellt wird. Seine Präsentation findet Ihr auf Prezi. Nach dem (sehr leckeren) Mittagessen hielt dann Andreas von Studnitz einen Vortrag über Multinationale Shops. Dabei erklärte er den Aufbau von Magento in Bezug auf Website, Store und Storeview und wie man diese entsprechend konfiguriert, damit z.B. verschiedenen Preise in verscheidenen Ländern angezeigt werden. Dabei bezog sich der Vortrag leider nur auf die Konfiguration von Magento, aus Entwicklersicht wurde nicht darauf eingegangen, wie z.B. Magento installiert werden, damit anhand internationaler Domains nur auf eine Installation verwiesen werden kann. Wie man soetwas technisch umsetzt, wird im Wiki auf Magento Commerce erläutert. Als letzten Vortrag des Tages habe ich mir dann Performance und Hochverfügbarkeit - (k)ein Widerspruch? von Marc Korthaus (SysEleven GmbH) angeschaut. Dieser Vortrag war von technischer Natur und zielte eher auf die Server-Administratoren. Aber auch hier zeigt sich, dass man mit relativ einfachen Mitteln die Performance seiner Magento-Installation hervorragend optimieren kann. Das Magento als moderne Software nicht bei einem Billig-Hoster mit 200 anderen Domains gehostet werden sollte, scheint sich ja immer noch nicht so ganz herumgesprochen zu haben. Hier die Präsentation bei Slideshare. Barcamps Zu den Barcamps kann ich leider wenig sagen. Scheinbar hätte ich doch mal öfters reinschauen sollen, denn wie ich bei den Webguys lesen konnte, wurden dort gerade für Entwickler sehr interessante Themen besprochen. Fazit des zweiten Tages Der zweite Tag begann etwas ruhiger, viele Teilnehmer wollten wohl noch ausschlafen. Die für mich interessanten Vorträge beschäftigen sich vor allem mit der Anbindung an externe Systeme und der Performance von Magento. Wie schon gestern geschrieben, rücken die einfachen, entwicklerbezogenen Themen für mich in den Hintergrund. Dafür ist es schön, alte Kontakte zu pflegen und neue Kontakte aufzubauen. So gesehen freue ich mich schon auf die Meet Magento #5. Weitere Rückblicke Webguys: Meet Magento 4.10 Tag 2 --- ## Meet Magento #4 - der erste Tag Datum: 2010-11-06 · Kategorien: Allgemein · URL: https://magelounge.de/2010/11/meet-magento-4-der-erste-tag/ In diesem Jahr fand zum vierten Mal die Meet Magento im Technologiezentrum "GaraGe" in Leipzig statt. Diese wurde von Netresearch und Rico Neitzel veranstaltet, unterstützt von zahlreichen Sponsoren. Hier findet Ihr meinen sehr persönlichen Rückblick aus der Sicht eines Magento Entwicklers. Pre Meet Magento Bereits am Vorabend gab es ein kleines Treffen im Spizz, bei dem sich einige Teilnehmer aus dem deutschen IRC-Channel #magento-de traffen. Hier konnte man dann endlich mal die Gesichter hinter Namen wie daim2k5, t-ob-i, therouv, timste und weitere (wieder)treffen. Auch Rico Neitzel, Roman Zenner und Vinai Kopp waren vertreten. Es ergaben sich bereits sehr interessante Gespräche, der Abend hat viel Spass bereitet. 1. Verstaltungstag Eröffnet wurde die Veranstaltung von Thomas Fleck und Rico Neitzel. Diese übergaben dann an Roy Rubin, dem CEO von Magento Inc. In seinem Beitrag führte er auf, warum Magento so erfolgreich ist und was richtig gemacht wurde. Hierbei bezog er sich insbesondere auf die Community, die zu diesem Erfolg beiträgt. Magento wurde bisher 2,5 Millionen mal heruntergeladen (OK, 200 Downloads sind bestimmt von mir), es gibt über 300.000 registrierte Community-Mitglieder sowie über 3.000 Magento-Extensions auf Magento Connect. Als ersten Vortrag der Meet Magento habe ich mir dann Flexible Schnittstellen durch Event-Observer von Rouven Rieker (ITABS) angeschaut. Er führte in den Event-Observer von Magento und dessen Vorteile ein und zeigte anhand von zwei Beispielen, wie dies in eigenen Projekten umgesetzt werden kann. Mir persönlich war das Thema bekannt, allerdings kann ich nur jedem Magento-Einsteiger empfehlen, sich mit diesem Thema zu beschäftigen. Der Einsatz von Event-Observern sollte immer einem Überschreiben des Moduls durch vorgezogen werden. Die Vorteile überwiegen eindeutig. Die Präsentation selbst findet Ihr auf Slideshare, die Liste der Event/Observer sowie die Beispiel-Quelltexte gibt es hier. Als zweiten Entwicklerbeitrag zeigte mein Kollege Sebastian Heuer (Visions new media GmbH) mit Beyond "I Like" - Facebook Graph API in Magento nutzen, wie man sich die Facebook Graph API zu nutzen machen kann. Er gab einen Überblick über die Dokumation seitens Facebook, die bereits fertig nutzbaren Social Plugins sowie die Nutzung der Graph API. In seinem Beispielcode zeigte er, wie die API in Magento eingebunden werden kann. Dadurch ist dann z.B. ein direkter Login per Facebook möglich. Die Links zu seinen Folien und zum Quelltext findet Ihr in seinem Blog. Video auf YouTube ansehen (öffnet youtube.com) Nach dem hervorragenden Mittagessen fanden die Barcamps statt. Als erstes führte Sebastian Heuer seinen Facebook-Vortrag weiter, da sein eigentlicher Vortrag doch sehr ausführlich gehalten wurde und keine Zeit mehr für eine Frage/Antwort-Runde bliebt. Danach folgte ein Beitrag von Damian Luzczymak über die Suche mit Magento + Solr. Da Damian bereits auf der Meet Magento #3 und auf dem Magento-Stammtisch in Bielefeld etwas darüber erzählt hatte, habe ich mich dann an dieser Stelle bei den Barcamps ausgeklinkt, da auch die weiteren Themen nicht so sehr interessant für mich waren. Der nächste Beitrag, den ich mir angeschaut habe, wurde von Roman Zenner über das Thema Mobile Commerce gehalten. Roman relativierte die doch sehr optimistischen Prognosen und zeigte anhand von einigen Beispielen, wie Magento mit seiner mobilen iOS-Applikation an das Thema herangegangen ist. Es fällt dabei sehr stark auf, dass sich die Anwendungen optisch alle sehr ähneln und das Potential der Geräte nicht wirklich ausnutzt. Ich selber beschäftige mich bereits seit 1997 mit mobilen Geräten und höre bereits seit dem Jahr 2000 euphorische Beiträge zum Theme mCommerce/Mobile Commerce. Getan hat sich außer dem Verkauf von Klingelton-Abos in diesem Bereich in den letzten 10 Jahren allerdings nur sehr wenig. Deshalb gehöre ich an dieser Stelle zu den Skeptiker und denke, das normale Shops in Deutschland vor 2012 nur sehr wenig vom Mobile Commerce merken werden. Die Präsentation findet Ihr bei Slideshare. Video auf YouTube ansehen (öffnet youtube.com) Danach stellte Lee Saferite in seinem Vortrag Magento Security das Thema Sicherheit in den Mittelpunkt. Dies war der erste Vortrag von Lee vor solch einer Kulisse, er war sehr nervös, hat das ganze jedoch sehr gut gemeistert, wie ich finde. Wie Lee auf der Aftershowparty erzählte, scheint der Livestream genau in diesem Augenblick ausgefallen zu sein, so daß seine Frau nicht zuschauen konnte. Hoffentlich wird es zu einem späteren Zeitpunkt ein Video geben, der Vortrag ist sehr empfehlenswert. Lee zeigte auf, wie Magento mit Updates und der Sicherheitsthematik umgeht und sensibilisierte vor allem die Zuschauer, sich auch selbst dieses Thema bewusst zu werden. Einige der Punkte in Lee´s Vortrag: Wem gebe ich Zugangsdaten für meinen Server? Wie kontrolliere ich, was derjenige auf diesem Server gemacht hat? Wie kontrolliere ich Änderungen, die von dritten an Quelltext und Server vorgenommen wurde? Sollte man wirklich blind Extensions von Magento Connect installieren, ohne zu wissen, was im Quelltext steht? Wie kontrolliert man die Qualität von Magento Extensions? Woher weiss man, was quelltextverschlüsselte Extensions (z.B. mit Ioncube) mit den Daten im Shop anstellen? Zum Abschluß präsentierte Lee Saferite noch einen Bug, der bis zur Version 1.3 im Paypal-Modul besteht. Hierbei kann man den Status einer Bestellung ändern, sobald man die OrderId und die Gesamtsumme der Bestellung kennt. Auch wenn man das Paypal-Modul nicht nutzt, kann der Status einer Bestellung per Vorkasse oder ähnlich auf z.B. "bezahlt" geändert werden. Da große Shops teilweise sehr automatisiert arbeiten, kann das im weiteren Workflow z.B. die Weitergabe der Bestellung an den Fullfilment-Anbieter auslösen. Wenn der Fehler dann in der Buchhaltung auffällt, ist es meist längst zu spät. Magento hat diesen Bug trotz Kenntnis nie behoben, so das Lee ein Bugfix auf Github bereitgestellt hat. In der Version 1.4 wurde das Paypal-Modul neu geschrieben, so daß dieser Bug hier nicht mehr auftritt. Danach habe ich mir den eher businessorientieren Vortrag Affiliate-Marketing von Dr. Erwin Lammenett (Team in Medias) angeschaut, der die Vor- und Nachteile von eigenen Affiliate-Programmen im Vergleich zu Affiliate-Partnern wie affili.net oder Zanox darstellte. Team in Medias hat hierzu ein eigenes Modul entwickelt, das es einem Shopbetreiber sehr einfach ermöglicht, ein eigenes Affiliate-Programm aufzusetzen. Dieses ist auf jeden Fall eine interessante Möglichkeit, mehr Besucher in seinen Onlineshop zu leiten, da dieses Modul im Gegensatz zu den Affiliate-Parnterprogrammen auch aus SEO-Sicht Backlinks auf den eigenen Shop bringt. Als letzten Vortrag des Tages Mavento - Magento Entwicklung und Deployment mit Maven/Ant zeigte Erik Dannenberg (Bloopark Systems) auf, wie sie in ihrem Unternehmen Maven und Ant für Continuous Integration einsetzen. Dabei wurde anhand eines Beispiel-Projektes aufgeführt, wie die Projektstruktur und die lokale Testumgebung eingerichtet wurde. Aber auch Themen wie Unit Tests, Dokumentation und automatisierte Deployments werden durch den Einsatz von Maven/Ant vereinfacht. Als Keynote am Ende des Tages zeigte Björn Schotte (mayflower) Die disruptiven Kraft von Open Source im E-Commerce auf. Hierbei zeigte er auf, welche Kräfte durch Open Source freigesetzt werden und wie gerade Shopbetreiber hiervon profitieren können. Open Source hat nicht nur Systeme wie Linux, MySQL und PHP hervorgebracht, sondern auch bei den Content Management-Systemen den Markt aufgebrochen und Lösungen wie TYPO3, Drupal, Joomla und Wordpress hervorgebracht. Und auch im Bereich E-Commerce kommt nun durch Lösungen wie Magento und oxid eSales Bewegung in dieses Marktsegment. Zum Abschluß des Tages ging es zur Aftershowparty in die Moritzbastei. Leider hat es in der eigentlichen Location am Vortag gebrannt, so daß auf einen anderen Teil des Gebäudes ausgewichen wurde. Interessanterweise war die Überraschung des Abend eine Feuerspuckerin, die Ihren Auftritt jedoch im Innenhof durchführte. Das Essen war wieder hervorragend, die Getränke wurden diesmal freundlicherweise von einem Sponsor gestiftet. Im Laufe des Abends ergaben sich sehr viele interessante Gespräche. Man traff alte Bekannte aus der Szene wieder und konnte viele neue Kontakte knüpfen. Fazit des ersten Tages Die Meet Magento #4 konnte wieder einen neuen Besucherrekord aufweisen. Die Themen des Tages waren sehr interessant und man konnte die Pausen zum Netzwerken nutzen und viele interessante Gespräche führen. Die allgemeinen Entwickler-Themen sind für mich persönlich nicht mehr so spannend, denn mittlerweile gibt es doch ausreichend Quellen und Literatur, um einem den Einstieg in Magento zu ermöglichen. Meine Highlights dieses Tages waren für mich der Security-Vortrag von Lee Saferite und der Facebook-Vortrag von Sebastian Heuer. Und wie war der zweite Tag? Weitere Rückblicke: webguys.de openstream.ch Roman Zenner projecter.de exitingcommerce.de handelskraft.de --- ## Produkte schneller speichern mit addAttributeUpdate() Datum: 2010-10-22 · Kategorien: Codeschnipsel · URL: https://magelounge.de/2010/10/produkte-schneller-speichern-mit-addattributeupdate/ Das Speichern von Produkten in Magento ist immer eine zeitkritische Herausforderung. Gerade in Importskripten und bei Massenupdates geht hier wertvolle Zeit verloren. Hier findet Ihr einen Ansatz, mit dem man sehr schnell mit den Magento-eigenen Methoden Daten speichern kann. Erstmal der übliche Weg: $sku = '123'; $storeId = 0; $id = $product->getIdBySku($sku); $product->setStoreId($storeId); $product->load($id); $product->setStatus(Mage_Catalog_Model_Product_Status::STATUS_DISABLED); $product->save(); Hierbei wird jedoch durch $product->save() ein großer Overhead mitgeschleppt. Wenn man nur sehr wenige Attribute ändern möchte, geht dies deutlich schneller: $sku = '123'; $storeId = 0; $id = $product->getIdBySku($sku); $product->load($id); $product->addAttributeUpdate('status',Mage_Catalog_Model_Product_Status::STATUS_DISABLED,$storeId); Eigenen Benchmarks auf meiner lokalen Entwicklungsumgebung (Zend Server CE auf Macbook Pro, Cache deaktiviert, 3 Storeviews) haben gezeigt, dass einfache Änderungen in dieser Art ca. 50x schneller gespeichert werden. 100 Änderungen werden jetzt nicht mehr in 200 Sekunden gespeichert, sondern in 3-4 Sekunden. --- ## Links der Woche KW 42 Datum: 2010-10-21 · Kategorien: Links der Woche · URL: https://magelounge.de/2010/10/links-der-woche-kw-42/ Die Linktipps in dieser Woche falllen etwas kürzer aus. Inchoo zeigt, wie man individuelle Schriftarten verwendet. Es ist ein Update für das Market Ready Germany-Modul erschienen und Kai Köpke zeigt, wie man genau aus diesem die Gewichts- und Versandkostenlinks entfernt. Custom typography in Magento – @font-face In diesem Artikel erklärt Inchoo, wie man individuelle Schriftarten in seinem Magento-Shop nutzt, um diesen ein wenig von der Menge abzuheben. Market Ready Germany update Eine der in Deutschland meistgenutzten Erweiterungen ist das Market Ready Germany Modul von symmetrics und Trusted Shops. Es hat ein Update auf die Version 1.4.1.1 erfahren, in der viele Fehler beseitigt wurden. Market Ready Germany, Gewicht und Versandkostenlink entfernen Nicht immer benötigt man alle Features des Market Ready Germany Moduls. Kai Köpke zeigt in seinem Blog, wie man z.B. die Nutzung des Gewichts und die Verlinkung zu den entsprechenden Versankosten wieder abschalten kann. --- ## Codeschipsel: Alle Adressen eines Kunden ermitteln Datum: 2010-10-15 · Kategorien: Codeschnipsel · URL: https://magelounge.de/2010/10/codeschipsel-alle-adressen-eines-kunden-ermitteln/ Anbei ein kurzes Codeschnipsel, mit dem alle Adressen eines bestimmten Kunden ermittelt werden: $websiteId = Mage::app()->getWebsite()->getId(); $store = Mage::app()->getStore(); $customer = Mage::getModel("customer/customer"); /* @var $customer Mage_Customer_Model_Customer */ $customer->website_id = $websiteId; $customer->setStore($store); $customer->loadByEmail("hans@mustermann.de"); var_dump($customer); $addresses = Mage::getModel("Customer/Entity_Address_Collection"); $addresses->setCustomerFilter($customer); $addresses->load(); foreach($addresses as $address): $address->load($address->entity_id); /* @var $address Mage_Customer_Model_Address */ var_dump($address); endforeach; --- ## Magento-Links der Woche KW41 Datum: 2010-10-14 · Kategorien: Links der Woche · URL: https://magelounge.de/2010/10/magento-links-der-woche-kw41/ Als Magento-Entwickler verfolgt man selbstverständlich Blogs, Foren und Twitter Hier werden wir jetzt jede Woche einen kleinen Überblick an interessanten Links weitergeben. Magento – Neuen Orderstatus anlegen Hier wird kurz erklärt, wie man einen neuen Orderstatus in Magento anlegt. Allerdings werden in dem Beispiel Core-Dateien überschrieben. Hier sollte man das ganze doch in ein eigenes Modul auslagern, damit man beim nächsten Magento-Update die Änderungen nicht nachpflegen muss. Lesson 4: Official Documentation Guido Jansen gibt einen Überblick über die Quellen, die ein Magento-Entwickler zur Informationsbeschaffung anzapfen kann: Offizielle Dokumentation, Bücher, Screencasts und Webinare 3262 Magento Sites in the Alexa Top 1 Million Tom Robertshaw hat 1 Million-Seiten aus den Alexa Top 1 Million verglichen und dabei 3262 Magento-Shops ermittelt. Interessant sind hier die Statistiken im Vergleich von Magento zu osCommerce sowie die Länderverteilung. Wir sind schon jetzt auf die nächste Version gespannt, in der erste Tendenzen erkennbar sein könnten. Magento Extension Clashes – Winners and Loosers Eine interessante Analyse, wann Magento in welcher Reihenfolge Module lädt und wann welches Modul gewinnt. Besonders die Kommentare sind beachtenswert, denn dort erklärt Vinai Kopp, wie mittels in der XML andere Module zwangsweise zuerst geladen werden. Definitive Guide On Magento Registry Ein Überblick über die Magento Registry, wie Daten gespeichert und wieder abgerufen werden. Ten Tips for Keeping your Magento Store Secure Magento ist von Haus aus bereits ein sehr sicheres System. Hier findet man eine Liste mit 10 Tipps, die dafür sorgen, dass der eigene Magento-Shop auch weiterhin sicher bleibt. Top-Links von Magento anpassen Das flexible Layout-System von Magento lässt machen Einsteiger verzeifeln oder aber er ändert die Daten in den Core-Dateien, um überhaupt ein Ergebnis zu erzielen. Matthias Zeis erklärt hier sehr ausführlich, wie man als Entwickler vorgehen kann. Magento Checkout ohne Javascript und Ajax Der OnePage-Checkout von Magento hat schon viele Entwickler zur Verzweiflung gebracht. Bei Webguys findet man eine Lösung, die auf Javascript und Ajax verzichtet. Der Code wird direkt als Download zur Verfügung gestellt. --- ## Magento-Backups erstellen und schneller importieren Datum: 2010-10-07 · Kategorien: Administration · URL: https://magelounge.de/2010/10/magento-backups-erstellen-und-schneller-importieren/ Datensicherung und -wiederherstellung sind ein wichtiges Thema für jeden Magento-Entwickler und Shopbetreiber. Allerdings gibt es auch hier einige Fallstricke, die man durchaus beachten sollte, damit man im Falle des Falles schnell reagieren kann. Sei es, um als Shopbetreiber ein Backup zurückzuspielen, nachdem man aus Versehen 100 Produkte gelöscht hat oder als Entwickler, um die Datenbank zu Entwicklungszwecken auf seinen Development-Server zu kopieren. Ein Datenbank-Backup kann je nach Größe des Shops schonmal mehrere Gigabyte groß sein. Aktuelles Beispiel: 12 GB Dump mit ca. 100.000.000 Datensätzen, davon 80.000.000 in log_url und log_url_info, da im Shop die Log-Dateien nicht per Cron gepflegt wurden. Während der Dump per Console und mysqldump noch sehr schnell durchgeführt wird, dauert der Import solcher Dateien doch recht lange. MySQL ist als Datenbank sehr schnell im Lesen von Daten, beim Schreiben dauert das naturgemäß deutlich länger. Und gerade hier kann man ansetzen, indem man den generierten Dump entsprechend erstellt. Wichtig sind für MySQL folgende Befehle: SET @OLD_AUTOCOMMIT=@@AUTOCOMMMIT, AUTOCOMMIT=0; SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT; SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS; SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION; SET NAMES utf8; SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO'; SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0; Durch das Deaktivieren der Überprüfung auf Unique-Keys und Foreign Keys kann der Import dann um einiges schneller durchgeführt werden. Da der Autocommit deaktiviert wurde, muss am Ende der SQL-Befehle ein manueller Commit eingefügt werden. COMMIT; Hier das ganze als Shell-Befehl für die Bash #!/bin/bash echo "SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT; SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS; SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION; SET NAMES utf8; SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO'; SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0; SET foreign_key_checks=0;" > magento_backup.sql mysqldump -umeinbenutzer -pmeinpasswort --single-transaction meinedatenbank >> magento_backup.sql echo "COMMIT;" >> magento_backup.sql echo "SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT; SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS; SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION; SET SQL_NOTES=@OLD_SQL_NOTES;" >> magento_backup.sql Damit haben wir dann ein Backup erstellt, das sofort die oberen SET-Befehle enthält, den kompletten Dump sowie den abschließenden Commit-Befehl. Danach werden die Ausgangswerte wieder hergestellt. Der Import des Backups kann dann wie folgt über die Shell vorgenommen werden: mysql -umeinbenutzer -pmeinpasswort meinedatenbankisLoggedIn()) { $customer = $customer_session->getCustomer(); } oder in der Kurzform mit dem Trinitäts-Operator: // @see Mage_Customer_Model_Customer $customer = Mage::getSingleton('customer/session')->isLoggedIn() ? Mage::getSingleton('customer/session')->getCustomer() : null; --- ## Codeschnipsel: Liste aller Produkt-Attribute und deren Optionen Datum: 2010-10-05 · Kategorien: Codeschnipsel · URL: https://magelounge.de/2010/10/codeschnipsel-liste-aller-produkt-attribute-und-deren-optionen/ Mit diesem Code erhält man in Magento eine Liste aller Attribute und deren Optionen, falls diese einem Attribut zugeordnet wurden. require_once $_SERVER['DOCUMENT_ROOT'] . '/app/Mage.php'; umask(0); Mage::app(); $product = Mage::getModel('catalog/product'); $collection = Mage::getResourceModel('eav/entity_attribute_collection') ->setEntityTypeFilter($product->getResource()->getTypeId()) ->addVisibleFilter(); echo "
\n";

foreach ($collection as $attribute) {
    echo $attribute['attribute_code'] . "\n";

    $collection = Mage::getResourceModel('eav/entity_attribute_collection')
                    ->setEntityTypeFilter($product->getResource()->getTypeId())
                    ->addFieldToFilter('attribute_code', $attribute['attribute_code']);

    $_attribute = $collection->getFirstItem()->setEntity($product->getResource());
    $attribute_options = $_attribute->getSource()->getAllOptions(false);

    if ($attribute_options) {
        foreach ($attribute_options as $option) {
            if ($option['label']) {
                echo "\t" . $option['label'] . "\n";
            }
        }
    }
}
echo "
\n"; --- ## Codeschnipsel: Zwischensumme und Versandkosten ermitteln Datum: 2010-10-05 · Kategorien: Codeschnipsel · URL: https://magelounge.de/2010/10/codeschnipsel-zwischensumme-und-versandkosten-ermitteln/ Mit diesem Code erhält man die Zwischensumme und die Versandkosten einer Bestellung: $order = Mage::registry('current_order'); $zwischensumme = $order->getSubtotal(); $versandkosten = $order->getBaseShippingAmount(); --- ## Codeschnipsel: Preis von einer Währung zur anderen konvertieren Datum: 2010-10-05 · Kategorien: Codeschnipsel · URL: https://magelounge.de/2010/10/codeschnipsel-preis-von-einer-wahrung-zur-anderen-konvertieren/ Hiermit kann ein Preis von einer Währung in eine andere konvertiert werden. Hierfür müssen die Währungen eingerichtet und heruntergeladen worden sein. $fromCurrency = 'EUR'; // Währung, von der konvertiert werden soll $toCurrency = 'USD'; // Zielwährung, zu der konvertiert werden soll $convertedFinalPrice = round(Mage::helper('directory')->currencyConvert($tax->getPrice($product, $product->getFinalPrice(), false), $fromCurrency, $toCurrency), 2); --- ## 4. Ausgabe des eStrategy-Magzin erschienen Datum: 2010-10-01 · Kategorien: Allgemein · URL: https://magelounge.de/2010/10/4-ausgabe-des-estrategy-magzin-erschienen/ Seit heute, dem 1.10.2010 steht eine neue Ausgabe des eStrategy-Magazins zum kostenlosen Download zur Verfügung. Diese Ausgabe umfasst mal wieder über 100 Seiten an interessanten Informationen rund um das Thema eCommerce. Hier ein Überblick der einzelnen Themen: eCommerce • Meet Magento #4 • Die besten Magento Extensions - Teil 4 • Wie Social Media das Image von Online-Händlern beeinflusst • Mobile Commerce - Status Quo & Ausblick • Mobile Internet-Nutzer hautnah - Wer sie sind und was sie wollen • Interview mit Jochen Krisch: Regeln und Trends im eCommerce • Bonusprogramme für Shopbetreiber • Konsumenten im eCommerce ganzheitlich erreichen • Die Produktsuche in Online-Shops Recht • Aktuelle Urteile und Gesetzesänderungen rund um den eCommerce • AGB im Onlineshop - Fallstricke und Lösungsansätze • Open Source Software - Das sollten sie aus rechtlicher Sicht wissen! Online-Marketing • Schnelleinstieg ins Affiliate-Marketing • Mit Fotos den Online-Umsatz steigern • Gütesiegel für Online-Shops - Ein Marktüberblick • 10 Fehler, die den Online Handel gefährden können Web • Ausflugsziel Internet: Die virtuelle Reise des Users • Das Web verändert die Welt - Visionären Unternehmen gehört die Zukunft Link: http://www.estrategy-magazin.de/ --- ## 37 Punkte-Checkliste für den Magento Golive Datum: 2010-09-27 · Kategorien: Allgemein, Voraussetzungen · URL: https://magelounge.de/2010/09/37-punkte-checkliste-fuer-den-magento-golive/ Diese Liste ist eine freie Übersetzung von 37 Point Magento Pre-Launch Checklist von Tom Robertshaw, der uns freundlicherweise die Übersetzung ermöglicht hat. Hierbei setzten wir bei der Nennung der Menüeinträge die Verwendung des deutschen Sprachpaketes voraus. Eine Onlineshop online zu stellen ist für jeden Softwareentwickler stressvoll. Der Kunde macht Druck, so schnell wie möglich online zu gehen. Dieser Druck kann dazu führen, dass man schon mal einen wichtigen Punkt zum Go-Live vergisst. Hier finden Sie eine Liste, die man berücksichtigen sollte, bevor man einen Magento-Shop vom Entwicklungs- in den Produktionsmodus überführt. 1. Base URLs 2. Favicon 3. HTML Head 4. Platzhalter-Bilder 5. Kontakt-Informationen 6. Transaktions-Emails 7. Klartext-Passwörter in Emails sind böse 8. Admin-URL ändern 9. Logo für Rechnungen und Packlisten 10. Steuer-Einstellungen 11. Länder-Herkunft bei Versandkosten 12. 404-Seite 13. Testdaten löschen 14. Produktbestand 15. Javascript auf eine Datei reduzieren 16. CSS verkleinern 17. CSS auf eine Datei reduzieren 18. maintenance.flag (Wartungsmodus) 19. Design der Fehlerseite 20. Index-Verwaltung 21. Caching 22. System Compilation 23. Google Analytics 24. Google Base 25. Google Sitemap 26. Newsletter-Anmeldungen 27. Versand-Methoden 28. Schnittstellen zu Zahlungsanbietern 29. SSL-Zertifikat 30. Modul-Lizenzen 31. PHP-Konfiguration 32. Cronjobs einschalten 33. Log-Dateien leeren 34. Unnötige Module abschalten 35. Strategie für Datenbanksicherung und -wiederherstellung 36. "Das Web sollte schnell sein" 37. Seien Sie gewappnet 1. Base URLs Die Base URLs werden in der Datenbank in der Tabelle core_config_data in den Feldern web/unsecure/base_url sowie web/secure/base_url gespeichert, können aber auch über das Admin-Interface verwaltet werden, wenn man Zugriff darauf hat: System → Konfiguration → Allgemein → Web → Ungesichert (bzw. Sicher). Wenn man die Seite auf eine andere Domain oder ähnlich verschiebt, so müssen diese aktualisiert werden, ansonsten würde alle Links zurück zum Entwicklungssystem verlinken. P.S.: nicht den abschließenden Schrägstrich vergessen. 2. Favicon Magento ist manchmal ein hartes Stück Arbeit. Allerdings sollten Sie trotzdem nicht vergessen, ein passendes Favicion zu erstellen. 3. HTML Kopfzeilen Lassen Sie nicht die Original-Einstellungen im HTML-Kopf. Sie sollten den Titel, die Meta Discription wie auch die Meta Keywords anpassen. Diese sind wichtig für die Suchmaschinen-Optimierung (SEO). System → Konfiguration → Allgemein → Gestaltung → HTML-Kopf. 4. Platzhalter-Bilder Das sind die Bilder, die angezeigt werden, wenn das Produkt kein eigenes Bild hat. Gestalten Sie Ihr eigenes Set an Bilder und laden Sie diese nach catalog/products/placeholder/image.jpg, catalog/products/placeholder/small_image.jpg und catalog/products/placeholder/thumbnail.jpg. Alternativ können diese auch im Admin-Bereich hochgeladen werden: System → Konfiguration → Allgemein → Gestaltung → Produktbild-Wasserzeichen. 5. Kontakt-Informationen Vergewissern Sie sich, dass alle Kontakt-Informationen und Email-Adressen richtig gesetzt sind. Sie finden diese in System → Konfiguration → Allgemein → Store Email Addresseb. 6. Transaktions-Emails Transaktions-Emails verwenden statt dem Standard-Logo ein separates Logo. Stellen Sie sicher, das das Bild, das Sie verwenden möchten, in das Theme Verzeichnis als logo_email.gif gespeichert wird. Die meisten Emails werden aufgrund der bereits eingerichteten Konfiguration sortiert. Es gibt jedoch eine Reihe von Vorlagen, die auch noch in der Version 1.4.1.1 hart codierte Werte verwenden, so das es notwendig ist, diese zu bearbeiten und die Änderungen manuell durchzuführen. Um Zeit zu sparen, hier die E-Mail-Vorlagen, die betroffen sind: Newsletter subscription confirmation – “Demo Store” New account confirmation key – “Demo Store” New password – “Demo Store” Share Wishlist – “Demo Store” New Order – “PST” 7. Klartext-Passwörter in Emails sind böse Es bereitet wirklich Bauchschmerzen, wenn Websiten Klartext-Passwörter in E-Mails versenden. Leider gehört auch Magento dazu, wenn man sich für ein Konto registriert. Eine Empfehlung ist es, die Transaction-Email für die Kontoregistrierung zu bearbeiten und das Passwort durch einen Platzhalter wie ********** zu ersetzen. 8. Admin-URL ändern Aus Sicherheitsgründen sollte die URL zum Admin-Backend angepasst werden. Dieses geschieht unter System → Konfiguration → Erweitert → Admin → Admin Base URL. 9. Logo für Rechnungen und Packlisten Hier wird das Logo hochgeladen, dass für Rechnungen und Packlisten verwendet wird. Alternativ kann die Datei logo_email.gif in den images-Ordner des Skin-Verzeichnisses hochgeladen werden. Hier gibt es auch einige weitere Einstellungen, die man in diesem Zusammenhang beachten sollte. 10. Steuer-Einstellungen Die Steuer-Einstellungen sollten bereits eingerichtet sein. Es ist jedoch nicht verkehrt, diese noch einmal zu kontrollieren, damit man nicht etwas übersehen hat. Diese finden sich unter System → Configuration → Sales → Tax and also Sales → Tax. 11. Länder-Herkunft bei Versandkosten Im direkten Bezug zu den Steuer-Einstellungen sollte die Länder-Herkunft korrekt gesetzt werden, damit die Steuern richtig berechnet werden können. 12. 404-Seite Dieser Seite wird bei der Entwicklung häufig wenig Beachtung geschenkt. Denken Sie daran, diese zu testen. Diese Seite sollte entsprechend angepasst werden und nicht den Standard-Block anzeigen. Bitte beachten sie auch, das die Standard-404-Seite, die unter CMS → Pages zu finden ist, einen Link zum "Magento Store" enthält. 13. Testdaten löschen Entfernen Sie alle Produkte, Bestellungen und Kunden, die Sie während der Entwicklung angelegt haben. 14. Produktbestand Wenn Sie anfangs Produkte importieren und anlegen, dann werden Sie normalerweise nicht auf den Lagerbestand achten. Dies ist bei der Magento-Entwicklung ein unnötiger Aufwand. Bevor der Shop jedoch onine geht, klären Sie mit dem Kunden, wie mit dem Bestand umgegangen werden soll, damit der Shop den korrekten Bestand anzeigt. 15. JavaScript auf eine Datei reduzieren Eine wesentliche Maßnahme, um Ladezeiten zu reduzieren, ist die Begrenzung der Anzahl an HTTP-Requests, die bei jedem Seitenaufruf durchgeführt werden. Magento-Shops laden häufig viele JavaScript-Dateien, Sie können diese jedoch limitieren, wenn Sie diese auf eine Datei reduzieren: System → Konfiguration → Developer → Einstellungen JavaScript. Sollten Sie Inline-JavaScript bei der Entwicklung genutzt haben, sollten Sie diesen in eine eigene Datei auslagern, um jede unnötige Verlangsamung der Ladezeiten zu vermeiden. 16. CSS verkleinern Benutzen Sie einen CSS-Kompressor. Speichern Sie zwei Versionen der CSS-Datei, eine in lesbarer Form, z.B. styles.css.orig sowie eine verkleinerte Version als styles.css. 17. CSS auf eine Datei reduzieren Hierbei handelt es sich um die gleiche Idee wie bei der Reduzierung der Javascript-Dateien. Seien Sie jedoch vorsichtig, es handelt sich hierbei noch um ein experimentelles Feature. Man sollte dies vorher auf einem Staging-Server ausprobieren, um festzustellen, ob es irgendwelche Seiteneffekte gibt. Sie finden diese Einstellung unter System → Configuration → Developer → CSS Settings. Eine sinnvolle Erweiterung auf Magento Connect nennt sich Fooman Speedster. Diese kombiniert, reduziert und komprimiert alle JavaScript und CSS-Dateien. 18. maintenance.flag (Wartungsmodus) Erstellen Sie die Datei maintenance.flag im Root-Verzeichnis Ihrer Magento-Installation und Ihren Kunden wird angezeigt, dass Ihre Website sich im Wartungsmodus befindet (Error 503: Service temporarily unavailable) . Das ist besonders dann sinnvoll, wenn Sie einen langsamen Übertragungsmodus wie FTP verwenden. Laden Sie zuerst diese Datei hoch, dann den Rest. Somit 19. Design der Fehlerseiten Wenn Ihr Magento-Shop einen Fehler ausgibt oder sich im Wartungsmodus befindet (maintenance.flag), wird ein anderes Theme benutzt, um die Fehlermeldung auszugeben. Wird dieses nicht angepasst, so wird Ihrem Kunden das Magento-Logo und das Standard-Theme angezeigt. Um diese Seite dem eigenen Layout anzupassen, müssen Sie die Dateien im Verzeichns errors bearbeiten. Sicherlich möchten Sie nicht, dass die Fehlerseite den Stacktrace ausgibt. Um dies abzuschalten, öffnen Sie errors/local.xml (falls diese nicht vorhanden ist, kopieren Sie die Beispieldatei local.xml.sample nach local.xml) , dann ändern Sie die action von print zu "email ändern. Sie können hier auch eine Email-Adresse angeben, an die der Fehlerbericht gesendet werden soll. 20. Index-Verwaltung Vergewissern Sie sich, dass Sie den Katalog-Index neu aufgebaut haben, nachdem Sie Änderungen am Katalog vorgenommen haben. 21. Caching Caching, bei der Installation normalweise eingeschaltet, wird bei der Entwicklung eines Magento-Shops als erstes ausgeschaltet. Denken Sie daran, diesen wieder einzuschalten und zu aktualisieren, wenn der Shop online geht. 22. System Compilation Ein weiterer Weg, um die Ladezeit Ihrer Website Magento zu verringern, ist diese zu kompilieren. Die Seiten-Ladezeiten sollen sich um bis zu 50% steigern. Diese Möglichkeit sollten Sie auf jeden Fall nutzen. Sie finden die Einstellungen hierfür unter System → Werkzeuge → Compilation. 23. Google Analytics Ihre Kunde möchte gerne sehen, wie sich sein Shop vom ersten Tag an entwickelt. Magento ist hierfür bereits vorbereitet. Richten Sie einen Google Analytics-Konto ein und tragen Sie die Daten unter System → Configuration → Sales → Google API → Google Analytics ein. 24. Google Base Ein weiterer wichtiger Google-Dienst, der bereits in Magento integriert ist. Hier gibt es einige Schritte, um diesen zu nutzen. Inchoo hat einen interessanten Artikel hierzu verfasst. 25. Google Sitemap Die Einrichtung von Google Sitemap ist kinderleicht. Dieses kann einfach mit "Sitemap erstellen" unter Catalog → Google Sitemap eingerichtet werden. Wenn Sie die Google Webmaster Tools nutzen, können Sie dies Google mitteilen. Außerdem gibt es weitere Einstellungen, um z.B. die Sitemap automatisch generieren zu lassen. Diese finden Sie unter System → Configuration → Catalog → Google Sitemap. 26. Newsletter-Anmeldungen Testen Sie, ob sich Kunden für den Newsletter an- und abmelden können. Weiter sollten Sie darauf achten, dass der Newsletter korrekt versendet werden kann. Diesen Prozess möchten Sie nicht wirklich testen, wenn Sie echte Kundendaten im System haben. 27. Versandkosten Wenn Sie feste Versandkosten haben, prüfen Sie, ob diese korrekt eingerichtet sind. Sollten die Versandkosten nach Gewicht berechnet werden, so sollten Sie prüfen, ob alle Produkte auch ein entsprechendes Gewicht hinterlegt haben. 28. Schnittstellen zu Zahlungsanbietern Prüfen Sie doppelt und dreifach, ob Ihre Schnittstelle zum Zahlungsanbieter problemlos vom Test- zum Livebetrieb umgestellt werden kann. 29. SSL-Zertifikat Das SSL-Zertifikat wird leider häufig vernachlässigt. Zum einen dient dies dem Kundenvertrauen, zum anderen verweigern viele Zahlungsanbieter den Zugang zum Livesystem, wenn kein SSL-Zertifikat eingesetzt wird. 30. Modul-Lizenzen Einige Module von Magento Connect erfordern einen Lizenzschlüsseln. Stellen Sie sicher, das dieser Schlüssel auch im Livebetrieb noch gültig, falls der Shop auf eine neue Domain verschoben wurde. Evtl. müssen Sie einen neuen Lizenzschlüssel besorgen. 31. PHP-Konfiguration Stellen Sie sicher, dass Sie ausreichende Werte für memory_limit und max_execution_time gesetzt haben. Damit können auch die umfangreicheren Operationen ausgeführt werden. Falls Sie mit den Einstellungen zu restriktiv umgehen, kann z.B, ein umfangreicher Produktimport/-export fehlschlagen. 32. Cronjobs einschalten Einige Aufgaben müssen in Magento regelmäßg aufgerufen werden, damit diese aktuell gehalten werden können, z.B. Google Sitemap.xml oder die Bereinigung der Log-Daten. Diese können Sie unter System → Configuration → Advanced → System bearbeitet werden. Außerdem sollten Sie die Datei Cron.php im Rootverzeichnis Ihrer Magento-Installation anpassen. Weitere Infos finden Sie auf der Magento Wiki-Seite. 33. Log-Dateien leeren Magento speichert die Log-Daten in der Datenbank. Diese kann die Datenbank deshalb sehr aufblähen. Im Admin-Bereich gibt es eine Optionen zur Pflege der Log-Dateien unter System → Konfiguration → Erweitert → System → Protokoll bereinigen. Diese ist standardmäßig ausgeschaltet und muss manuell eingeschaltet werden. Eine tägliche Bereinigung wird empfohlen. Einige Artikel empfehlen auch die Optimierung der Log-Tabellen auf Mysql-Ebene, damit diese Tabelle klein gehalten wird. Einstellungen im Backend zur Verwaltung der Log-Dateien 34. Unnötige Module abschalten Sicherlich wird Ihr Shop nicht alle Module nutzen, die auch installiert wurden. Sie können diese Module unter System → Configuration → Advanced abschalten. Zum Beispiel könnten Sie die Module Mage_Wishlist (Wunschzettel), Mage_Newsletter (Newsletter), Mage_Poll (Umfragen), Mage_Rating (Produktbewertungen) und Mage_Tag (Produkteschlagworte) abschalten, wenn Sie diese Funktionen nicht einsetzen. Magento Module deaktivieren 35. Strategie für Datenbanksicherung und -wiederherstellung Eine allgemeine Strategie kann hier nicht empfohlen werden. Allerdings sollten Datenbanksicherungen regelmäßig durchgeführt werden. Außerdem sollten Sie wissen, was zu tun ist, falls ein Backup wieder hergestellt werden muss. Bei Magento Connect gibt es das Modul Automatic Database Backup, dass diese Aufgabe erledigen kann. 36. "Das Web sollte schnell sein" Testen Sie den Shop auf Geschwindigkeit. Es gibt viele verschiedene Tools, die Sie hierfür benutzen können. Hier kann z.B. die YSlow-Erweiterung für Firefox oder GTMetrix empfohlen werden. Diese zeigen dann die Schwachstellen auf und bieten Vorschläge, wie man die Geschwindigkeit verbessern kann. 37. Seien Sie gewappnet Auch wenn der Shop online gegangen ist, erwarten Sie nicht das Ende der Entwicklungsarbeit. Es gibt immer etwas zu tun. Fehler müssen beseitigt werden, Module werden weiter entwickelt, der Shop und die Anforderungen ändern und erweitern sich. --- ## Massenupdates für Verkäufe->Bestellungen springen zurück zum Dashboard Datum: 2010-09-22 · Kategorien: Bugfixes · URL: https://magelounge.de/2010/09/massenupdates-fur-verkaufe-bestellungen-springen-zuruck-zum-dashboard/ Als ein neues Feature in Magento 1.4.1 werden alle Aktionen unter Verkäufe->Bestellungen (englisch Order->Sales) nun per AJAX ausgeführt, wenn man den Ausführen-Button anklickt. Allerdings führt dies zu einem ungewollten Seiteneffekt: Nach jedem AJAX-Update funktioneren die Massen-Aktionen (Stornieren, Zurückstellen, Wiederaufnehmen, Rechnung drucken, Packzettel drucken, Alle Gutschriften drucken, Alle drucken) nicht mehr. Stattdessen wird man zum Dashboard zurückgeschickt. Hintergrund: Nach einem AJAX-Update lädt Magento nicht die komplette Seite neu, sondern nur einen Ausschnitt. Allerdings wird der Form-Key zur Authorisierung der Formulardaten nicht aktualisiert. Da dieser nun fehlt, schlägt die Authorisierung fehl und man wird zum Dashboard zurückgeschickt. Um diesen Fehler zu beheben, kann die Datei app/design/adminhtml/default/default/template/widget/grid/massactions.phtml bearbeitet werden. Folgende Änderung ist notwendig. getBlockHtml('formkey')?> nach
Links: Englischer Beitrag bei magebase.com Bugreport --- ## Magento Stammtisch Datum: 2010-08-25 · Kategorien: Nachrichten · URL: https://magelounge.de/2010/08/magento-stammtisch/ Magento ist ein komplexes Thema und der Austausch mit Gleichgesinnten kann interessante Perspektiven und neue Sichtweisen ermöglichen. Die wir diese Idee sehr interessant finden, möchten wir hier das neue Projekt Magento-Stammtisch.de von Falk Opitz publik machen. Auf Magento-Stammtisch.de sollen die in Deutschland durchgeführten Magento-Stammtische veröffentlicht und evtl. organisiert werden. Weitere Infos werden hier in Kürze folgen. Die ersten beiden Termine finden in Berlin und Bielefeld statt: Magento Stammtisch Berlin am 16.09.2010 um 19:00 Uhr Stadt: Berlin Location: St. Oberholz am Rosenthaler Platz Ansprechpartner: Falk Opitz (Adgar GbR) Magento Stammtisch Bielefeld am 29.09.2010 um 19:00 Uhr Stadt: Bielefeld Location: Nichtschwimmer Ansprechpartner: Johannes Künsebeck (HDNET GmbH & Co. KG) Weitere Magento Stammtische in Stuttgart und Ulm befinden sich bereits in der Planungsphase. --- ## Wie stelle ich fest, ob mein Server Magento-tauglich ist Datum: 2010-07-08 · Kategorien: Magento-Einstieg, Voraussetzungen · URL: https://magelounge.de/2010/07/wie-stelle-ich-fest-ob-mein-server-magento-tauglich-ist/ Magento benötigt einige Module, die installiert sein sollten, um einen reibungslosen Ablauf zu garantieren. Häufig ist z.B. der PHP SafeMode eingeschaltet. Magento bietet ein kleines PHP-Skript an, dass die benötigten Einstellungen testet und dem Anwender mitteilt, ob alles in Ordnung ist oder ob ein bestimmtes Modul oder eine bestimmte Konfiguration fehlt. Die Vorgehensweise ist wie folgt: Datei herunterladen und entpacken Datei magento-check.php auf den gewünschten Server hochladen Im Webbrowser die Datei aufrufen, z.B. www.mein-magento-server.de/magento-check.php Ein erfolgreicher Check sollte dann in dieser Form erscheinen: Congratulations! Your server meets the requirements for Magento. * You have PHP 5.2.0 (or greater) * You have MySQL 4.1.20 (or greater) * Safe Mode is off * You have the curl extension * You have the dom extension * You have the gd extension * You have the hash extension * You have the iconv extension * You have the mcrypt extension * You have the pcre extension * You have the pdo extension * You have the pdo_mysql extension * You have the simplexml extension