
Bei der Arbeit entwickeln wir eine Website für einen Kunden mit der Magento eCommerce-Software. Das ist das erste Mal, dass ich sie benutze, und ich finde sie ziemlich fantastisch (und sie ist kostenlos!). Es gibt vieles, was daran gefällt, worüber wir wahrscheinlich ein anderes Mal sprechen werden, aber sie verwendet Prototype für eine JavaScript-Bibliothek. Nun, ich bin sicher, Prototype ist wunderbar und alles, aber ich verstehe kein Wort davon. Ich würde lieber die Bibliothek verwenden, die ich kenne und liebe, jQuery. Aber Prototype und jQuery vertragen sich bekanntermaßen nicht. So geht man damit um.
- Die neueste Version von Magento kommt mit einer etwas veralteten Version der script.aculo.us effects-Datei, was Teil des Problems ist. Holen Sie sich die neueste Version (derzeit 1.8.2). Sie möchten sie vielleicht mit der Versionsnummer am Ende umbenennen, wieeffects-1.8.1.js
- Laden Sie die Datei unter [Magento]/js/scriptaculous hoch
- Öffnen Sie die Dateipage.xmlunter [Magento]/app/design/frontend/default/default/layout/page.xml
- Auf etwa Zeile 41 befindet sich eine Zeile wie diese
<action method="addJs"><script>scriptaculous/effects.js</script></action>Ändern Sie den Dateinamen auf Ihre neue Datei
- Die Layout-Dateien sind normalerweise gecacht, daher müssen Sie diesen Cache löschen, um die Auswirkung zu sehen. Melden Sie sich im Backend an und gehen Sie zu System > Cache-Management
- Wählen Sie im Menü "Alle Caches" "aktualisieren" und speichern Sie (was Ihren Cache löschen sollte)
- Laden Sie eine Store-Seite neu und zeigen Sie den Quellcode an, um sicherzustellen, dass Ihre neue Datei diejenige ist, die geladen wird
- Jetzt müssen Sie jQuery auf Ihrer Seite einbinden. Sie könnten eine neue Zeile zur Datei page.xml hinzufügen oder Sie könnten die gemeinsame head.phtml-Datei unter [Magento]/app/design/frontend/default/default/template/page/html/head.phtml öffnen – und Ihr <script> für jQuery dort hinzufügen
- Der letzte Schritt ist sicherzustellen, dass jQuery im .noConflict();-Modus läuft. Das ist der letzte Schritt, um sicherzustellen, dass es gut mit Prototype zusammenarbeitet
- Nun müssen Sie noConflict einstellen und Code in diesem Modus schreiben. Im Grunde ersetzen Sie das normale "$" durch eine neue Kurzform ($j in diesem Fall).
var $j = jQuery.noConflict(); $j(document).ready(function(){ $j("#test").css("padding","10px"); });
Hinweis: Ich habe diese Lösung nicht erfunden, ich wollte nur Informationen konsolidieren, die ich bei der Recherche gefunden habe. Hauptsächlich stammten sie aus dem Wiki und diesem Thread, die Sie für weitere Informationen heranziehen können.
Chris, ist das auch ein CMS? Kann man damit statische Seiten erstellen, wie eine "Über uns"-Seite oder etwas Ähnliches? Wenn nicht, kannst du teilen, wie und mit welchem CMS du das verwenden würdest. Aber ja, diese Software sieht fantastisch aus! Danke
Ich bin nicht Chris, aber ja, es ist ein wahnsinnig cooles CMS, das es Ihnen ermöglicht, statische Seiten zu erstellen. Es kommt sogar mit einer "Über uns"-Seite. Es sendet auch automatisierte E-Mails, wenn jemand einen Kauf tätigt, sich für ein Konto anmeldet und vieles mehr. Sie können sich mit UPS, DHL, FedEx und USPS verbinden. Es hat Google Analytics und Google Checkout integriert... Lassen Sie mich sehen, ähm, PayPal. Es hat eine Newsletter-Funktion, die Sie an Kunden senden können. Sie können ihnen Newsletter basierend auf der Art des Kunden senden.
Sie haben kürzlich eine Version herausgebracht, die digitale Downloads ermöglicht.
Sie können für bestimmte Artikel über einen von Ihnen festgelegten Zeitraum Promotionen einrichten. Sie können Promo-Codes einrichten. Verschiedene Shops für verschiedene Zielmärkte wie Sprache, Währung, Produkte oder was auch immer.
Ich könnte weitermachen.
Entschuldigen Sie den schlecht geschriebenen Kommentar. Aber Mann, es ist cool.
In Titel und Beitrag hast du "Magneto" geschrieben, ich denke, es ist Magento.
Das ist urkomisch. Kein Wunder, dass ich jedes Mal, wenn ich danach google, ein Bild vom Bösewicht aus X-Men bekomme!
Haha... ich dachte nur, du spielst mit Worten "Mag" + "Neat-o"
hahah Gold
Ich habe es auch am längsten Magneto genannt.
hahaha. Ich auch.
Dein Link ist immer noch falsch ;)
Wenn jemand über Google sucht... bewegt er sich irgendwo zurück... wegen der falschen Schreibweise
Grüße
Allan
Hallo Chris, tolle Infos!
Ich spiele gerade mit Magento herum und es scheint ziemlich kompliziert zu sein.
Gibt es keine Möglichkeit, die scriptaculous&co JS-Dateien für immer zu entfernen und nur jQuery zu verwenden?
Meine Firebug meldet, dass alle scriptaculous-Dateien zwischen 4-12 Sekunden zum Laden benötigen. Das ist viel zu viel für einige Dateien, die ich nicht einmal verwenden werde.
Ich habe versucht, das zu tun, und bin auf Fehler gestoßen.
Danke nochmals für das Tutorial!
Sehr cool Open-Source-Warenkorb... jetzt habe ich eine weitere Option neben oscommerce :) Danke Chris!
Sehr schön. Ich habe noch nie von Magento gehört und habe mir gerade ein paar Minuten Zeit genommen, um es mir anzusehen. Sieht seriös aus, also werde ich es wohl benutzen.
Wir haben es noch nicht in Produktion gestartet, und es ist meine erste Erfahrung, aber meine bisherige Erfahrung ist, dass es ausgezeichnet ist.
Wir haben etwa 1500 Magento-Website-Installationen und es funktioniert gut für uns. Es gibt Optimierungen, die Sie durchführen können, um Magento zu beschleunigen, z. B. indem Sie Ihren var-Cache und Ihre Sitzung in /dev/shm legen. Schauen Sie sich die Magento-Foren an, es gibt zufällige Threads mit Perlen wie der oben genannten.
Hey Chris! Ich benutze Magento auch zum ersten Mal bei der Arbeit. Und ich, ebenfalls, hatte vor, zu jQuery zu wechseln, wann immer möglich. Sie haben mir also eine Menge Arbeit erspart. Danke!
Ist das Problem hier nicht, dass Sie jetzt sowohl Prototype & jQuery laden? Das sind ganz schön viele JavaScript-Bibliotheken, die man einem Besucher mit leerem Cache laden muss?
Hat jemand Methoden, um die Abhängigkeit von Prototype vollständig zu ersetzen – ähnlich wie jrails es für Ruby on Rails tut?
Gute Zeit Chris. Ich beginne im Februar mit einem Magento-Projekt. Und an Chad: Das beste CMS, das ich bisher für die Integration von Magento gefunden habe, ist typo3. Es gibt eine spezielle Erweiterung dafür... habe den Link nicht zur Hand, kann ihn aber später posten.
Chris: Ich schätze, einige von uns möchten mehr Magento-Zeug hier sehen ;)
Schöne Grüße,
tobi
Ich habe ein kleines Problem mit Ihrer Lösung bemerkt. Technisch gesehen könnte die Datei, die Sie ändern, bei einem Magento-Update überschrieben werden. Der beste Weg, dies zu tun, ist, ein neues Theme zu erstellen und dann die Änderung an diesem neuen Theme vorzunehmen.
Hier sind einige Informationen zur Erstellung eines neuen Themes. Im Grunde duplizieren Sie die Ordner des Standard-Themes (es gibt ein paar davon) und benennen sie in Ihr neues Theme um. Dies stellt sicher, dass die von Ihnen geänderten Dateien vollständig von Magento-Updates getrennt sind, sodass Sie sich keine Sorgen machen müssen, dass Ihre Änderungen überschrieben werden.
Hallo, Chris
Ich habe Magento letztes Jahr getestet und es als etwas eigenartig in seiner Theme-Einrichtung empfunden, außerdem war es ziemlich langsam im Vergleich zu Zen Cart, das ich standardmäßig verwende.
Ein Vidcast über Magento-Theming wäre ausgezeichnet.
Wie finden Sie die Geschwindigkeit?
Ross
Hat jemand Erfahrung mit der Integration von Magento in WordPress?
Ich habe recherchiert und diese Informationen gefunden.
Installieren Sie WordPress in einem Ordner namens wordpress unter Ihrer Magento-Installation
In der Datei Noroute.php unter dem Ordner block
ändern Sie dies
$uri = Mage::getBaseUrl() . ‘ee’ . $this->getRequest()->getRequestString();
zu diesem
$uri = Mage::getBaseUrl() . ‘wordpress’ . $this->getRequest()->getRequestString();
verwenden Sie dies in Ihrer .htaccess-Datei
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
Darüber hinaus, Chris, wenn Sie eine dieser großartigen 3-teiligen Serien über das Theming von Magento machen würden, würden Sie eine sehr tiefe Ader abbauen. Viele Treffer.
PS: Ich schreibe Magento immer wie Magneto.
@Ross
Ich habe Magento für ein paar Projekte verwendet, und es ist Zen Cart und OS Commerce (beide, die ich zuvor verwendet habe) weit überlegen. Die Geschwindigkeit von Magento hängt von Ihrer Serverkonfiguration ab. Es passiert viel hinter den Kulissen (das Zend Framework ist ziemlich kompliziert, aber felsenfeste). Ich habe derzeit 2 Magento-Installationen. Eine auf meinem Desktop-Computer zur Entwicklung und eine auf einem speziell für Magento konfigurierten Server (Simple Helix). Die Server-Installation ist sehr schnell.
Fazit: Wenn Sie es ernst meinen mit einer großartigen E-Commerce-Lösung, geben Sie etwas mehr Geld für einen Hosting-Plan aus, der Magento fliegen lässt.
Ich baue gerade meine neue Website mit Magento und versuche schon seit ein paar Tagen, das herauszufinden! Es war der Punkt mit dem Aktualisieren der Effektdaten, der es für mich zum Laufen brachte. Danke!
Ich muss alle warnen...
Erstens ist das Styling und die Erstellung eines eigenen Themes für Magento keine kleine oder einfache Aufgabe! Es gibt überall Dateien, und Tausende davon. Ich übertreibe nicht einmal.
Zweitens, wenn Sie Fragen dazu haben, wie man etwas ändert oder modifiziert, viel Glück in den Foren. Ich hatte wenig bis gar keinen Erfolg mit den Magento-Foren.
Drittens, wenn Sie PHP nicht kennen oder sich nicht damit beschäftigen wollen, suchen Sie woanders.
Ich schätze, der Vorteil ist, dass ich besser in meinen PHP-Debugging-Fähigkeiten werde...
Hallo Chris. Lange Zeit Leser aus Portland, erster Kommentator... Sie können auch mit Prototype/jQuery umgehen, indem Sie verwenden
jQuery.noConflict();(function($) {
// Hier Ihr jQuery-Code, der immer noch $ verwendet
})(jQuery);
Indem Sie jQuery an eine Funktion übergeben, die den Parameter als $ definiert, wird garantiert, dass $ innerhalb des Körpers der Funktion auf jQuery verweist. Dies ermöglicht es Ihnen, das jQuery-Dollarzeichen anstelle von $j in Ihrem Beispiel zu verwenden.
wie wäre es mit mootools leute
Chris spricht es in seinem Screencast auch als Magneto aus =)
Erstellen Sie definitiv Ihr eigenes Theme, da ein Magento-Update das Standard-Theme überschreiben wird.
Sie können auch von Google gehostete Dateien verwenden, um Bandbreite und Ladezeiten zu sparen.
Ausgezeichnete Tipps Chris. Wie wäre es mit einem Screencast über Magento und einige der Designprobleme, die beim Entwickeln Ihres Themes auftreten?
Toller Tipp. Das gibt mir jetzt ein paar Optionen mit AJAX. Und Sie haben Recht, Magento ist eine großartige Plattform. Zuerst dachte ich, es sei nur anders, um anders zu sein, aber ungefähr beim zweiten oder dritten Projekt begann ich, einige seiner Eigenheiten zu verstehen. Alles, was es braucht, ist, nicht anzunehmen, dass der Status Quo der einzige Weg ist.
Ja, es funktioniert! Danke.