Magento: Alle Modul Rewrites anzeigen

Magento: Alle Modul Rewrites anzeigen

Magento ist durch seine Flexibilität sehr beliebt bei Händlern und Entwicklern. Vor allem das einfache Erweitern und Überschreiben von Models und Blöcken ermöglicht eine vielfältige Modul Landschaft. Durch den vielfältigen Einsatz von Plugins kommt es aber auch immer wieder zu Problemen, wodurch neu installierte Plugins nicht funktionieren. Durch den technischen Aufbau von Magento 1 kann jedes Model nur einmal von einem Standard Plugin überschrieben werden, da die Plugins alle die gleichen Klassen erweitern. Natürlich kann man hier aber händisch nacharbeiten und die jeweiligen Plugin Klassen anpassen. Hierfür muss man allerdings wissen, welche Plugins bereits Core Models oder Blöcke erweitern. Wie bekomme ich eine Liste mit allen Klassen Rewrites? Am einfachsten und ohne zusätzliche Tools geht das mit Magento mit der Mage::getConfig() Methode. Falls man nur die überschriebenen Blöcke oder Models ausgeben will, kann man dieses mit einer Erweiterung des Parameters erreichen. Mit n98-Magerun eine Rewrite Liste erzeugen Etwas einfacher geht das ganze auch mit dem Magento Tool n98-magerun. Das Tool, welches sich selbst als das Schweizer Taschenmesser für Magento bezeichnet, liefert für genau diesen Einsatzzweck eine Funktion mit. Nachdem man die .phar Datei heruntergeladen hat und in das Magento Verzeichnis gelegt hat, kann man sich alle rewrites mit diesem Befehl anzeigen lassen. Durch das eigene Parsen der config Files ist es dem Tool sogar möglich, eventuell bestehende Konflikte zwischen verschiedenen Modulen aufzuzeigen....
Magento: Mehrere Felder zum sortieren einer Collection benutzen

Magento: Mehrere Felder zum sortieren einer Collection benutzen

Bei der Modul-Entwicklung für Magento arbeitet man sehr oft mit Collections. Um diese zu sortieren benutzt man die „setOrder“ Methode der Collection. Mit der selben Methode ist es auch möglich eine Datenbank Abfrage zu schreiben, welche nach 2 Feldern sortiert, indem man die Methode zweimal aufruft. Die SQL-Abfrage sortiert dann zuerst nach dem Feld „created_at“ und anschließend nach dem Feld...
Magento: Besucher der Seite dauerhaft identifizieren

Magento: Besucher der Seite dauerhaft identifizieren

Im E-Commerce ist es sehr einfach die Besucher einer Seite durchgehend zu identifizieren. Dadurch kann man die Aktionen der einzelnen Benutzer aufzeichnen und auswerten. Das gängigste Tool hierfür ist Google Analytics. Aber auch innerhalb des Magento Öko-Systems macht es Sinn, den Besucher einer Seite zu tracken und seine Aktionen aufzuzeichnen. Dadurch kann man beispielsweise die zuletzt angesehenen Artikel prominenter platzieren. Auch wäre es möglich, die Intention des Besuchers anhand vergangener Besuche zu erraten und dem Nutzer die passenden Produkte, Kategorien oder FAQ-Seiten anzeigen. In Magento hat man verschiedene Möglichkeiten einen Nutzer zu identifizieren. Falls der Nutzer sich bereits eingeloggt hat, ist dies am leichtesten über die CustomerId zu erledigen: Da viele Kunden auf Magento Shops allerdings nicht eingeloggt sind (oder sich erst kurz vor dem Kaufvorgang einloggen), muss man auch die Möglichkeit abdecken, dass der Kunde derzeit nicht eingeloggt ist. Ich setze hierfür gewöhnlich die SessionId ein. Diese SessionId wird bei jedem Besucher einer Magento Seite in Form eines Cookies hinterlegt und bleibt identisch, bis der Kunde die Cookies löscht oder die Session abläuft. Wie lange eine Session gültig ist, kann im Magento Backend hinterlegt werden. Um die SessionId abzufragen kann man folgende Methode benutzen: Natürlich kann man die zwei Methoden auch miteinander verknüpfen, um die gespeicherten Daten über den eingeloggten Kunden noch zu...
Weiterleitung von http auf https einrichten

Weiterleitung von http auf https einrichten

Https (Hypertext Transfer Protocol Secure) ist derzeit in aller Munde, schließlich will Google in Zukunft Webseiten, welche per https erreichbar sind bevorzugen. Seitdem versuchen viele ihre Webseite per https erreichbar zu machen. Nur weil eine Webseite über https erreichbar ist, heisst das allerdings noch lange nicht, dass diese auch darüber aufgerufen wird. Die Webseite ist trotzdem noch über http erreichbar. Um das zu ändern, gibt es verschiedene Möglichkeiten. 1. Möglichkeit: über die .htaccess Datei Durch das kopieren des Codes oben in eure .htaccess Datei, werden Besucher automatisch von http Webseite auf die https Webseite weitergeleitet. Das funktioniert mit jedem CMS-System. 2. Möglichkeit: über PHP Natürlich ist es auch möglich die Weiterleitung über PHP auszuführen. Dafür müsst ihr am Anfang von eurer index.php folgenden Code Schnippsel einfügen. Das funktioniert nur, wenn euer CMS oder Framework jeden Webseiten Request über eine zentrale index.php leitet (z.B. mit Magento, WordPress)....
Magento: countryRegions is not defined

Magento: countryRegions is not defined

Der Checkout bei Magento gehört wohl zu den fehleranfälligsten Bereichen von Magento. Durch den starken Einsatz von AJAX ist das Debugging für viele Fehler deutlich aufwändiger, als für die restlichen Magento Seiten. Ein typischer Fehler ist, dass die Regionen/Bundesländer nicht angezeigt werden oder diese nicht aktualisiert werden, wenn ein anderes Land ausgewählt wird. Oftmals erscheint auch in der JavaScript Debug Konsole folgende Meldung: Das bedeutet, dass die Variable countryRegions nicht definiert wurde und daher bei einem Länder Wechsel die neue Bundesländer nicht angezeigt werden können. Beheben lässt sich das ganze recht einfach, durch das einfügen von in der onepage.phtml. Diese befindet sich, je nach Template, beispielsweise hier: Wichtig dabei ist, dass man den Codesnippet ganz oben in die Datei einfügt, da bereits in den ersten Zeilen auf die Variable zugegriffen...
Magento: Statischen Block ausgeben

Magento: Statischen Block ausgeben

Eine große Stärke von Magento ist die Flexibilität. Diese Flexibilität wird unter anderem auch von dem Block / Page Konzept gewährleistet. Dadurch ist es möglich bestimmte Content Blöcke auf der Seite immer wieder zu verwenden. Super ausspielen kann Magento diesen Trumpf bei einem Impressum oder den AGB. Das Impressum muss bei einem (deutschen) Shop sehr oft angezeigt werden – ob in den Transaktionsemails oder auf der Webseite. Hier ist es natürlich angenehm, wenn man vVeränderungen nur an einer Stelle im System ausführen muss. Es gibt in Magento verschiedene Möglichkeiten diesen Block dann auf einer Seite oder in einer Email wieder auszugeben. Hier will ich die wichtigsten auflisten. Per PHP Blöcke kann man per PHP direkt im Template ausgeben. Es ist dabei auch möglich den Title und den Content seperat auszugeben. In diesem Beispiel wird der Block mit dem code footer_links ausgegeben. Auf diese Art und Weise wird allerdings nur der Content des Blocks ausgegeben. Um auch den Title auszugeben, sollte man darüber noch folgenden Code einfügen: Durch den Aufruf des Models cms/block kann der Code nicht nur in Templates, sondern auch in Modul Blöcken verwendet werden. Allerdings sollte man versuchen das zu vermeiden, da es kein sauberer Programmierstil ist. In den Template selbst kann man den Aufruf des Models auch durch ein $this ersetzen.  Per XML Statische Blöcke können auch mit den Layout XML Dateien auf einer Seite eingebunden werden. Sinnvoll ist das vor allem bei statischen Blöcken, welche fest im Design verankert sind und trotzdem von Admins gepflegt werden sollen. Eingebunden werden die Statischen Blöcke so: Auch in diesem Beispiel muss der Block Code footer_links durch einen anderen...
Magento: Text kürzen / abschneiden

Magento: Text kürzen / abschneiden

Oftmals kriegt man als Entwickler ein Design vorgesetzt, das nicht skalierbar ist. Das Design schreibt also für manche Bereiche eine bestimmte Höhe vor, auch wenn der Content darin mehr Platz bräuchte. Hier bietet es sich dann meistens an den String mit PHP zu kürzen und anschließend auf den vollständigen Text zu verlinken. In Magento gibt es hier auch eine spezielle Funktion, namens truncate. Aufrufen kann man diese Funktion folgendermaßen: Hierbei wird in der Variable $string der auszugebende Content übergeben und via $length die Länge des neuen Strings...
Fatal error: Allowed memory size of 104857600 bytes exhausted

Fatal error: Allowed memory size of 104857600 bytes exhausted

Jeder der mit PHP experimentiert hat, dürfte diese Fehlermeldung schon mal erhalten haben: Der Fehler deutet darauf hin, dass eine Operation in dem abgebrochenen Skript sehr viel Speicherplatz benötigt. Allerdings gibt es bei den meisten Servern und PHP-Installationen ein Memory Limit von 32MB oder mehr. Falls man vollen Zugriff auf dem Server hat kann man das Memory Limit in der php.ini verändern. Speziell bei Shared Webspace oder Managed Servern hat man allerdings meistens keinen Zugriff auf die php.ini und muss sich daher mit anderen Mitteln weiterhelfen. Eines davon ist das php Memory Limit mittels ini_set zu erhöhen. Voraussetzung hierfür ist allerdings, dass diese Funktion auf dem Server freigeschalten ist. Mithilfe dieses Code Snippets wird das Memory Limit auf 200 MB erhöht. Mit der selben Funktion kann man das Memory Limit auch komplett deaktiveren: Durch das deaktivieren des Memory Limits kann fehlerhafter Code die Erreichbarkeit des Servers beinträchtigen. Daher sollte diese Funktion mit großer Vorsicht verwendet...
Tabellennamen in Magento mit Table Prefix ausgeben

Tabellennamen in Magento mit Table Prefix ausgeben

Magento bietet die Möglichkeit Installationen mit Table Prefix auszuführen. Das bedeutet, dass jede Tabelle vor ihrem eigentlichen Namen einen Prefix im Namen trägt. Damit trotzdem alle Module funktionieren, sollte man beim Programmieren stets darauf achten, dass man Tabellennamen nicht hardcoded in die PHP Dateien schreibt. Hierfür sollte man diese Funktion verwenden:...
Webentwickler / PHP Konferenzen 2013

Webentwickler / PHP Konferenzen 2013

