Neu Sonderpreis auch als Rabatt % anzeigen

Dustin

Sehr aktives Mitglied
14. Mai 2008
2.966
50
Enger
Hi an alle,

jetzt brauche ich mal eure Hilfe. Ich möchte gerne wie auf dem angehängten Bild zu sehen, die Artikel mit Sonderpreis mit einem Badge versehen wo die Prozentzahl an Rabatt zu sehen ist.

Leider finde ich nix im Forum.

Hat jemand eine Idee wie ich das umsetzen kann? Das Problem welches ich sehe das der Wert in Prozent nicht vorliegt.

Einen Prozentwert für Preis gegenüber UVP habe ich gefunden.

Danke für Eure Hilfe
 

Anhänge

  • Sonderpreise.png
    Sonderpreise.png
    407,8 KB · Aufrufe: 336

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.452
282
Dafür musst Du eine eigene Funktion oder ein Plugin schreiben, welches Dir den Differenzbetrag in Prozent ermittelt und ans Template übergibt.
 

Dustin

Sehr aktives Mitglied
14. Mai 2008
2.966
50
Enger
So habe mich jetzt selbst hingesetzt. Für die Artikeldetailseite klappt das auch schon. Leider für die Artikelübersicht nicht. Folgendes habe ich in der Navi.php hinzugefügt. Leider füllt er mir die Variable nicht.

Hat jemand eine Idee?

PHP:
if (count($oSuchergebnisse->Artikel->elemente) > 0) {
        foreach ($oSuchergebnisse->Artikel->elemente as $Artikel) {
        
                $oSuchergebnisse->Artikel->elemente->Preise->rabatt = round(str_replace(',', '.',(100 - ((str_replace('.', '',$AktuellerArtikel->Preise->cVKLocalized[0]) / str_replace('.', '',$AktuellerArtikel->Preise->alterVKLocalized[0])) * 100))));
            }

            }
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.452
282
1. $AktuellerArtikel existiert in der Übersicht nicht
2. Du läufst durch die Ergebnisliste, weist den Rabatt aber keinem explizieten Artikel zu.
3. Wo hast Du diese Funktion definiert, worüber rufst Du sie auf?
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
Hallo,
... Folgendes habe ich in der Navi.php ... @JTL keine Idee wo mein Fehler liegt?
Der grundlegende Fehler ist: Direkt Änderungen an den Shop-Dateien vorzunehmen. Ihre Installation wird dadurch nicht mehr updatebar und unser Support kann ihnen ggfs. nicht helfen, da Probleme nicht nachgestellt werden können!
Besser wäre es solche Änderungen in Plugins zu verpacken oder über zusätzliche Templatefunktionen zu realisieren, die dann aus dem eigenen Template heraus aufgerufen werden können. Beim Rumbasteln am Shop-Core können wir NICHT helfen!
 

Dustin

Sehr aktives Mitglied
14. Mai 2008
2.966
50
Enger
1. $AktuellerArtikel existiert in der Übersicht nicht
2. Du läufst durch die Ergebnisliste, weist den Rabatt aber keinem explizieten Artikel zu.
3. Wo hast Du diese Funktion definiert, worüber rufst Du sie auf?

Hi Martin,

mit $AktuellerArtikel hast du recht! Habe ich geändert in $Artikel

Zu 2. Ich will ja jedem Artikel der einen Sonderpreis hat in der Ergebnisliste einen Rabatt in % zb. 12 zuweisen!

Zu 3. Die Funktion ist Hardcoded leider in der Navi.php drin.

Hallo,

Der grundlegende Fehler ist: Direkt Änderungen an den Shop-Dateien vorzunehmen. Ihre Installation wird dadurch nicht mehr updatebar und unser Support kann ihnen ggfs. nicht helfen, da Probleme nicht nachgestellt werden können!
Besser wäre es solche Änderungen in Plugins zu verpacken oder über zusätzliche Templatefunktionen zu realisieren, die dann aus dem eigenen Template heraus aufgerufen werden können. Beim Rumbasteln am Shop-Core können wir NICHT helfen!

Ich weiß das dieses nicht der schöne Weg ist aber gerade die schnellste Umsetzung. Leider bietet der Shop ja diese Funktion nicht! Bzw. funktioniert Sie nicht korrekt.
 

Dustin

Sehr aktives Mitglied
14. Mai 2008
2.966
50
Enger
So habe es jetzt gelöst und ohne den Core anzupacken. Folgende Änderungen habe ich in die Details.tpl vom Artikel eingefügt.

PHP:
            {if isset($Artikel->Preise->Sonderpreis_aktiv) && $Artikel->Preise->Sonderpreis_aktiv}
            {assign var="rabatt" value=round(str_replace(',', '.',(100 - ((str_replace('.', '',$AktuellerArtikel->Preise->cVKLocalized[0]) / str_replace('.', '',$AktuellerArtikel->Preise->alterVKLocalized[0])) * 100))))}
            <span class="label label-danger overlay-rabatt">Aktion -&nbsp;{$rabatt}&nbsp;%</span>
            {/if}

Und das in die item_box.tpl

PHP:
 {if isset($Artikel->Preise->Sonderpreis_aktiv) && $Artikel->Preise->Sonderpreis_aktiv}
            {assign var="rabatt" value=round(str_replace(',', '.',(100 - ((str_replace('.', '',$Artikel->Preise->cVKLocalized[0]) / str_replace('.', '',$Artikel->Preise->alterVKLocalized[0])) * 100))))}
            <span class="label label-danger overlay-rabatt">Aktion -&nbsp;{$rabatt}&nbsp;%</span>
  
        {elseif isset($Artikel->oSuchspecialBild)}
            <img class="overlay-img hidden-xs" src="{$Artikel->oSuchspecialBild->cPfadKlein}" alt="{if isset($Artikel->oSuchspecialBild->cSuchspecial)}{$Artikel->oSuchspecialBild->cSuchspecial}{else}{$Artikel->cName}{/if}" />
        {/if}

Dann noch die custom.css anpassen:

Code:
.overlay-rabatt {
    left: 2px;
    position: absolute;
    top: 4px;
    font-size: 18px;
}

Das Ergebnis sieht dann so aus:

https://www.lamido.de/badezimmer/waschplaetze

Gruß
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: weitergehts

fibergirl

Sehr aktives Mitglied
14. April 2016
831
260
Wenn diese Änderungen nicht in einem eigenen Template (oder Child-Template) gemacht werden, dann sind sie beim nächsten Shop-Update wieder weg, da überschrieben.

Nur so, als Hinweis.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
Ich weiß das dieses nicht der schöne Weg ist aber gerade die schnellste Umsetzung.
Der "schnellste" Weg wäre für mich das direkt im Template (z.B. in productlist/item_list.tpl bzw. productlist/item_box.tpl) bei der Ausgabe "on the fly" aus den Werten von $Artikel->Preise zu berechnen und auszugeben und dabei statt der VKLocalized Variablen die VKNetto/VKBrutto Entsprechungen zu verwenden. Das wäre zwar auch nicht schön, da die Logik im Template steckt, aber eben updatesicher und ohne Core-Änderungen.
 

Dustin

Sehr aktives Mitglied
14. Mai 2008
2.966
50
Enger
Der "schnellste" Weg wäre für mich das direkt im Template (z.B. in productlist/item_list.tpl bzw. productlist/item_box.tpl) bei der Ausgabe "on the fly" aus den Werten von $Artikel->Preise zu berechnen und auszugeben und dabei statt der VKLocalized Variablen die VKNetto/VKBrutto Entsprechungen zu verwenden. Das wäre zwar auch nicht schön, da die Logik im Template steckt, aber eben updatesicher und ohne Core-Änderungen.

Genauso habe ich es gemacht! Siehe oben!
 

Marktwert

