Neu Sonderpreis auch als Rabatt % anzeigen

Dustin

Sehr aktives Mitglied
14. Mai 2008
2.970
51
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.477
289
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.970
51
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.477
289
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.970
51
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.970
51
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
261
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.970
51
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 Artikel immer ohne Sonderpreis kopieren Arbeitsabläufe in JTL-Wawi 0
Neu JTL-Infoschreiben "Wichtige Neuerung im Postgesetz zur Kennzeichnungspflicht" - Umsetzung auch für Österreichische Post Labels ? JTL-ShippingLabels - Ideen, Lob und Kritik 0
Welche Barcodeschriftart ist zu verwenden, damit der Druck auch von einem iOS-Gerät korrekt ausgeführt wird? JTL-Wawi App 7
Neu Gehosteter Shop nicht mehr aufrufbar und auch kein admin-Login mehr möglich JTL-Shop - Fehler und Bugs 3
Neu Durchschnittlilche Produktionsdauer auch ohne fixe Losgrößen JTL-Plan&Produce - Ideen, Lob und Kritik 0
JTL Wawi 1.9.4.4 startet gar nicht und kann auch keine Fehlermeldung senden JTL-Wawi 1.9 2
WAWi Workflows mit Zahlungen als Bedingung funktioniert nicht JTL-Workflows - Fehler und Bugs 0
Neu Bestellungen werden als bezahlt markiert WooCommerce-Connector 0
Neu EXTF csv Datev als eigenen Export, statt Ameise? Einzeldifferenzbesteuert! User helfen Usern - Fragen zu JTL-Wawi 2
Gutschrift bzw Rechnungskorrektur größer als neuer Auftrag JTL-Wawi 1.9 2
Neu JTL Artikel auf Shopify als Varianten anzeigen Shopify-Connector 2
Neu List & Label - Eigene SQL-Abfrage als Grundlage für Tabelle im Berichtscontainer? User helfen Usern - Fragen zu JTL-Wawi 10
Neu Voraussichtliches Lieferdatum aus Auftrag als Rechnungsdatum/Leistungsdatum Arbeitsabläufe in JTL-Wawi 1
Neu POS Aufträge in der Wawi nicht abgeschlossen, stehen somit im Versand als "offen" JTL-POS - Fehler und Bugs 2
Neu Ameise-Vorlage per SQL abrufen und Daten als Ergebnis erhalten JTL Ameise - Eigene Exporte 1
Neu Shop 5.4.0: Zahlungsarten nun als Position in der Wawi? JTL-Shop - Ideen, Lob und Kritik 17
Lieferanten Rechnungen als bezahlt markieren JTL-Wawi 1.8 0
Neu Artikel mit Zustand beschädigt wird nicht als eigenständiger Artikel in der WaWi angezeigt User helfen Usern - Fragen zu JTL-Wawi 1
Neu Gibt es einen Import von Artikeltexten die pro Artikel als .txt geliefert werden? JTL-Ameise - Ideen, Lob und Kritik 1
Neu JTL-Worker als Windows-Dienst - wie macht Ihr das? User helfen Usern - Fragen zu JTL-Wawi 8
Neu Export von Buchungsdaten zur Differenzbesteuerung als CSV Datei Schnittstellen Import / Export 0
Neu "Warenkorb teilen als Link" Plugin by Visitmedia Plugins für JTL-Shop 2
Neu Durchschnittlichen EK der letzten 3 Monate als Übersicht Eigene Übersichten in der JTL-Wawi 17
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

Ähnliche Themen