26 Sep
2013

Magento 1.8.0 veröffentlicht

Seit gestern Abend ist Magento 1.8.0 veröffentlicht und zum Download freigegeben.

Magento 1.8.0

Magento 1.8.0

Neben 350 Verbesserungen und neuen Features wurde diesmal auch das Thema Steuern und Rundungen angegangen.
Wenn man den Entwicklern glauben darf, dann sollten Rundungsproblem ab nun der Vergangenheit angehören.

Zusätzlich hat Magento in der Knowledgebase eine neue Seite hinzugefügt, in der detailiert erklärt wird, wie man Steuern
und alles was dazu gehört korrekt im Backend von Magento administriert und konfiguriert.

28 Mrz
2013

Nach dem Bearbeiten einer Kategorie verschwinden Produkte

Kennt ihr das Problem, dass nach dem Bearbeiten und Speichern einer Produktkategorie Produkte die dieser Kategorie zugeordnet sind wieder verschwinden.

Nach dem Studieren der Logfiles fiehl mir folgender Eintrag auf:

2013-03-28T09:36:23+00:00 ERR (3): Warning: parse_str(): Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini.  in /var/www/html/app/code/core/Mage/Adminhtml/controllers/Catalog/CategoryController.php on line 300

Die Fehlermeldung sagt aus, dass die Anzahl der Variablen die an den Server übertragen wurden über 1000 liegt.
Aufgrund von vielen Produkten und tief verschachtelten Arrays ist scheinbar die Anzahl von 1000 schnell erreicht.

Zur Lösung des Problems muss die php.ini angepasst werden und zwar um folgende Einträge.


php.ini

max_input_vars = 3000
suhosin.post.max_vars = 3000
suhosin.request.max_vars = 3000


Dadurch wird die maximale Anzahl der zu übertragenden Variablen auf zum Beispiel 3000 erhöht.

11 Mrz
2013

Magento 1.7.0.2 Installation – PHP Extensions “0″ must be loaded

Habe aktuell immer wieder das Problem wenn ich mir Magento unter MAMP (OSX) installiere, dass ich dann beim Setup die Fehlermeldung “PHP Extensions “0″ must be loaded” erhalte.

PHP Extensions "0" must be loaded

PHP Extensions “0″ must be loaded

Beheben kann man diesen Fehler, in dem man die config.xml des Installers anpasst.
Zu finden ist die config.xml unter /app/code/core/Mage/Installer/etc/

Hier muss der Eintrag

            <mysql4>
                <type>pdo_mysql</type>
                <initStatements>SET NAMES utf8</initStatements>
                <min_version>4.1.20</min_version>
                <extensions>
                    <pdo_mysql/>
                </extensions>
            </mysql4>

zu

            <mysql4>
                <type>pdo_mysql</type>
                <initStatements>SET NAMES utf8</initStatements>
                <min_version>4.1.20</min_version>
                <extensions>
                    <pdo_mysql>1</pdo_mysql>
                </extensions>
            </mysql4>

geändert werden. Das wars!

26 Feb
2013

Magento Connect / Downloader white page – Error Code 500 – Internal Server Error

Heute habe ich mich mit der Performanz Optimierung von Magento beschäftigt und dafür unter anderem einen APC Opcode Cache aufgesetzt und konfiguriert.Das Ergebnis kann sich sehen lassen, die Beschleunigung ist deutlich sichtbar.

Desweiteren habe ich dann noch einen Varnish Page Cache aufgesetzt und konfiguriert. Damit dieser mit Magento zusammenarbeitet wollte ich dann noch das Modul PageCache powered by Varnish aus dem Connect Store installieren.

Jedoch war ich garnicht in der Lage den Donwloader von Magento aufzurufen, da immer nur eine weiße Seite angezeigt wurde, bzw. im Chrome wurde mir ein Error Code 500 angezeigt.

Daraufhin habe ich mich durch Google gewühlt um Lösungen dafür zu finden, aber nichts half.

Letztendlich kam ich dann darauf den APC Cache zu deaktivieren und siehe da der Downloader funktioniert wieder. :-)

23 Feb
2013

Magento: das umfassende Handbuch. Installation, Anwendung, Plug-ins, Erweiterungen, Zahlungsmodule, Gestaltung u.v.m.: Installation, Anwendung, … und Gestaltung u.v.m (Galileo Computing)

Mit Magento verfügen Sie über ein leistungsfähiges und kostengünstiges E-Commerce-System. Es beeindruckt mit seiner Funktionsvielfalt, die unter den Online-Shop-Lösungen seinesgleichen sucht. Die beiden Autoren zeigen Ihnen in diesem Handbuch, wie Sie die umfangreichen Möglichkeiten effizient für Ihre Zwecke einsetzen. Schritt für Schritt führen sie Sie zu Ihrem eigenen Online-Shop, so dass Sie schnell erste Erfolge erzielen werden. Praxisnahe Beispiele zeigen Ihnen anschaulich alles, was Sie wissen müssen: Angefangen von der Installation und dem Aufbau eines ersten Produktkatalogs bis hin zur Integration von Versanddienstleistern und Zahlungsanbietern. Auch wenn es darum geht, Marketing für Ihren Shop zu machen, lässt Sie das Buch nicht im Stich. Sie erfahren, wie Sie Newsletter verschicken, Rabatte vergeben und Sonderaktionen planen. Aktuell zur Version 1.7

