Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Preis aus der xtcPrice.php unterschiedlich formatieren

    rayzob

    • Fördermitglied
    • Beiträge: 269
    Bei Sonderpreisen ist die Formatierung der DIV Tags schon in der xtcPrice.php festgelegt und wird später einfach mit {$module_data.PRODUCTS_PRICE} in der "product_listing.html" eingefügt. Ähnlich in der "product_info.html", da geschiet es mit {$PRODUCTS_PRICE}.

    Nun das Problem. Da in der "xtcPrice.php" die DIV Tags für Sonderpreis und alten Preis schon Formatiert werden, wird natürlich in der "product_listing.html" und "product_info.html" jeweils die gleiche Formatierung verwenden. Ändert man das CSS, ändert es sich in beiden Seiten. Der Preis in der "product_info.html" sollte aber größer sein, oder anders gesagt ein anderes Format haben. Da aber in der "xtcPrice.php" schon alles zusammengefasst ist und es für neuen Sonderpreis und alten Preis keinen gesonderten Smarty gibt, kann man es auch nicht in den HTML Dateien in neue Div´s packen und die unterschiedlich formatieren. Gibt es eine Möglichkeit in der "xtcPrice.php" den Part, der für die Ausgabe zuständig ist für ein anderes Smarty zu duplizieren was man dann auch anders formatieren kann. Z.B. {$PRODUCTS_PRICE-infoseite}

    Ich habe keine Ahnung ob ich das jetzt verständlich erklären konnte.  8-)

    Linkback: https://www.modified-shop.org/forum/index.php?topic=16422.0
    Trade Republic - Provisionsfrei Aktien handeln

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Preis aus der xtcPrice.php unterschiedlich formatieren
    Antwort #1 am: 01. November 2011, 16:21:42
    Was spricht dagegen, das über die CSS-Kaskade zu lösen?

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Preis aus der xtcPrice.php unterschiedlich formatieren
    Antwort #2 am: 01. November 2011, 16:28:10
    Für "product_listing" gilt

    Code: CSS  [Auswählen]
    .productPreviewContent .productOldPrice {
      font-size:12px;
      font-weight:bold;
      color:red;
    }

    Für "product_info"

    Code: CSS  [Auswählen]
    #productinfoprice .productOldPrice {
      color:red;
      margin:0;
      padding:0;
      font-size:12px;
      font-weight:bold;
    }

    Gleiches ist in ähnlicher Form mit dem Preis machbar.

    Es sind im modified eCommerce Shopsoftware Template bereits die nötigen Unterscheidungen vorhanden.

    Gruss Web28

    rayzob

    • Fördermitglied
    • Beiträge: 269
    Re: Preis aus der xtcPrice.php unterschiedlich formatieren
    Antwort #3 am: 01. November 2011, 18:16:29
    Irgendwie sah mein CSS anders aus. Aber das Kaskadieren hat geholfen. nun funktioniert es tatellos. Danke für den TIPP.

    digicam

    • Fördermitglied
    • Beiträge: 122
    Re: Preis aus der xtcPrice.php unterschiedlich formatieren
    Antwort #4 am: 10. Januar 2012, 14:13:05
    Hallo, ich greife diese ältere Thema nochmal auf, weil ich vor einem ähnlichen Problem stehe. Und zwar suche ich nach einer Möglichkeit den Artikelpreis als eine Zahl und die Währung, z.B. 99,- EUR, anzuzeigen, und zwar nur auf der Startseite. Auf der Produktseite sollen dann weiterhin die ganzen Präfixe wir z.B. "Ihr Preis 99,- EUR", angezeigt werden. Der im Shop angezeigte Preis wird im "/includes/classes/xtcPrice.php" formatiert, so ab Zeile 453. Kann man diese Formatierung erweitern und sich auch sein eigenes Preisformat basteln?
    Danke
    digicam

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.302
    • Geschlecht:
    Re: Preis aus der xtcPrice.php unterschiedlich formatieren
    Antwort #5 am: 10. Januar 2012, 16:13:58
    Schau mal in folgendes Thema: Ausblenden vom Text der Sonderangebote

    Das geht auch über Smarty regex_replace.

    Grüße

    Torsten

    digicam

    • Fördermitglied
    • Beiträge: 122
    Re: Preis aus der xtcPrice.php unterschiedlich formatieren
    Antwort #6 am: 10. Januar 2012, 21:07:07
    Hi Tomcraft, eine gute Idee und in der einsprachigen Installation auch kein Problem die zu verwenden. Was mache ich aber mit mehrsprachiger Installation?
    Hat vielleicht jemand das "gunnartPricing" in modified eCommerce Shopsoftware eingebaut? Da kann man sich die Teile aus dem formatierten Preis ausgeben lassen, die man möchte.
    Danke
    digicam

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.302
    • Geschlecht:
    Re: Preis aus der xtcPrice.php unterschiedlich formatieren
    Antwort #7 am: 10. Januar 2012, 21:30:41
    Du kannst auch die Sprachen im Template entsprechend vorher abfragen mit:

    Code: PHP  [Auswählen]
    {if $smarty.session.language == 'german'}
      ...
    {elseif $smarty.session.language == 'english'}
      ...
    {else}
      ...
    {/if}

    Grüße

    Torsten

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Preis aus der xtcPrice.php unterschiedlich formatieren
    Antwort #8 am: 10. Januar 2012, 21:51:10
    Reicht auf $language zu prüfen, ist ja immer gesetzt, also:

    Code: PHP  [Auswählen]
    {if $language == 'german'}
      ...
    {elseif $language == 'english'}
     ...
    {else}
      ...
    {/if}

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.302
    • Geschlecht:
    Re: Preis aus der xtcPrice.php unterschiedlich formatieren
    Antwort #9 am: 10. Januar 2012, 22:01:04
    Stimmt, das ist sogar noch kürzer. :-)

    Grüße

    Torsten

    digicam

    • Fördermitglied
    • Beiträge: 122
    Re: Preis aus der xtcPrice.php unterschiedlich formatieren
    Antwort #10 am: 11. Januar 2012, 12:52:57
    Hi Tomcraft,
    sicher würde es auch so gehen, ich habe es aber auf Grund der Flexibilität versucht, mit dem Code von pufaxx (gunnartPricing) zu lösen. Der Code ist aber wahrscheinlich nicht für modified eCommerce Shopsoftware geeignet, denn nur die Ausgabe von "OldPrice" funktioniert, allerdings wird auch der Textbaustein "MSRP" mit ausgegeben. Der angezeigte Preis wird in "/includes/classes/xtcPrice.php" ca. in der Zeile 453 z.B. so aufbereitet:

    Code: PHP  [Auswählen]
    $price = '<span class="productOldPrice">'.MSRP.' '.$this->xtcFormat($pPrice, $format).'</span><br />'.YOUR_PRICE.$this->checkAttributes($pID).$this->xtcFormat($sPrice, $format);

    gunnART extrahiert aus dieser Variable einzelne Elemente z.B. so:

    Code: PHP  [Auswählen]
    function get_productNewPrice($Input){
            // $Input = "komplette" HTML-Ausgabe eines xt:Commerce-Preises
            // Suche des "aktuellen" Produktpreises
            // Rückgabe als "formatierter" Preis mit den gültigen "Text-Bausteinen"
            // Rückgabe als rein numerischer Wert
            $Waehrung = get_Waehrung();
            $Input = trim( preg_replace("/<span class=\"productOldPrice\">([^<]*)<\/span>/",'',$Input) );
            if (preg_match("/[^>]*".$Waehrung['symbol_left']."[^<>]*".$Waehrung['symbol_right']."[^<]*/",$Input,$Treffer)) {
                    $NewPrice['TEXT'] = trim( preg_replace("/<[^>]*>/",'',$Treffer[0]) );
                    $NewPrice['WERT'] = get_Value($NewPrice['TEXT']);
            }
            return $NewPrice;
    }

    Im xt:Commerce funktioniert es wahrscheinlich, aber in modified eCommerce Shopsoftware nicht mehr, der zurück gegeben String "$NewPrice" ist leer. Leider verstehe ich zu wenig von dem Job, der aus dem formatierten String einzelne Elemente extrahiert. Es müsste aber möglich sein, die gunnART-Funktionen an modified eCommerce Shopsoftware anzupassen, oder?
    danke
    digicam

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.302
    • Geschlecht:
    Re: Preis aus der xtcPrice.php unterschiedlich formatieren
    Antwort #11 am: 11. Januar 2012, 16:07:58
    [...] Es müsste aber möglich sein, die gunnART-Funktionen an modified eCommerce Shopsoftware anzupassen, oder?
    [...]

    Klar, wieso denn auch nicht? :-?

    Grüße

    Torsten

    digicam

    • Fördermitglied
    • Beiträge: 122
    Re: Preis aus der xtcPrice.php unterschiedlich formatieren
    Antwort #12 am: 12. Januar 2012, 15:10:52
    Hi Tomcart,
    nur habe ich keine Ahnung, wie ich es machen kann. Der Original formatierte String sieht in HTML so aus:

    Code: PHP  [Auswählen]
    <span class="productOldPrice">UVP 99,99 EUR</span><br>Ihr Preis  88,88 EUR

    Wie kann ich daraus mit "preg_replace" den alten und den neuen Preis mit der Währung extrahieren?
    Der formatierte Preis kann aber auch so ausgegeben werden:

    Code: PHP  [Auswählen]
    <span class="productOldPrice"><small>Statt </small><del> 118,99 EUR</del></span><br><span class="productOnlyPrice"> 108,99 EUR</span><br><span class="productYouSavePrice"><small>Sie sparen 8 % / 10,00 EUR</small></span>

    Und wieder die Frage, wie ich daraus mit "preg_replace" den alten Preis mit der Währung, die prozentuale Einsparung, die geldwerte Einsparung und den neuen Preis mit Währung extrahieren? Ausserdem müsste es eine Abfrage geben, um welches mögliche Ausgabeformat es sich handelt. Wie kann ich diese Abfrage machen?

    Danke
    digicam

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.302
    • Geschlecht:
    Re: Preis aus der xtcPrice.php unterschiedlich formatieren
    Antwort #13 am: 12. Januar 2012, 15:29:38
    Da muss dir h-h-h helfen, denn Smarty regex_replace ist nicht so mein Gebiet. :-)

    Grüße

    Torsten
    Marktplatz - Eine große Auswahl an neuen und hilfreichen Modulen sowie modernen Templates für die modified eCommerce Shopsoftware
    2 Antworten
    1845 Aufrufe
    28. Februar 2017, 20:08:35 von Selo