Hallo,
im Azure-Theme (CE 4.5.8) hatte ich die Produktbewertungen wie folgt (trivial) deaktiviert:
- in Datei “page/details/inc/fullproductinfo.tpl” wurde der Block
<div class="widgetBox reviews">
<h4>[{oxmultilang ident="DETAILS_PRODUCTREVIEW"}]</h4>
[{include file="widget/reviews/reviews.tpl"}]
</div>
einfach auskommentiert.
Das hat leider als Nebeneffekt zur Folge, dass sich der Preis bei Variantenauswahl ajaxmäßig nicht mehr aktualisiert. Nach der ersten Variantenauswahl gibt es noch eine Aktualisierung, aber spätestens bei der zweiten Auswahl passiert nichts mehr.
Grund ist, dass in review.tpl die Zeile
[{oxscript include="js/widgets/oxreview.js" priority=10 }]
nicht auskommentiert werden darf. (Den Rest kann man unbesorgt auskommentieren.)
Technischer Hintergrund ist vmtl. das “partial rendering” vom details view, also nur die teilweise Aktualisierung der Detailsseite mit Hilfe von Ajax, d.h. der Datei
\out\azure pl\page\details\ajax\fullproductinfo.tpl
Ein Auskommentieren der Teile in dieser Datei, die sich auf die oxreview beziehen
[{oxscript add="$( '#reviewRating' ).oxRating({openReviewForm: false, hideReviewButton: false});"}]
[{oxscript add="$( '#writeNewReview' ).oxReview();"}]
hilft aber immer noch nicht.
Was müßte man noch auskommentieren, falls man die oxreview.js komplett deaktiviert, damit die Varianten wieder funktionieren?
Danke für Tips,
Any comments? (Jetzt: Überschrift klarer als Frage formuliert…)
In ajax/productmain.tpl sind nochmal die gleichen 2 Zeilen auszukommentieren, und die Rating-Sterne in inc/productmain.tpl müssen auch weg.
Hallo Frank,
[QUOTE=leofonic;84435]In ajax/productmain.tpl sind nochmal die gleichen 2 Zeilen auszukommentieren, und die Rating-Sterne in inc/productmain.tpl müssen auch weg.[/QUOTE]
Danke für die Lösung; die Datei hatte ich übersehen!
Jetzt stellt sich nur noch die Frage, was die sauberste Vorgehensweise ist, die Produktbewertungen zu deaktivieren: in den Ajax-Dateien die genannten javascript-Aufrufe einzeln zu deaktivieren, oder aber in der reviews.tpl die genannte Skriptzeile einfach aktiviert zu lassen und nur den Rest drumherum zu deaktivieren. Was würdest Du machen?
BTW Kannst Du eine gute Einführung zu Ajax empfehlen? Ich hatte bislang keine Berührung mit Ajax/jquery, aber mit dem Azure-Theme kommt man wohl nicht darum, sich auch damit beschäftigen zu müssen. Schätzungsweise gibt es für die Ajax-Funktionalitäten im Oxid-Azure auch keine Dokumentation, oder? Würde mich sehr wundern.
Ich würde alles auskommentieren was nicht benötigt wird, also auch die js-Zeilen in den Ajax-Dateien.
Das Ajax bei Oxid benutzt jQuery. In oxarticlevariant.js wird die Variantenwahl abgehandelt und bei Bedarf “self.reloadProductPartially” aufgerufen. Dieses ruft dann “oxAjax.ajax” aus oxajax.js auf für das Nachladen. Problem dabei: wegen https://bugs.oxid-esales.com/view.php?id=3375 kann man js-Fehler die dabei auftreten (wie z.B. der Fehler wegen den reviews) nirgends sehen.
Tutorials: Wenn du nach “jquery ajax” googlest, findest du einige.
[QUOTE=leofonic;84522] wegen https://bugs.oxid-esales.com/view.php?id=3375 kann man js-Fehler die dabei auftreten (wie z.B. der Fehler wegen den reviews) nirgends sehen.[/QUOTE]
Laut Bugtracker müßte man js-Fehler jetzt zumindest in der FF-Konsole sehen. Klappt das?
In der 4.6.0 beta bekomm ich nichts angezeigt.