Ergebnis 1 bis 13 von 13

Thema: [Gelöst] Nettopreis, Bruttopreis und MWSt anzeigen

  1. #1
    Contao-Nutzer
    Registriert seit
    08.01.2014.
    Beiträge
    36

    Standard [Gelöst] Nettopreis, Bruttopreis und MWSt anzeigen

    Hallo,

    ein Kunde möchte, dass in seinem Webshop Nettopreis, Bruttopreis und Mehrwertsteuer überall da angegeben werden, wo Produktpreise angezeigt werden (also in allen Listen- oder Detailansichten). Ich frage mich, ob sich das lediglich durch Anpassen der Templates iso_list_default.html5 und iso_reader_default.html5 bewerkstelligen lässt. Momentan steht im Template so was in der Art
    Code:
    <div class="price"><?php echo $this->generatePrice(); ?></div>
    Im Backend werden momentan Nettopreise angegeben. Ich habe mal gesucht, ob es vielleicht noch ähnliche php-Funktionen gibt, um beispielsweise ein HTML-Schnipsel für den Bruttopreis zu erzeugen, habe aber so auf Anhieb nichts Vielversprechendes finden können. Es wäre sehr nett, wenn mir jemand einen Tipp geben könnte, wie man das am geschicktesten angeht. Gerne auch Links oder weiterführende Dokumentation.

    Danke und viele Grüße, Zmann
    Geändert von Zmann (07.05.2015 um 12:51 Uhr)

  2. #2
    Contao-Nutzer Avatar von Monique Hahnefeld
    Registriert seit
    22.11.2011.
    Ort
    Berlin
    Beiträge
    173

    Standard das geht!

    Hallo Zmann,

    ja das geht über Templateanpassung.
    Curiosity killed the cat

  3. #3
    Contao-Nutzer
    Registriert seit
    08.01.2014.
    Beiträge
    36

    Standard

    Hallo Monique,

    vielen Dank für Deine Antwort. Um das ordentlich umsetzen zu können benötige ich allerdings mindestens folgende Werte:
    • Nettopreis
    • Steuersatz


    Die oben erwähnte Methode '$this->generatePrice()' gibt ein HTML-Snippet zurück, was zum Rechnen eher ungünstig ist. Ich könnte den Wert zwar aus dem HTML mittels regex herausparsen, aber schön ist das nicht. Den Wert für die Mehrwertsteuer habe ich gar nicht finden können, obwohl ich mir mittels
    Code:
    <!-- <?php $this->showTemplateVars(); ?> -->
    die Variablen habe anzeigen lassen (die Ausgabe war ausgesprochen unübersichtlich).

    Ich wäre für jeden Hinweis dankbar, wie ich in den beiden erwähnten Templates an diese Informationen herankomme.

    Danke und viele Grüße, Zmann

  4. #4
    Contao-Nutzer Avatar von Monique Hahnefeld
    Registriert seit
    22.11.2011.
    Ort
    Berlin
    Beiträge
    173

    Computer

    Hallo Zmann,

    du möchtest auch Rechenoperationen im Template ausführen?

    Was hast du denn vor?

    Diese Variablen stehen Dir für den Preis zur Verfügung:
    PHP-Code:
        $this->product->getPrice()->getAmount(),
        
    $this->product->getPrice()->getNetAmount(),
        
    $this->product->getPrice()->getGrossAmount(),
        
    $this->product->getPrice()->getOriginalAmount(),
        
    $this->product->getPrice()->hasTiers() 
    Bei Varianten werden diese Werte auch beim Auswählen von Attributen durch den User aktualisiert.
    Da brauchst du eigentlich nichts rechnen wenn in deinen Konfigurationen alles richtig ist oder?
    Curiosity killed the cat

  5. #5
    Contao-Nutzer
    Registriert seit
    08.01.2014.
    Beiträge
    36

    Standard

    Hallo Monique,

    Zitat Zitat von Monique Hahnefeld Beitrag anzeigen
    du möchtest auch Rechenoperationen im Template ausführen?

    Was hast du denn vor?
    na ja, möchte ist nicht das richtige Wort. Der Kunde möchte, wie gesagt, statt lediglich der Ausgabe des Nettopreises (wie es im Moment ist), die Ausgabe von Nettopreis, Bruttopreis und Mwst. Momentan steht im Template eben
    PHP-Code:
    <div class="price"><?php echo $this->generatePrice(); ?></div>
    Das liefert ein kleines HTML-Snippet zurück, in dem die Währung und der Nettopreis ordentlich mit Tags versehen sind. Wäre schön, wenn es einen ähnlichen Aufruf für Bruttopreis und Mehrwertsteuer gäbe, aber ich habe diesbezüglich nichts finden können. Also muss ich entsprechenden PHP-Code irgendwie im Template unterbringen oder ähnliche Funktionen wie das generatePrice irgendwo unterbringen, aber dafür müsste ich ja dann im Isotope-Code rumpfuschen, worauf ich überhaupt gar keine Lust habe. Oder gibt es dazu einen sauberen und halbwegs update-sicheren Standardweg?

    Die einzige Lösung, die mir bis jetzt eingefallen ist, ohne im Isotope-Code wüten zu müssen, ist: das HTML-Snippet, das von generatePrice erzeugt wird, mittels regex parsen und dann den HTML Code mit dieser Hilfe erzeugen (unter Annahme einer fixen Mehrwertsteuer von 19%). Ist natürlich nur ein Hack und ich würde das lieber aus den Einzelkomponenten zusammensetzen, wenn ich sie denn zur Verfügung hätte.

    Zitat Zitat von Monique Hahnefeld Beitrag anzeigen
    Diese Variablen stehen Dir für den Preis zur Verfügung:
    PHP-Code:
        $this->product->getPrice()->getAmount(),
        
    $this->product->getPrice()->getNetAmount(),
        
    $this->product->getPrice()->getGrossAmount(),
        
    $this->product->getPrice()->getOriginalAmount(),
        
    $this->product->getPrice()->hasTiers() 
    Bei Varianten werden diese Werte auch beim Auswählen von Attributen durch den User aktualisiert.
    Da brauchst du eigentlich nichts rechnen wenn in deinen Konfigurationen alles richtig ist oder?
    Danke auf jeden Fall schon mal für die kleine Zusammenstellung, das hilft mir schon mal weiter.

    Insgesamt brauche ich den Nettopreis (am besten als Zahl, nicht HTML-Snippet), die Mehrwertsteuer, den Bruttopreis und die Währung. Wenn sich das alles irgendwo auslesen ließe, wäre das prima und das Snippet wäre schnell erstellt.

    Danke nochmal für die Antwort und viele Grüße, Zmann

  6. #6
    Contao-Nutzer Avatar von Monique Hahnefeld
    Registriert seit
    22.11.2011.
    Ort
    Berlin
    Beiträge
    173

    HTML

    Hallo Zmann,

    also ich dachte du hast da einen kleinen Shop, der wenig komplex ist. Dann kannst du dir doch mit selber angelegten LangVars helfen.
    Natürlich wäre es schön wenn es einfacher wäre

    Ansonsten könntest du auch meine Extension hier nehmen und für dich noch anpassen wo was fehlt.
    https://github.com/MoniqueHahnefeld/isotope_legal
    Schau dir einfach die Module-Klassen an.

    Wer sucht der findet... (2 Stunden später)
    Hier sind noch ein paar Variablen die dir weiterhelfen könnten
    PHP-Code:
    echo $this->product->getPrice()->getRelated('tax_class')->getLabel();
    echo 
    $this->product->getPrice()->getRelated('tax_class')->getRelated('rates')->rate
    Geändert von Monique Hahnefeld (24.01.2015 um 04:15 Uhr)
    Curiosity killed the cat

  7. #7
    Contao-Fan
    Registriert seit
    06.01.2011.
    Ort
    Hattingen
    Beiträge
    286

    Standard

    Hallo Monique,

    ich lasse im Template "iso_list_default" folgendes anzeigen. (ISOTOPE 2.2.2)

    Code:
    <?php echo "<br>getAmount = " . $this->product->getPrice()->getAmount(); ?> 
    <?php echo "<br>getNetAmount = "  .     $this->product->getPrice()->getNetAmount(); ?>
    <?php echo "<br>getGrossAmount = " .   $this->product->getPrice()->getGrossAmount(); ?>
    <?php echo "<br>getOriginalAmount = " .     $this->product->getPrice()->getOriginalAmount(); ?>
    <?php echo "<br>getTiers = " .    $this->product->getPrice()->hasTiers(); ?>
    
    <?php echo "<br>Label = " . $this->product->getPrice()->getRelated('tax_class')->getLabel(); ?>
    <?php echo "<br>rate = " . $this->product->getPrice()->getRelated('tax_class')->getRelated('rates')->rate; ?>
    dann wird mir folgendes angezeigt, ich sehe zwar die 19%, aber gibt es noch eine Variabel wo die Mwst. steht, oder muß ich den String untersuchen?
    Code:
    getAmount = 30
    getNetAmount = 30
    getGrossAmount = 30
    getOriginalAmount = 30
    getTiers =
    Label = im Preis enthaltene MwSt. von 19%
    rate = a:2:{s:4:"unit";s:1:"%";s:5:"value";s:2:"19";}
    Gruß Klaus

  8. #8
    Contao-Nutzer
    Registriert seit
    08.01.2014.
    Beiträge
    36

    Standard

    Hallo,

    ich wollte den Thread hier noch schnell zu Ende bringen (und auch kleppi noch einen Tipp hinsichtlich seiner Frage geben). In der Tat liefert
    Code:
    $this->product->getPrice()->getRelated('tax_class')->getRelated('rates')->rate;
    ein serialisiertes Array zurück. Man kann dann mittels

    HTML-Code:
    $taxRateSerialized=$this->product->getPrice()->getRelated('tax_class')->getRelated('rates')->rate;
    $taxRateAsObject=unserialize( $taxRateSerialized );
    $taxRateInPercent = $taxRateAsObject['value'];
    auf den Steuersatz zugreifen. Ich weiß nicht, ob das so gedacht ist, ist aber als Workaround immer noch besser als parsen.

    Viele Grüße,
    Zmann

  9. #9
    Contao-Fan
    Registriert seit
    06.01.2011.
    Ort
    Hattingen
    Beiträge
    286

    Standard

    Hallo Zmann,

    danke für deinen Tip.
    Ich habe mich von Isotope verabschiedet und mittlerweile einen Oxid-Shop aufgesetzt.

    Gruß
    Klaus

  10. #10
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Die ganze Anzeigeproblematik für Brutto- und Nettopreise dürfte sich übrigens mit der 2.3 erledigt haben.
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  11. #11
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    Hallo Monique,

    habe die Sachen auch mal ausprobiert... bei getTiers, Label, rate wird nix ausgegeben ..??

    Gibt es noch einen Aufruf für die Währungsangabe?

    Gruss & Dank

    PS: das sollte unbedingt mit in das Handbuch!

  12. #12
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    Hallo Monique,

    ist gibt es eine Abfrage, mit der man einen Rabatt ausgeben kann - z.b. "Rabatt von 15%" - wenn ein solcher bei den Regeln für das Produkt eingegeben ist oder muss man das anhand von Normalpreis und Rabattpreis "on the fly" ausrechnen?

  13. #13
    Contao-Nutzer Avatar von maipe
    Registriert seit
    10.07.2012.
    Ort
    München
    Beiträge
    201

    Standard

    Monique, Deine Erweiterung kann ich die in Isotope 2.1 einsetzen? Mir geht es nur um die Anzeige der Tax Class Names bzw Labels pro Produkt in List, Reader und Collection, wenn nicht steuerfrei.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •