Angabe von Grundpreis (PAzVo) und Menge auf der Produktseite

  • Hi,
    ich habe mit dem folgenden Code, eingefügt in die default_showprices.php, eine vernünftige Darstellung des nach Preisangabenverordnung vorgeschriebenen Grundpreises/Einheit (Beisiel: Preis / 100ml: 2,65€) hinbekommen:

    PHP
    1. $unitPriceDescription = JText::sprintf'COM_VIRTUEMART_PRODUCT_UNITPRICE',JText::_('COM_VIRTUEMART_UNIT_SYMBOL_'.$this->product->product_unit));
    2. echo $this->currency->createPriceDiv ('unitPrice', $unitPriceDescription, $this->product->prices);


    Bin leider PHP-Autodidakt, das meiste geht über Versuch und Irrtum.:rolleyes:
    Wie kriege ich die Angabe "140 ml" aus den Feldern "product_weight" und "product_unit" der Tabelle "xxx_virtuemart_products" (die Menge als ganze Zahl) auf die gleiche Weise hin?


    Oder geht das alles auch ganz anders?
    HaeF

  • mal das benutzt was es schon gibt? da muss man eigentlich nix ändern


    Es ging um die Formatierung.
    Die Darstellung des Grundpreises unmittelbar beim Endverkaufspreis wie vorgeschrieben "gibts" eben nicht "schon".
    Was solls.
    Wer auch Fertigpackungen mit ungeraden Gewichten verkauft und dasselbe Problem hat, kann sich gerne melden.

  • ?


    Tue ich doch. Das arbeiten mit language overrides ist eine allgemeine Joomla option, genauso wie die templates und layout overrides. Wir haben uns Mühe gegeben die language keys so zu gestalten, dass man das sich schön anpassen kann (mit sprintf).


    "An sich" schrieb ich, weil das schon etwas her ist als ich das geschrieben habe. Könnte sich ja zerlegt haben, das passiert.


    Ich verstehe nicht, was du eingefügt hast. Standardmässig ist der original code

    Code
    1. $unitPriceDescription = JText::sprintf ('COM_VIRTUEMART_PRODUCT_UNITPRICE', JText::_('COM_VIRTUEMART_UNIT_SYMBOL_'.$this->product->product_unit));
    2. echo $this->currency->createPriceDiv ('unitPrice', $unitPriceDescription, $this->product->prices);


    Also ist der Code aus VM? Etwas verwirrend. Nu siehst du dort diese Dinge wie COM_VIRTUEMART_PRODUCT_UNITPRICE,COM_VIRTUEMART_UNIT_SYMBOL_ . Das musst du überschreiben, bzw COM_VIRTUEMART_UNIT_SYMBOL_100MG z.B.


    Der Rest ist hier erklärt Templating & Layouts - VirtueMart Documentation - VirtueMart Documentation

  • Es ging um die Formatierung.
    Die Darstellung des Grundpreises unmittelbar beim Endverkaufspreis wie vorgeschrieben "gibts" eben nicht "schon".
    Was solls.
    Wer auch Fertigpackungen mit ungeraden Gewichten verkauft und dasselbe Problem hat, kann sich gerne melden.


    Wieso trägst Du denn nicht bei "Produkte Maße und Gewichte" das ein, was Du hast. Es wird doch alles auf den Basispreis berechnet und dargstellt ! Das funktioniert schon alles ziemlich gut, so wie Milbo gesagt hat. Du musst nur ggf. aufpassen, ein Punkt als Separator zu nehmen und kein Komma ! Damit hatte ich mir mal die Karten gelegt und einen "Fehler" ewig lange gesucht, der keiner war !



  • Prinzipiell geht das auch sehr gut, aber wenn es um verschatelte Sachen geht bei der Darstellung, wie bei dem Grundpreis, der sich zusammensetzt aus:


    COM_VIRTUEMART_PRODUCT_UNITPRICE
    und
    COM_VIRTUEMART_UNIT_SYMBOL


    dann geht das nicht so einfach !


    Denn:
    der erste Part hat normalerweise sowas drin wie:
    preis pro %s:


    Wobei %s sich auf den zweiten bezieht.


    Die Darstellung wäre somit richtig, aber:


    Wenn es so gewünscht ist wie in meinem Fall (siehe Thread), dann geht das so nicht, da nach der Ausgabe von COM_VIRTUEMART_PRODUCT_UNITPRICE noch der berechnete Preis kommt.
    Würde ich also COM_VIRTUEMART_PRODUCT_UNITPRICE wie folgt "overriden": (preis pro %s:)
    würde es hinterher so aussehen:


    (preis pro 1kg:) 9,99 €


    Gewünscht ist aber:
    (preis pro 1kg: 9,99 €)

  • Zitat


    mal das benutzt was es schon gibt? da muss man eigentlich nix ändern


    Was gibt's denn da schon? Bzw. wie macht man denn das mit Bordmitteln? Oder gibt es dafür entsprechende Erweiterungen, die das können? Ich habe schon stundenlang gesucht, aber mein Problem, dass ich den Grundpreis nicht beim Preis einblenden kann ist nämlich auch nach langem Googeln und Durchforsten dieses Forums immer noch nicht gelöst. Bin für jede Hilfe dankbar.


  • (preis pro 1kg:) 9,99 €


    Gewünscht ist aber:
    (preis pro 1kg: 9,99 €)


    Ja dafür bräuchte man an dieser Stelle ein anderes sprintf sollte man für die vm2.1 machen.


    Klatschaffe, den Preis muss man nur anschalten in der vm config. Wenn der dann nicht erscheint, dann isses ein template override.