Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

[GELÖST] Staffelpreise / Tier Pricing - Kann nur max. 37 Staffelpreise anlegen Bug? Fehler? 
 
Robrobot
Jr. Member
 
Total Posts:  9
Joined:  2012-09-25
 

Hallo liebe Commmunity,

dies ist mein erster Beitrag hier im Forum und ich freue mich mit an Board zu sein.

Ich bin absoluter Magento-Neuling und stehe vor einem für mich schier unlösbarem Problem.
Habe seit Tagen im Internet nach einer Lösung gesucht aber nicht mal ansatzweise jemanden mit dem selben “Fehler” gefunden.

Deshalb wende ich mich nun an die Experten hier im Forum mit der Bitte um Rat, Hilfe und / oder Informationen die zum beheben des beschriebenen Verhaltens führen.

Bitte lasst euch von der Menge an Text und Screenshots dieses Postings nicht abschrecken!

Ich versuche den Fehler so strukturiert und detailliert wie möglich zu beschreiben um alle Informationen zur Verfügung zu stellen und gliedere meinen Beitrag in mehrere Abschnitte.

Vielleicht liegt es ja “nur” an der Serverkonfiguration. Ihr seid wirklich unsere letzte Hoffnung!

Vielen Dank für eure Hilfe im voraus,
Rob
:-)

File Attachments
catalog_product_entity_tier_price.sql  (File Size: 4KB - Downloads: 24)
exception-log.txt  (File Size: 3KB - Downloads: 47)
system-log.txt  (File Size: 6KB - Downloads: 20)
 
Magento Community Magento Community
Magento Community
Magento Community
 
Robrobot
Jr. Member
 
Total Posts:  9
Joined:  2012-09-25
 

Teil 1 - Server Infos:

magento-check.php:
Your server does not meet the following requirements in order to install Magento.
The following requirements failed, please contact your hosting provider in order to receive assistance with meeting the system requirements for Magento:

Safe Mode is on

The following requirements were successfully met:

You have PHP 5.2.0 (or greater)
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

PHPmyadmin:
MySQL
Server: 127.0.0.1 via TCP/IP
Server Version: 5.0.51a-24+lenny5
Protokoll-Version: 10
MySQL-Zeichensatz: UTF-8 Unicode (utf8) utf8_general_ci

Webserver
Apache
MySQL-Client-Version: 5.0.51a
PHP Erweiterung: mysqli

phpMyAdmin
Versionsinformationen: 3.3.7deb2tzz1~bpo50

permanente Fehlermeldung in PHPmyadmin:
Die zusätzlichen Funktionen für verknüpfte Tabellen wurden automatisch deaktiviert. Klicken Sie hier um herauszufinden warum.
Verbindung für den controluser, wie er in Ihrer Konfiguration angegeben ist, ist fehlgeschlagen.
Der Server läuft mit Suhosin. Bitte lesen Sie die Dokumentation wegen möglicher Probleme.
http://s7.postimage.org/71tfvv6x3/sql_error_01_de.jpg

phpinfo
PHP Version 5.2.6-1+lenny16
Linux srv 2.6.26-2-amd64 #1 SMP Sun Mar 4 21:48:06 UTC 2012 x86_64
Apache 2.0 Handler

This server is protected with the Suhosin Patch 0.9.6.2
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies with Suhosin v0.9.27, Copyright (c) 2007, by SektionEins GmbH

Image Attachments
sql_error_01_de.png
 
Magento Community Magento Community
Magento Community
Magento Community
 
Robrobot
Jr. Member
 
Total Posts:  9
Joined:  2012-09-25
 

Teil 2 - Fehlerbeschreibung:

Ich kann in meiner Magento-Installation nur 37 Staffelpreise anlegen, dann bekomme ich eine SQL-Fehlermeldung und das Produkt lässt sich nicht mehr weiter bearbeiten bzw. speichern.

Bis zum 37. Staffelpreis verhält sich alles “normal”:

- Das Produkt wird gesichert / aktualisiert.
- Die Staffelpreise werden in die Datenbank geschrieben.

(auf den Screenshots sieht man Qty. 38 - das ist aber der 37. Staffelpreis)

http://s23.postimage.org/4eu5xmlvb/01_product_saved.jpg

http://s17.postimage.org/pq5bqw3l7/02_37_tier_prices_saved_to_db.jpg

Wenn ich den 38. Staffelpreis anlege und speichere, erhalte ich die Meldung “The Product has been saved” aber es werden keine Einträge in die Datenbank geschrieben und das Produkt hat auch keinen 38. Staffelpreis.

Das Produkt lässt sich zu diesem Zeitpunkt aber noch bearbeiten. D.h. ich kann die Beschreibung etc. bearbeiten und abspeichern.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Robrobot
Jr. Member
 
Total Posts:  9
Joined:  2012-09-25
 

Teil 3 - Beobachtung + Versuche der Fehlerbehebung bzw. -Umgehung:

Wenn ich dann versuche gleichzeitig einen Group Price (Gruppenpreis) und einen Staffelpreis anzulegen und abspeichere, wird der Gruppenpreis gesichert aber anstatt einen 38. Staffelpreis hinzuzufügen, wird plötzlich einer gelöscht und ich habe auf einmal nur noch 36 Staffelpreise im Produkt.

Gruppenpreis und Staffelpreis angelegt und gesichert:
http://s21.postimage.org/70iknhlpf/03_group_price_1.jpg

… und plötzlich einen Staffelpreis weniger anstatt mehr:
http://s21.postimage.org/3ywdr9xyb/04_tier_price_disappeared.jpg

DB vorher:
http://s18.postimage.org/utyh8m7o5/05_db_before.jpg

DB nachher:
http://s12.postimage.org/459rfnyi1/06_db_after.jpg

Wenn ich anschließend dann den verschwundenen 37. Preis hinzufügen möchte, erhalte ich wieder die Bestätigung das Produkt sei korrekt gesichert worden, es wird aber kein Staffelpreis in die DB hinzugefügt.

Sobald ich dann einen weiteren Gruppenpreis anlegen möchte, wird dieser Gruppenpreis auch korrekt gesichert, aber es fehlt auf einmal schon wieder ein Staffelpreis mehr und ich habe nur noch 35 Staffelpreise.

Zweiter Gruppenpreis wird gesichert, ein Staffelpreis weniger:
http://s21.postimage.org/vlde0k2eb/07_group_price_2.jpg

Dritter Gruppenpreis, wieder ein Staffelpreis weniger (jetzt nur noch 34):
http://s23.postimage.org/jsx1ck1mf/08_group_price_3.jpg

Das anlegen eines vierten Gruppenpreises führt nun dazu, dass das Produkt gar nicht mehr gesichert wird und ich erhalte folgende Fehlermeldung:
http://s9.postimage.org/4rxbnn80r/09_sql_error.jpg

Seltsamerweise verschwindet diese Fehlermeldung wenn ich das Produkt (z.B. Beschreibung) bearbeite und speichere, weitere Staffelpreise werden aber nicht mehr in die DB geschrieben.

Nachdem ich das Produkt dann an anderer Stelle bearbeitet habe, kann ich seltsamerweise den gewünschten vierten Gruppenpreis erstellen und speichern. Es fehlt dann aber schon wieder ein Staffelpreis mehr und ich habe nun nur noch 33.
http://s21.postimage.org/pmzkqbjfn/10_group_price_4.jpg

Die Datenbank scheint mir also nach irgendeinem Schema nicht mehr als 37 Einträge für die Preise zu erlauben.
4 Gruppenpreise + 33 Staffelpreise
3 Gruppenpreise + 34 Staffelpreise
2 Gruppenpreise + 35 Staffelpreise
1 Gruppenpreis + 36 Staffelpreise
37 Staffelpreise

 
Magento Community Magento Community
Magento Community
Magento Community
 
Robrobot
Jr. Member
 
Total Posts:  9
Joined:  2012-09-25
 

Jetzt wird es gruselig:

Wenn ich dann also 4 Gruppenpreise und 33 Staffelpreise ohne Fehlermeldung habe und einen weiteren Staffelpreis hinzufügen möchte, wird:
- das Produkt gesichert
- ein 35. Staffelpreis in der Datenbank angelegt
- der Preis aber wird als 0,000 in die Datenbank geschrieben

Produkt besitzt 35. Staffelpreis:
http://s22.postimage.org/luh10veb1/10_group_price_4.jpg

0,000 in der Datenbank:
http://s3.postimage.org/9ndnxz4n3/12_price_0000_db.jpg

Das möchte ich dann natürlich korrigieren und gebe den gewünschten Staffelpreis in PHPmyadmin ein:

http://s18.postimage.org/prlqrknrp/13_price_correction.jpg

… erhalte dann aber wieder den SQL Error wie oben und am Preis hat sich nichts geändert.

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘WHERE (value_id = 40)’ at line 1

Wenn ich den Preis dann mit PHPmyadmin korrigiere:
http://s24.postimage.org/sw9wpyblt/14_phpmyadmin_1.jpg

… geht das und der Preis wird korrekt in der DB gesichert:

http://s10.postimage.org/dre7ufe51/16_phpmyadmin_3.jpg

… im Backend erscheint der gewünschte, zusätzliche Staffelpreis mit korrektem Preis:
http://s22.postimage.org/5d7tf7i25/17_backend_1.jpg

… und auch im Frontend sieht alles “normal” aus:
http://s16.postimage.org/46qqanjg1/18_frontend_1.jpg

Wenn ich das Produkt dann aber bearbeite und speichern will, erhalte ich wieder diese SQL-Fehlermeldung, es wird nichts neues in die DB geschrieben bzw. aktualisiert. Der Preis bleibt weiterhin erhalten. Das Produkt ist aber leider “unbearbeitbar” geworden.