Gut bekanntes Mitglied
18. Oktober 2016
151
14
Dustin:
als freche Frage eines Anfängers...kannst du den kompletten "korrigierten Code" nochmal posten?
Wenn ich dann die 3 Dateien bei mir so ändere funktioniert das dann auch?
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Workflow: Artikel aus Kategorie löschen, wenn Sonderpreis abgelaufen Arbeitsabläufe in JTL-Wawi 0
google shopping plugin - Grundpreis + Sonderpreis Gelöste Themen in diesem Bereich 10
JTL Wawi 1.9.4.4 startet gar nicht und kann auch keine Fehlermeldung senden JTL-Wawi 1.9 2
Neu Kategoriebilder für erste Unterkategorie auch auf dem handy anzeigen lassen Templates für JTL-Shop 3
Neu cKundenNr im JTL Shop nicht gesetzt. Auch kKundengruppe. Wie Rückkanal zum Shop aktualisieren? JTL-Wawi - Fehler und Bugs 3
Neu CSS Problem - Galerie - Hilfe gesucht, gerne auch gegen Entgelt Templates für JTL-Shop 8
Neu Track and Trace mit DPD, geht auch DPD Cloudservice? JTL-Track&Trace - Fehler und Bugs 1
Neu Skonto bei Zahlung nicht erkannt. Rechnung bleibt dauerhaft als teilbezahlt. User helfen Usern - Fragen zu JTL-Wawi 7
Neu JTL Shipping: Straße 2 1/2 kommt als 212 bei DHL im Shipping Label an JTL-ShippingLabels - Fehler und Bugs 1
Packliste als CSV exportieren JTL-Wawi 1.9 9
Neu SQL Abfrage - Sendungsnummern als Liste nach Datum Schnittstellen Import / Export 2
Neu Bestandskunden JTL Wawi als Kundenaccounts Woocommerce anlegen WooCommerce-Connector 3
Neu FBA Anlieferung aus der JTL-Wawi heraus --> Firmenname in der Absenderadresse wird nur noch als "-" dargestellt Amazon-Anbindung - Fehler und Bugs 1
Neu Gebinde wie angelegt unter sonstiges als Barcode ausgeben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 11
Neu Aufruf Ameise als Batch JTL-Ameise - Ideen, Lob und Kritik 0
Amazon FBA Gutschrift als Rechnungskorrektur? JTL-Wawi 1.9 1
Neu Aktionsleiste als generelles Portlet? Allgemeine Fragen zu JTL-Shop 1
Neu Abweichende Lieferadresse als Standard Allgemeine Fragen zu JTL-Shop 2
Neu Ausblenden von Artikeln wenn Bestand weniger als Mindestintervall Allgemeine Fragen zu JTL-Shop 0
Neu Editor im Shop als Vollbild nicht mehr möglich? Allgemeine Fragen zu JTL-Shop 4
Unterkategorie als Link auf eine andere Hauptkategorie setzen Einrichtung JTL-Shop5 2
Neu Zahlungsarten automatisch als bezahlt markieren Shopify-Connector 1
Neu Links als Menüeintrag setzen Allgemeine Fragen zu JTL-Shop 6
Neu Nettopreise aus Shopify werden als Bruttopreise an JTL übertragen Shopify-Connector 2
Neu API Rest Server als Dienst starten User helfen Usern - Fragen zu JTL-Wawi 1
Neu WooCommerce-Kategorie Name wird nicht übertragen -> WooCommerce-Kategorie #1, #2, #3 wird als Name genommen WooCommerce-Connector 1
Neu Farbe setzen funktioniert nach dem Updaten anders als früher. Was kann ich dagegen tun? Arbeitsabläufe in JTL-Wawi 0
Neu Greyhound Empfehlung als Ersatz für den Servicedesk / Datenübertragung / API Servicedesk (Beta) 13
Neu Preisliste mit reduzierten Bildgrößen als PDF speichern Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Komme nicht mehr als Admin in meinem Shop Allgemeine Fragen zu JTL-Shop 9

Ähnliche Themen