19. August 2011 §
Heute hat mich ein Fehler in einem Magento Shop (1.4.2.1) im Checkout auf Trab gehalten:
PHP Fatal error: Call to a member function setAttribute() on a non-object in /app/code/core/Mage/Customer/Model/Attribute/Data.php
Nach einiger Recherche im Magento Forum stieß ich auf
diesen Thread, der dann auch die Lösung enthielt.
Bei der Market Ready Germany Extension wird das Payone-Modul mit installiert, und dort fehlen einfach die Input-Datentypen für drei Werte, inklusive dem “Präfix”, was meinen aktuellen Shop dann auch zum Absturz brachte nachdem ich es aktiviert hatte. Abhilfe schafft eine kleine Query, die diese Werte korrekt setzt. Das aktuellste MRG (2.1.3) enthält diesen Fehler übrigens immer noch…
UPDATE eav_attribute SET frontend_input = 'date' WHERE attribute_code = 'customer_address_payone_credit_rating_date';
UPDATE eav_attribute SET frontend_input = 'text' WHERE attribute_code = 'customer_address_payone_credit_rating_score';
UPDATE eav_attribute SET frontend_input = 'text' WHERE attribute_code = 'customer_address_payone_credit_rating_secscore';
Ich hoffe es hilft jemandem die Suchzeit zu verkürzen
19. August 2011 §
Nach der Installation und Konfiguration eines Magento Shops möchte man natürlich “jungfräulich” anfangen Bestellungen zu empfangen. Es gibt dafür inzwischen eine Extension, aber ich mache es lieber “per Hand” via SQL Query, getestet unter Magento 1.4.2.x. ACHTUNG: Dadurch werden sämtliche Katalogsuchvorgänge, Bestellungen, Tags, Wunschlisten und “Send to Friend” Einträge unwiderruflich gelöscht. Auf jeden Fall ein aktuelles Backup der Datenabank machen vor dem Ausführen!
-- Reset Magento TEST Data
SET FOREIGN_KEY_CHECKS=0;
-- reset dashboard search queries
TRUNCATE `catalogsearch_query`;
ALTER TABLE `catalogsearch_query` AUTO_INCREMENT=1;
-- reset sales order info
TRUNCATE `sales_flat_creditmemo`;
TRUNCATE `sales_flat_creditmemo_comment`;
TRUNCATE `sales_flat_creditmemo_grid`;
TRUNCATE `sales_flat_creditmemo_item`;
TRUNCATE `sales_flat_invoice`;
TRUNCATE `sales_flat_invoice_comment`;
TRUNCATE `sales_flat_invoice_grid`;
TRUNCATE `sales_flat_invoice_item`;
TRUNCATE `sales_flat_order`;
TRUNCATE `sales_flat_order_address`;
TRUNCATE `sales_flat_order_grid`;
TRUNCATE `sales_flat_order_item`;
TRUNCATE `sales_flat_order_payment`;
TRUNCATE `sales_flat_order_status_history`;
TRUNCATE `sales_flat_quote`;
TRUNCATE `sales_flat_quote_address`;
TRUNCATE `sales_flat_quote_address_item`;
TRUNCATE `sales_flat_quote_item`;
TRUNCATE `sales_flat_quote_item_option`;
TRUNCATE `sales_flat_quote_payment`;
TRUNCATE `sales_flat_quote_shipping_rate`;
TRUNCATE `sales_flat_shipment`;
TRUNCATE `sales_flat_shipment_comment`;
TRUNCATE `sales_flat_shipment_grid`;
TRUNCATE `sales_flat_shipment_item`;
TRUNCATE `sales_flat_shipment_track`;
TRUNCATE `sales_invoiced_aggregated`;
TRUNCATE `sales_invoiced_aggregated_order`;
TRUNCATE `sales_order_aggregated_created`;
TRUNCATE `sendfriend_log`;
TRUNCATE `tag`;
TRUNCATE `tag_relation`;
TRUNCATE `tag_summary`;
TRUNCATE `wishlist`;
TRUNCATE `log_quote`;
TRUNCATE `report_event`;
ALTER TABLE `sales_flat_creditmemo` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_creditmemo_comment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_creditmemo_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_creditmemo_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_invoice` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_invoice_comment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_invoice_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_invoice_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_address` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_payment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_status_history` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_address` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_address_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_item_option` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_payment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_shipping_rate` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment_comment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment_track` AUTO_INCREMENT=1;
ALTER TABLE `sales_invoiced_aggregated` AUTO_INCREMENT=1;
ALTER TABLE `sales_invoiced_aggregated_order` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_aggregated_created` AUTO_INCREMENT=1;
ALTER TABLE `sendfriend_log` AUTO_INCREMENT=1;
ALTER TABLE `tag` AUTO_INCREMENT=1;
ALTER TABLE `tag_relation` AUTO_INCREMENT=1;
ALTER TABLE `tag_summary` AUTO_INCREMENT=1;
ALTER TABLE `wishlist` AUTO_INCREMENT=1;
ALTER TABLE `log_quote` AUTO_INCREMENT=1;
ALTER TABLE `report_event` AUTO_INCREMENT=1;
SET FOREIGN_KEY_CHECKS=1;
Gefunden im Magento Forum
11. August 2011 §
Bei einem aktuellen Projekt gab es die Anforderung, die identischen Produkte mit gleichen Bruttopreisen wie für Deutschland eingestellt auch in der Schweiz zu verkaufen. Allerdings sollten hier natürlich die 8% für die Schweiz eingerechnet werden.
» Rest des Artikels lesen «
30. Juni 2011 §
Über Magentos ‘Dataflow’ lässt sich eine Menge realisieren. Unter anderem natürlich der Im- und Export von Produktdaten um z.B. Preise zu pflegen. Leider sind die Standard-Filtermöglichkeiten nicht gerade berauschend. Will man z.B. alle Produkte eines Herstellers haben, so gibt es dazu bisher keine Möglichkeit. Ich zeige Ihnen hier wie das geht.
» Rest des Artikels lesen «
23. Juni 2011 §
Viele Shopbetreiber nutzen Google Analytics zusammen mit Adwords. Und da jeder gern wissen möchte, welche Keywords welchen Umsatz bringen, ist das Conversiontracking unerlässlich. Leider ist das bei Magento gar nicht so einfach einzubinden für den unbedarften Shopeigner. Ich zeige Ihnen daher kurz wie das geht. Diese Anleitung ist für Magento 1.4.x geschrieben worden, sollte aber auch in 1.5.x und 1.6.x funktionieren.
» Rest des Artikels lesen «
21. April 2011 §
Nach längerer Suche habe ich eine Extension gefunden die es ermöglicht, Magento mit externem SMTP-Server mit unterschiedlichen Authentifizierungsmethoden, Einstellungen oder sogar via GMail zu betreiben:
ASchroder SMTPPro
15. April 2011 §
Eine Magento Datenbank lässt sich recht leicht mit PHPMyAdmin oder via Bash kopieren. Danach kann es allerdings zu folgendem Fehler kommen:
Recoverable Error: Argument 1 passed to Mage_Core_Model_Store_Group::setWebsite() must be an instance of Mage_Core_Model_Website, null given
Offensichtlich mag MySQL/PHPMyadmin keine Nullen im auto_increment, denn die Lösung war folgende Query:
SET FOREIGN_KEY_CHECKS=0;
UPDATE `core_store` SET store_id = 0 WHERE code='admin';
UPDATE `core_store_group` SET group_id = 0 WHERE name='Default';
UPDATE `core_website` SET website_id = 0 WHERE code='admin';
UPDATE `customer_group` SET customer_group_id = 0 WHERE customer_group_code='NOT LOGGED IN';
SET FOREIGN_KEY_CHECKS=1;
Damit werden die ursprünglich mit ID 0 angelegten Einträge wieder zurückgesetzt. Beim Kopieren bekommen sie hingegen ID 1 oder 2. Die Lösung war hier zu finden.
05. März 2011 §
Ich nutze so gut wie immer modman für meine eigenen und fremde Module. Dadurch kann ich Änderungen schnell einspielen und bei Bedarf auf eine alte Version zurückspringen. Alles was hier zu finden ist hat daher eine “modman” Datei mit an Bord und kann direkt ausgecheckt werden.
» Rest des Artikels lesen «
22. Februar 2011 §
Da bei der Magento-Entwicklung immer wiederkehrende Hürden und Fragen auftauchen, habe ich in diesem Artikel meine wichtigsten Snippets zusammengetragen. Der Beitrag wird ständig erweitert.
» Rest des Artikels lesen «
11. Februar 2009 §
Tja, Meet Magento ist vorbei, und ich habe es verpasst… im nachhinein schon ärgerlich, wenn man nicht die Zeit dafür findet. Dafür berichten andere sehr euphorisch und auch zynisch von dem Event, es muß also hoch her gegangen sein.
» Rest des Artikels lesen «