Shop Hosting
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: Im checkout bei 0€ Versandkosten ein - statt 0,00 EUR anzeigen

    neicooo

    • Fördermitglied
    • Beiträge: 141
    Moin,

    wie nutzen u.A. das Modul "Versand nach Zonen".
    Wird diese Versandart ausgewählt, sind die Versandkosten immer 0€ nur würden wir diese Anzeige von 0,00€ gerne gegen ein Minus-Zeichen (-) ersetzen.

    Klar ist ich muss dazu die zones.php ändern, so wie ich das sehe in dem Bereich:

    Code: PHP  [Auswählen]
    if ($shipping == -1) {
              $shipping_cost = 0;
              $shipping_method = MODULE_SHIPPING_ZONES_UNDEFINED_RATE;
            } else {
              $shipping_cost = ($shipping + constant('MODULE_SHIPPING_ZONES_HANDLING_' . $dest_zone));
            }
          }

          $this->quotes = array('id' => $this->code,
                                'module' => MODULE_SHIPPING_ZONES_TEXT_TITLE,
                                'methods' => array(array('id' => $this->code,
                                                         'title' => $shipping_method,
                                                         'cost' => $shipping_cost)));
     

    Habe schon selbst versucht es zu lösen, da ich aber in php noch nen Anänger bin, erscheint immer eine weiße Seite, wäre für eine Lösung sehr dankbar.


    Linkback: https://www.modified-shop.org/forum/index.php?topic=28578.0

    Matt

    • Experte
    • Beiträge: 4.241
    Der Teil
    Code: PHP  [Auswählen]
    $shipping_cost = 0;
    durch
    Code: PHP  [Auswählen]
    $shipping_cost = '-';
    zu ersetzen kann helfen, muss aber nicht, da Modified evtl. anschließend versucht das zu formatieren und davon ausgeht, dass er einen Integer bekommt.

    sonic

    • Neu im Forum
    • Beiträge: 15
    Wenn es nur im Checkout geändert werden soll und für alle Versandkosten "0,00EUR" gilt, geht das auch im Template mit dem replace-modifier
    z.B.:
    0,00€ => |replace:"0,00€":"-"
    0,00EUR =>   |replace:"0,00EUR":"-"

    neicooo

    • Fördermitglied
    • Beiträge: 141
    Funktioniert leider nicht, er spuckt immer noch 0,00€ aus. Alternativ wäre es auch noch in Ordnung den Preis komplett auszublenden.

    Habe dazu versucht den Preisteil auszukommentieren:

    Code: PHP  [Auswählen]
    /*if ($shipping == -1) {
              $shipping_cost = '-';
              $shipping_method = MODULE_SHIPPING_ZONES_UNDEFINED_RATE;
            } else {
              $shipping_cost = ($shipping + constant('MODULE_SHIPPING_ZONES_HANDLING_' . $dest_zone));
            }*/

    Es wird mir aber immernoch ein Preis angezeigt.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Doch, das würde funktionieren wenn nicht die kompletten Versandkostenanzeigen in einer einzigen Smarty-Variablen stünden, nämlich {$SHIPPING_BLOCK}.
    Du kannst allerdings versuchen das trotzdem zu machen mit
    Code: PHP  [Auswählen]
    {$SHIPPING_BLOCK|regex_replace:'#[0,00][.+]#' : ' - '}
    oder
    Code: PHP  [Auswählen]
    {$SHIPPING_BLOCK|regex_replace:'#[0,00][ EUR]#' : ' - '}

    Probier mal ein wenig mit der Regex herum, hab's nicht getestet.

    Gruß,
    noRiddle

    neicooo

    • Fördermitglied
    • Beiträge: 141
    Moin,

    danke für die Hilfe, leider funktioniert auch das nicht, das höchste der Gefühle war eine verschwundene 0.

    Aber ist auch kein allzu wichtiger Punkt, von daher belasse ich das erstmal so wie es ist.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Die eckige Klammer ist auch verkehrt, dehalb nur eine 0 weg  :oops:.
    Müsste glaube ich so sein (kann's gerade leider nicht testen):
    {$SHIPPING_BLOCK|regex_replace:'#(0,00)(.+)#' : ' - '}

    Gruß,
    noRiddle