Ein neues Jahr hat angefangen, daher stellt sich auch die Frage: auf welche Konferenzen gehe ich dieses Jahr? Welche waren letztes Jahr gut? Welche Konferenzen waren eher enttäuschend? Da Michael Kliewe letztes Jahr eine super Übersicht zusammen gestellt hat und ich diese sehr gern benutzt habe, habe ich mir dieses Jahr die Mühe gemacht. Ich habe für das Jahr 2013 einen Kalender mit den wichtigsten Konferenzen in Deutschland und Umgebung zusammen gestellt. Wenn eine Konferenz fehlt, dann bitte einfach schnell einen Kommentar hinterlassen. 25-26 Januar 2013 PHP Benelux in Antwerpen 22-23 Februar 2013 PHP UK Conference in London, England 11-14 März 2013 MobileTech Conference in München 19 März 2013 PHPNE Conference in Newcastle upon Tyne, England 19-22 März 2013 Magento Developers Paradise in Kaprun, Österreich 19-20 April 2013 Inspiring Flow (Typo3) in Kolbermoor / Rosenheim 22-26 April 2013 JAX in Mainz 17-18 Mai 2013 PHPDay in Verona, Italien 2-5 Juni 2013 International PHP Conference in Berlin 3-5 Juni 2013 Webinale in Berlin 3-4 Juni 2013 Meet Magento #7.13 in Leipzig 5-7 Juni 2013 Entwicklertage Karlsruhe 6-8 Juni 2013 Dutch PHP Conference in Amsterdam, Holland 24-27 Juni 2013 Web Developer Conference in Nürnberg August 2013 FrOSCon (genauer Termin steht noch nicht fest) 29-30 Oktober 2013 Webtechcon in München...
jojobet
deneme bonusu
betmoon giriş
tarafbet giriş
betpark güncel giriş
Dinamobet
perabet giriş
jojobel
deneme bonusu
phisingbet
meritking giriş
vevobahis giriş
betgaranti giriş
madridbet
romabet güncel giriş
betticket
madridbet güncel
pokerklas giriş
bets10
kolaybet güncel giriş
betpas güncel giriş
Freespin Veren Siteler
bets10 giriş
casibom
jojobet giriş
enbet güncel
jojobet
galabet giriş
interbahis güncel giriş
kalitebet
marsbahis giriş
canlı casino siteleri
perabet
meritking güncel giriş
betpark
marsbahis giriş
bahsegel giriş
betmatik güncel giriş
betticket güncel giriş
matadorbet güncel giriş
güvenilir bahis siteleri
Dinamobet güncel giriş
Dinamobet giriş
pulibet giriş
jojobet
paşacasino giriş
gorabet giriş
restbet güncel giriş
kolaybet giriş
primebahis
Jokerbet giriş
betsilin
piabet
betpark
betper giriş
kolaybet güncel giriş
interbahis
madridbet
phising bet
Tophillbet giriş
deneme bonusu
extrabet
kavbet
betpark güncel giriş
vaycasino
betplay
bahsegel güncel giriş
jupiterbahis giriş
phising bet
romabet güncel
restbet giriş
restbet güncel giriş
tarafbet giriş
betpas güncel
tarafbet
trendbet
jojobet
süperbahis giriş
superbahis
betpark giriş
casibom giriş
jojobet giriş
betmatik güncel giriş
bahiscasino
vevobahis
betgaranti güncel giriş
canlı casino siteleri
Marsbahis
jojobet giriş
deneme bonusu
betgaranti güncel giriş
kolaybet giriş
betsmove giriş
deneme bonusu veren siteler
pokerklas giriş
safirbet giriş
betplay giriş
Dinamobet güncel giriş
meritking
gorabet
phising
betasus
kalitebet
piabet
jojobel
superbahis
interbahis
betpark
Meritking giriş
timebet giriş
robinbet giriş
perabet
phising
betmatik
jojobel
balinabet güncel giriş
betpark
marsbahis giriş
jojobet güncel giriş
enbet giris
betpark giriş
betpark
Betsmove
betgaranti
pokerklas güncel giriş
jojobet
phising bet
atlasbet
betpark giriş
casibom giriş
betgaranti
Dinamobet
perabet giriş
betpark güncel
betgaranti
betwinner giriş
mariobet
madridbet giriş
betpas güncel giriş
palacebet giris
phisingbet
mersobahis
extrabet güncel giriş
betgaranti güncel giriş
kolaybet
betpas giriş
goldenbahis
paşacasino
jojobet
extrabet giriş
mavibet
betsat güncel giriş
betpark giriş
belugabahis güncel giriş
betplay güncel giriş
Dinamobet giriş
madridbet giriş
kolaybet giriş
limanbet güncel giriş
betpark giriş
marsbahis phising
avrupabet
padişahbet
Betsmove güncel Giriş
meritking güncel
safirbet
alobet giriş
bahisvebahis
jojobet
casinoroyal
betgaranti giriş
betpark giriş
romabet giriş
casibom
tophillbet giriş
güvenilir bahis siteleri
trendbet
betpark giriş
marsbahis giriş
marsbahis giriş
casibom giriş
kingroyal giriş
slot siteleri
kolaybet giriş
ngsbahis güncel giriş
betplay güncel giriş
ngsbahis giriş
enbet
İmajbet güncel giriş
superbetin güncel giriş
betpark güncel giriş
betpark güncel giriş
royalbet
Meritking giriş
primebahis güncel giriş
kingroyal güncel
royalbet giriş
pasacasino
restbet
royalbet güncel giriş
Jojobet
jupiterbahis
interbahis
piabet
jojobel
pusulabet
betpas
betpark giriş
betplay güncel giriş
betpark giriş
phising
bahisvebahis
deneme bonus
lunabet
bahisvebahis giriş
jojobet giriş
betpark güncel giriş
pokerklas giriş
primebahis giriş
casibom giriş
galabet giriş
betgaranti güncel giriş
extrabet güncel giriş
interbahis
jojobel
safirbet giriş
restbet giriş
Jojobet
darkbet giriş
casino siteleri
betplay güncel giriş
betgaranti giriş
meritking giriş
casibom
canlı casino siteleri
meritking giriş
betpark
pulibet
mersobahis giriş
meritking
restbet
bets10 giriş
perabet
meritking giriş
aresbet giriş
betpark giriş
jojobet giriş
casino siteleri
deneme bonusu
betplay giriş
betpas
betgaranti giriş
hiltonbet güncel giriş
phising bet
betturkey
kralbet
enbet giriş
Limanbet giriş
zirvebet giriş
Meritking güncel giriş
mariobet giriş
kazandra giriş
superbetin giriş
bahsegel güncel giriş
Setrabet giriş
jojobel
madridbet
teosbet
süperbahis giriş
galabet güncel giriş
piabet giriş
Marsbahis
betsilin giris
hiltonbet
mersobahis güncel giriş
jokerbet
perabet güncel giriş
tophillbet güncel giriş
deneme bonusu veren siteler
betsmove güncel giriş
pokerklas güncel
kralbet giriş
phising bet
betplay giriş
belugabahis güncel giriş
meritking
jojobet
romabet giriş
avvabet
jojobet güncel
casibom giriş
süperbahis giriş
kalitebet giriş
extrabet güncel giriş
marsbahis giriş
casibom güncel giriş
interbahis güncel giriş
meritking
balinabet giriş
Dinamobet güncel giriş
kingroyal
teosbet
jojobel
pokerklas
primebahis giriş
süperbahis
enbet giriş
betsat giriş
avrupabet
belugabahis giriş
betpas giriş
betpark giriş
klasbahis giriş
deneme bonusu veren siteler
kingroyal giriş
betpark güncel
ngsbahis giriş
betpas giriş
kingroyal
casibom giriş
extrabet
kalebet güncel giriş
Slot Siteleri
pokerklas güncel giriş
holiganbet
Dinamobet giriş
Dinamobet güncel giirş
kralbet giriş
vaycasino
casibom giriş
interbahis giriş
deneme bonusu veren siteler
kingroyal
meritking
pusulabet
jokerbet
betpark
meritking giriş
betper güncel giriş
phising bet
pasacasino
betgaranti
betplay giriş
jojobet
jojobet
kingroyal
kavbet giriş
primebahis
betsmove
marsbahis
bets10
Pusulabet
avvabet
betasus giriş
jojobel
paşacasino giriş
betplay
avrupabet giriş
zirvebet
extrabet giriş
milanobet
deneme bonusu
vevobahis
bahisvebahis güncel giriş
betpark giriş
casibom giriş
ZBAHİS
phising bet
betper
royalbet güncel giriş
pulibet
extrabet
alobet
jojobel
vaycasino giriş
perabet güncel giriş
betplay güncel giriş
casibom
jasminbet
interbahis giriş
Betsmove
betpark
Perabet
primebahis güncel giriş
casibom
casinoroyal giriş
restbet
interbahis giriş
perabet
betpark giriş
darkbet
casino siteleri
casibom
deneme bonusu veren siteler
kingroyal güncel
xgo88
betwinner giriş
Setrabet güncel giriş
bets10 giriş
Dinamobet giriş
piabet giriş
romabet giris
teosbet
betplay giriş
deneme bonusu
galabet
betpark güncel giriş
milanobet
betpark
jasminbet giriş
betsilin
palacebet güncel giriş
kalitebet giriş
ngsbahis giriş
ngsbahis güncel giriş
interbahis
kingroyal giriş
betpas giriş
Meritking
restbet giriş
kralbet
balinabet
pokerklas
betplay güncel giriş
Betsmove
meritking güncel giriş
phising bet
Dinamobet güncel giriş
slot siteleri
grandbetting güncel giriş
avrupabet giriş
interbahis güncel giriş
Norabahis
kazandra
jojobel
betpark giriş
casibom
betpas
betpark
jojobet güncel giriş
betplay giriş
casibom
betpark giriş
ultrabet güncel giriş
betwinner
tophillbet güncel giriş
bets10
betsat
royalbet
tophillbet
robinbet giriş
Dinamobet
Perabet giriş
galabet giriş
meritking
deneme bonusu
superbetin
Dinamobet giriş
kazandra giriş
casibom giriş
superbahis
galabet
meritking güncel
betplay güncel giriş
vaycasino güncel giriş
atlasbet giriş
marsbahis giriş
kingroyal
interbahis
pulibet giriş
belugabahis
betplay giriş
enbet
deneme bonusu veren siteler
palacebet giriş
betpark
betpark güncel giriş
truvabet
bahsegel giriş
bahsegel
betplay
jojobel
casibom
tophillbet
galabet
avvabet giriş
betasus
vevobahis giriş
Avrupabet
interbahis güncel giriş
tophillbet güncel giriş
timebet
avrupabet güncel giriş
Dinamobet
betpas
truvabet
jokerbet güncel giriş
Kalebet
interbahis güncel giriş
perabet giriş
vaycasino
vaycasino giriş
bets10
kralbet giriş
tophillbet giriş
casibom giriş
restbet güncel giriş
phising bet
safirbet
betpas giriş
betgaranti giriş
betgaranti
safirbet
bahiscasino giriş
jojobet
galabet giriş
bahsegel güncel giriş
meritking güncel giriş
ngsbahis
pusulabet giriş
betgaranti giriş
betpark güncel giriş
betpark güncel giriş
robinbet
betgaranti
enbet
casibom giriş
kalitebet
betsilin güncel giriş
betpark güncel giriş
betpark güncel
kalitebet giriş
tarafbet
Betsmove güncel giriş
hitbet giriş
ngsbahis
baywin giriş
extrabet giriş