Aus dem Inhalt:

Einführung in Magento
Installation und Konfiguration
Aufbau des Artikelkatalogs
Bestellprozess und Bestellablauf
Kundenverwaltung
Verkaufsfördernde Maßnahmen
Inhalte verwalten
Erfolgsmessung mit Magento
Design, Themes und Templates
Versanddienstleister und Zahlungssysteme
Erweiterung von Funktionen
Migration von bestehenden Systemen
Lokalisation, Multistores u.v.m
Anbindung an ERP- und Warenwirtschaftssysteme
Marktplätze und Suchmaschinen
Mobile Commerce
Integration in soziale Netzwerke
Troubleshooting

Die Fachpresse zur Vorauflage:

Webmasterpro.de: »Das Buch ist empfehlenswert für alle, die einen eigenen Online-Shop aufbauen. «

PHPmagazin: »Das Buch führt Sie Schritt für Schritt zum professionellen Webshop «

23 Feb
2013

Liste aller Länder ausgeben

Der ein oder andere benötigt eventuell eine Liste aller verfügbaren Länder in Magento.
Hierfür biete ich euch folgendes Snippet an.

<?php
 
    $collection = Mage::getModel('directory/country')->getCollection();   
    foreach ($collection as $country)
    {
        $cid = $country->getId();
    $cname = $country->getName();
        echo 'Country ID -> '.$cid.' Country Name -> '.$cname.'<br/>';
                               
    }
?>
23 Feb
2013

Mac OS X – DNS Cache leeren

Wer ab und zu zum Entwickeln die /etc/hosts Datei unter OS X anpasst wird merken, dass die Änderungen meist nicht sofort angenommen werden.

Das liegt daran, dass OS X sämtliche DNS Abfragen in einem internen Cache zwischenspeichert.
Diesen kann man allerdings auch ganz einfach löschen.

Unter OS X Mountain Lion muss man dazu zwei Befehle im Terminal ausführen.

// cache löschen
sudo dscacheutil -flushcache

// dienst neustarten
sudo killall -HUP mDNSResponder

Nun noch den Rechner neustarten, oder einfach nur abmelden und wieder anmelden und FERTIG.

7 Feb
2013

Modul Entwicklung Admin Backend

Der ein oder andere Magento Entwickler wird mit Sicherheit auch schon mal ein Modul entwickelt haben, welches neue Funktionen im Admin Backend hinzufügt. Hierbei ist es eventuell auch nötig zu wissen, welcher Benutzer gerade im Backend eingeloggt ist.

Ich habe zum Beispiel ein Admin Logging Modul entwickelt, welches sämtliche Aktivitäten im Backend loggt. Dazu war es auch notwendig zu wissen, wer eine Aktion ausgeführt hat.

Folgendes Snippet zeigt, wie man den aktuell im Backend eingeloggten User ermittelt.

$user = Mage::getSingleton('admin/session');

$userId = $user->getUser()->getUserId();
$userEmail = $user->getUser()->getEmail();
$userFirstname = $user->getUser()->getFirstname();
$userLastname = $user->getUser()->getLastname();
$userUsername = $user->getUser()->getUsername();
$userPassword = $user->getUser()->getPassword();
7 Feb
2013

Fehlerausgabe / Execption Printing aktivieren

Hat man sich eine frische Magento Installation aufgesetzt und es kommt zu ersten Fehlern aufgrund von falscher Konfiguration oder anderen Dingen, dann sind detailierte Fehlermeldungen standardmäßig bei Magento deaktiviert.
Diese kann man ganz einfach für Debuggingzwecke aktivieren, indem man im Ordner errors/ die Datei local.sample.xml nach local.xml umbenennt.
In der Datei gibt man dann noch als action print ein und schon bekommt man detailierte Fehlermeldungen direkt auf der Webseite.
Im Livebetrieb sollte man diese dann aber wieder deaktivieren.

24 Jan
2013

Invoice-, Rechnungs PDF an den Browser senden

Heute hatte ich den Anwendungsfall, dass nach dem Abschluß der Bestellung, auf der Success Seite, die Rechnung per PDF downloadbar sein soll.

Dazu habe ich das Template angepasst und einen neuen Frontend Router programmiert, welche durch Klick auf den Download Button das Rechnungs PDF erstellt und direkt an den Client / Browser sendet.

Anbei der Code.

public function generateAction(){
try{
// get order id from request
$orderId = $this->getRequest()->getPost('orderid');

if(!$orderId){
throw new Exception('no order id in request found');
} else {
$order = Mage::getModel('sales/order')->load($orderId);

if($order->getInvoiceCollection()){
$pdf = Mage::getModel('sales/order_pdf_invoice')->getPdf($order->getInvoiceCollection());

$output = $pdf->render();
$response =  $this->getResponse();
$response->setHeader('Content-Disposition', 'attachment; filename="livekunde.pdf"');
$response->setHeader('Content-type', 'application/pdf');
$response->setHeader('Content-length', strlen($output));
$response->setBody($output)->sendResponse();

} else {
throw new Exception('no invoice found in given order');
}
}
}catch(Exception $e){
Mage::log('errer generating invoice pdf for live kunde...', Zend_Log::CRIT, 'tigerbytes-livekunde.log', true);
Mage::log($e->getMessage(), Zend_Log::CRIT, 'tigerbytes-livekunde.log', true);
}
}

Follow Me!

Follow Me! Follow Me!