Neu NOVA Konfigurator Preisanzeige der Optionen anpassen

apalusa

Sehr aktives Mitglied
22. Oktober 2018
259
72
Hallo Liebe Community,

wir haben vor kurzem das Update von 5.1.5 auf 5.2.2 gemacht und dabei habe ich festgestellt, dass die alte config_options.tpl nun aus dem NOVA Template gelöscht wurde. Nun habe ich mich auf die Suche begeben um meine Änderungen in den neuen Dateien zu übernehmen, leider bisher ohne Erfolg.

Ungefähr 90% der Konfigurationsoptionen bei unseren Artikel sind ohne einen Aufpreis versehen, nun haben wir das Problem, das bei all diesen Optionen 0,00 € dabei steht, dies sieht aber nicht schön aus und in der Vergangenheit hatten wir schon Kunden die angerufen und gefragt haben, wieviel die Option den nun kosten würde.
Bei meiner Suche durch die config_xxx Dateien habe ich schon ein paar Stellen gefunden die allem Anschein genau die sind die ich brauche, aber egal was ich daran ändere, es wirkt sich nicht auf das Frontend aus.

Problem 1:
In einer Dropdown Liste mit ca. 20 Optionen mit unterschiedlich langen Namen steht dahinter jeweils 0,00 €, die einzige Stelle die ich im Zusammenhang mit Dropdowns finden konnte ist
Code:
/productdetails/config_options_gallery.tpl
Zeile 283 - 287
Hier wollte ich in Zeile 283 das if anpassen, in etwa so
Code:
{if JTL\Session\Frontend::getCustomerGroup()->mayViewPrices() && $oItem->getPreisLocalized() != '0,00 €'}
Das selbe habe ich auch mit der Variable für Discount und Zuschlag probiert, aber es schafft keine Abhilfe. Testweise habe ich jede der Preis Ausgaben in diesen Zeilen verdoppelt aber im Frontend erscheinen die Preise tortzdem nur einmal, als ob ich an der falschen Stelle rumschraueben würde.

Problem 2:
Bei Auswahloptionen ohne Dropdown ist der Preis immer in einem badge von Bootstrap dargestellt. Hierzu habe ich zwei Stellen gefunden
Code:
/productdetails/config_item_description.tpl
Zeile 8 - 16
Zeile 19 - 27
Hier habe ich die selben Tests wie bei Problem 1 durchgeführt, jeweils ohne Erfolg.

Kann mir jemand sagen ob ich hier auf der richtigen Fährte bin oder befinde ich mich in ganz falschen Dateien? Die zwei Varianten xxx_gallery.tpl & xxx_list.tpl hören sich sehr stark nach Listen- bzw. Gallerieansicht in der Productlist an, befinden sich aber im Productdetails Ordner und in den anderen Dateien mit config_xxx konnte ich die entsprechenden Stellen aus dem Frontend nicht ausfindig machen da hier jeweils nichts von Dropdowns oder Badges erwähnt wird.

Vielen Dank im Voraus für sämtliche Tipps die ihr mir hierzu geben könnt!
 

apalusa

Sehr aktives Mitglied
22. Oktober 2018
259
72
Ich hatte nach meinem Post hier noch eine Zeitlang verschiedene Optionen probiert, allerdings kam dann zwischenzeitlich die Entscheidung, dass wir aus verschiedenen Gründen (unter anderem Performance) einen Template Wechsel zum Snackys Template durchführen werden, daher habe ich das Thema dann abgehakt und nicht weiter verfolgt. Ansonsten wäre mein nächster Schritt gewesen, den JTL Support zu kontaktieren. Für Template Anpassungen gibt es zwar keinen support, aber wenn das Child Template das Parent nicht überschreibt, scheint hier ja an anderer Stelle etwas im argen zu liegen.

Allerdings bin ich selbst bei dem Thema Template bzw. smarty noch sehr neu, und zwischenzeitlich habe ich festgestellt, dass das Child Template nur ganze Blöcke überschreiben kann. Ich habe jetzt die NOVA Dateien gerade nicht zur Hand, und würde mal vermuten, dass die komplette Datei mindestens einen {block} hat der den Inhalt abdeckt, aber schau mal nach ob dem so ist. Wenn es für die zu ändernden Stellen, die ich erwähnt hatte, keine {block} gibt der darüber gestellt ist, würde das erklären wieso die Überschreibung vom Child ignoriert wird. Wie man das dann allerdings löst, ohne die parent Dateien zu überschreiben ist mir allerdings nicht bekannt.

Sollte es einen {block} geben der die entsprechende Stelle umfasst, dann würde ich wie gesagt mal beim JTL Support nachfragen, wie es denn sein kann, dass an diesen Stellen eine Änderung im Child keine Auswirkung hat.
 

dvs-humbold

Aktives Mitglied
11. Mai 2021
5
1
Hallo Apalusa,

wir haben es scheinbar hinbekommen. Probiere das mal aus:

Um im Dropdown die 0,00 Anzeige rauszubekommen, config_options_list.tpl ändern:

Diesen Abschnitt

{if JTL\Session\Frontend::getCustomerGroup()->mayViewPrices()}
    
echo " ";
{if $oItem->hasRabatt() && $oItem->showRabatt()}({$oItem->getRabattLocalized()} {lang key='discount'}) {elseif $oItem->hasZuschlag() && $oItem->showZuschlag()}({$oItem->getZuschlagLocalized()} {lang key='additionalCharge'}) {/if}
{$oItem->getPreisLocalized()}
{/if}


in das hier geändert

{if JTL\Session\Frontend::getCustomerGroup()->mayViewPrices()}
{if $oItem->getPreisLocalized()>0}
{else}
    
echo " ";
{if $oItem->hasRabatt() && $oItem->showRabatt()}({$oItem->getRabattLocalized()} {lang key='discount'}) {elseif $oItem->hasZuschlag() && $oItem->showZuschlag()}({$oItem->getZuschlagLocalized()} {lang key='additionalCharge'}) {/if}
{$oItem->getPreisLocalized()}
{/if}
{/if}

Um in der Checkliste die 0,00 Anzeige rauszubekommen, config_item_description.tpl ändern:

Diesen Abschnitt an zwei Stellen


{badge variant="light" class="border-primary"}
{if $oItem->hasRabatt() && $oItem->showRabatt()}
<span class="discount">{$oItem->getRabattLocalized()} {lang key='discount'}</span>{elseif $oItem->hasZuschlag() && $oItem->showZuschlag()}
<span class="additional">{$oItem->getZuschlagLocalized()} {lang key='additionalCharge'}</span>
{/if}
{$oItem->getPreisLocalized()}
{/badge}


in das hier an zwei Stellen ändern

{if $oItem->getPreisLocalized()>0}
{else}
{badge variant="light" class="border-primary"}
{if $oItem->hasRabatt() && $oItem->showRabatt()}
<span class="discount">{$oItem->getRabattLocalized()} {lang key='discount'}</span>{elseif $oItem->hasZuschlag() && $oItem->showZuschlag()}
<span class="additional">{$oItem->getZuschlagLocalized()} {lang key='additionalCharge'}</span>
{/if}
{$oItem->getPreisLocalized()}
{/badge}
{/if}

Viel Erfolg und schöne Weihnachten
 
  • Gefällt mir
Reaktionen: apalusa