wir wollen unsere Artikel auf mehrdimensionale Varianten umbauen. Im Zuge dieser Umstrukturierung müssen wir unsere Umgebaute details.tpl anpassen.
Im standard Azure-Template werden bei der Auswahl einer Variante (in unserem Fall eine Farbe oder Größe) per Ajax die entsprechenden Artikeldaten neu geladen. Das Bild wird ausgetauscht sowie der Preis, Artikeldaten und der Warenkorb-Button angepasst. Soweit ist die Funktionsweise bekannt.
Bei der Entwicklung damals wurde auf diese Ajax-funktion verzichtet. Nun muss diese nachträglich eingebaut werden. Mit den original Azure-Templatedateien eigentlich kein Problem. Aber leider funktioniert es nicht so, wie es sollte.
Bei der Auswahl einer bestimmten Variante werden die Daten nicht richtig geladen. Es erscheint nur ein [I]undefined[/I] an der Stelle, wo die neuen Daten in das div geladen werden sollten. Dies klingt ganz danach, als ob die per Ajax nachgeladenen Daten nicht richtig validiert oder gar leer übergeben werden. Klingt eigentlich nach einem Programmierfehler.
Jetzt wirds aber kurios. Im standard Azure-Template funktioniert es ebenfalls nicht. Es erscheint ebenfalls nur ein [I]undefined[/I]. Im Basic-Template hingegen funktioniert es. Dies scheint aber daran zu liegen, dass da noch nicht die Ajax-Funktionen von jQuery verwendet werden.
jQuery ist ordnungsgemäß eingebunden in der neusten Version. Daran scheint es also nicht zu liegen. Ich vermute eher, dass es ein Konfigurations-Problem ist.
Auf unserem Testserver haben wir die Artikel bereits umstrukturiert. Zu beachten ist dabei eigentlich nur, dass die Variantenauswahl in der Struktur [I]Größe | Farbe[/I] (bsw.: L | Schwarz, XL | Schwarz) mit einem Trenner dazwischen angelegt werden muss. Der name der Variantenauswahl muss ebenfalls so umbenannt werden.
Muss noch etwas anderes beim Anlegen mehrdimensionaler Varianten beachtet werden?
Ist bei jemanden von euch dieses Phänomen ebenfalls mal aufgetreten?
Gibt es Lösungsansätze?
Danke für den Hinweis tobi. Aber leider scheint es nicht daran zu liegen. Die Bewertungen sind aktiviert und dennoch tritt der Fehler auf. Auch bei ausgeschalteter Bewertungsfunktion gibt es keine Veränderung.
In Oxshopcontrol.php ca. Zeile 324 steht dafür folgendes:
if (oxConfig::getParameter('renderPartial')) {
$oOutput->setOutputFormat(oxOutput::OUTPUT_FORMAT_JSON);
$oOutput->output('errors', $this->_getFormattedErrors());
}
und in oxoutput.php ca zeile 191:
public function output($sName, $output)
{
switch ($this->_sOutputFormat) {
case self::OUTPUT_FORMAT_JSON:
$this->_aBuffer[$sName] = $output;
break;
case self::OUTPUT_FORMAT_HTML:
default:
echo $output;
break;
}
}
Ist das bei euch so?[/QUOTE]
Hallo Leofonic,
zweiteres kann ich bestötigen. Die Codezeilen sind vorhanden.
Die oxshopcontrol.php kann ich im core Verzeichnis komischerweise nicht finden. Ich habe nur eine oxshop.php und eine oxshoplist.php.
Liegt die Datei evtl. in einem anderen Verzeichnis? Was für eine Funktionsweise hat die Datei? Vielleicht kommt es zu diesem Problem da die Datei offensichtlich fehlt.