Erst wenn ich dann im PHPmyadmin den letzten Staffelpreis wieder entferne kann ich das Produkt weiter bearbeiten.

Die Datenbank scheint mir also nicht mehr als “x” Einträge zu den Preisen zu erlauben.

Im PHPmyadmin kann ich aber so viele Staffelpreise anlegen wie ich möchte, hier erscheint keine Fehlermeldung und die Daten sind dann auch im Back- und Frontend vorhanden.

Tabelle in PHPmyadmin “von Hand” bearbeitet:
http://s24.postimage.org/4q3uskev5/19_db_edit.jpg
http://s22.postimage.org/u03ocrrxp/20_db_edit.jpg

Daten im Backend vorhanden:
http://s18.postimage.org/9bmxipaad/21_db_edit.jpg

Daten im Frontend vorhanden:
http://s16.postimage.org/plmp8wwfl/22_db_edit.jpg

Das Produkt ist dann aber leider weiterhin unbearbeitbar und ich erhalte die fiese SQL-Fehlermeldung mit der ich halt so rein gar nichts anfangen kann:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘WHERE (value_id = 35)’ at line 1
http://s9.postimage.org/4rxbnn80r/09_sql_error.jpg

Das Seltsame daran ist, dass der Fehler jetzt hartnäckig an der id=35 zu heften scheint.
Es existieren zu diesem Zeitpunkt ja bereits mehr ids (40)

Besagte Datenbanktabelle befindet sich im Anhang zu diesem Posting.

File Attachments
catalog_product_entity_tier_price.sql  (File Size: 4KB - Downloads: 20)
 
Magento Community Magento Community
Magento Community
Magento Community
 
Robrobot
Jr. Member
 
Total Posts:  9
Joined:  2012-09-25
 

Ein ähnliches Verhalten hatte ich bei einer anderen Installation auf Hosteurope. Da konnte ich aber (nur) bis zu 159 Staffelpreise anlegen. Wir dachten es läge an Hosteurope, dem eigenen Theme oder den Modifikationen.

Diese Installation läuft nun aber auf unserem eigenen Server und es handelt sich hier um eine absolut “naturbelassene” Magento-Installation ohne Dummy-Content, mit dem Standard-Theme und nur diesem einen Produkt.

Exakt dasselbe Verhalten hatten wir auch bei einer Magento-Installation auf demselben Server, deshalb wurde der Fehler noch mal mit einer “blanken” Installation reproduziert um “hausgemachte” Fehlerquellen auszuschließen. Bitte mitteilen, falls noch weitere Infos oder Daten fehlen sollten.

Bitte bitte helft uns! Wir sind mit unserem Latein am Ende.

File Attachments
catalog_product_entity_tier_price.sql  (File Size: 4KB - Downloads: 14)
exception-log.txt  (File Size: 3KB - Downloads: 23)
system-log.txt  (File Size: 6KB - Downloads: 67)
 
Magento Community Magento Community
Magento Community
Magento Community
 
Robrobot
Jr. Member
 
Total Posts:  9
Joined:  2012-09-25
 

Und hier auf bitten bzw. freundlichen Rat der Supporter im IRC Channel; das SQL Debug Log pdo_mysql.log im Anhang und hier auf pastebin http://pastebin.com/5sx1MCXJ

Update
Dank edannenbe’s Hilfe beim auslesen des Logs gibt es jetzt folgende neue Info:

UPDATE `catalog_product_entity_tier_price` SET WHERE (value_id = 35)

... es sei ein leerer String zwischen SET und WHERE gesetzt. Leider übersteigt dies absolut meinen Horizont und ich weiss weder wie so was zustande kommen kann, noch wie und an welcher Stelle ich da jetzt korrigierend eingreifen kann. Hilfe!

Update 2
Habe im PHPmyadmin alle Tier Prices gelöscht. Den pdo_mysql.log gelöscht und die Staffelpreise von neuem angelegt.
Der Fehler entstand wieder beim 37. Preis, das geschieht hier also scheinbar nicht an willkürlicher Position.

Hier der Paste:
Teil 1 http://pastebin.com/CaRmHUfk
Teil 2 http://pastebin.com/j6pcB76h
...ich musste es splitten, da ich bei pastebin keinen Pro-Account habe. Der aktuelle NEU.pdo_mysql.log befindet sich hier im Anhang.

File Attachments
pdo_mysql.log  (File Size: 199KB - Downloads: 97)
NEU.pdo_mysql.log  (File Size: 718KB - Downloads: 95)
 
Magento Community Magento Community
Magento Community
Magento Community
 
tutnix
Jr. Member
 
Total Posts:  1
Joined:  2010-09-22
 

in der php.ini oder .htaccess (je nach Einstellungen) folgende Änderungen machen:

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

dann läuft es.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top