Ankündigung

Einklappen
Keine Ankündigung bisher.

Checkbox für Widerrufsrecht bei digitalen Downloads nur bei speziellen Artikeln

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    (Zen-Cart 1.5.6) Checkbox für Widerrufsrecht bei digitalen Downloads nur bei speziellen Artikeln

    Hallo,

    ich bin schon seit einiger Zeit auf der Suche nach einer Lösung für mein kleines "Problem".
    Ich habe 3 Arten von Artikeln:
    • rein virtuelle Güter (werden per E-Mail versendet)
    • rein physische Güter (werden normal per Paket versendet)
    • "Mischartikel", die aus einem physischen (Paketversand) und virtuellem (E-Mail-Versand) Anteil bestehen


    Die rein virtuellen oder rein physischen Güter sind kein Thema, mir geht's um die Mischform. Bei virtuellen Gütern wird ja im Bestellprozess der Verzicht auf das Widerrufsrecht eingeblendet. Den brauche ich für die Mischform ja auch. Wenn ich jetzt aber den Artikel als virtuellen Artikel einstelle, werden die Versandkosten nicht mehr berechnet.

    Ich brauche also sowas wie einen virtuellen Artikel (Widerrufsverzicht) MIT Versandkosten oder anders rum, einen physischen Artikel bei dem ich den Widerrufsverzicht im Bestellprozess anzeigen lassen kann.
    Ich hoffe, hier hat jemand eine Idee, wie ich das umsetzen kann.

    Vielen Dank!
    Zuletzt geändert von DrThodt; 12.08.2020, 07:52. Grund: Ergänzung

    #2
    Okay, ich bin jetzt so weit, dass ich mir sicher bin, dass ich mit einem "virtuellen Artikel" hier nicht zum Ziel komme.
    Sobald ein Artikel virtuell ist, sind ja sowohl die Versandadresse als auch die -kosten obsolet und werden nicht mehr berücksichtigt.

    Ich brauche also tatsächlich einen "normalen" Artikel und formuliere daher meine Frage um:

    Kann ich Zencart irgendwie dazu bewegen, den Hinweis auf den Widerrufsverzicht (der ja automatisch bei virtuellen Artikeln angezeigt wird) ebenfalls bei von mir festgelegten Artikeln anzuzeigen?

    Die entsprechende Abfrage steht wohl In /includes/templates/responsive_classic/templates in Zeile 252:
    PHP-Code:
    if (DISPLAY_WIDERRUF_DOWNLOADS_ON_CHECKOUT_CONFIRMATION == 'true') { 

    Kommentar


      #3
      Diese Funktionalität schaut gar nicht an, wie ein Artikel konfiguriert ist. Sie ist für reine Downloadshops gedacht, wo bei allen Artikeln der Verzicht auf das Widerrufsrecht angezeigt werden soll.
      Der Hinweis wird angezeigt sobald Konfiguration > AGB & Datenschutz > Checkbox für Widerrufsrecht bei digitalen Downloads auf true gestellt ist und gilt dann für alle Artikel im Warenkorb.
      Nur das wird hier abgefragt:
      Code:
      <?php
        if (DISPLAY_WIDERRUF_DOWNLOADS_ON_CHECKOUT_CONFIRMATION == 'true') {
      ?>
      Wenn Du diese Funktionalität nicht generell sondern nur für bestimmte Artikel aktivieren willst, dann musst Du Deine gewünschte Bedingung integrieren.

      Eine einfache Möglichkeit, Artikel von anderen zu unterscheiden ist mit den Artikeltypen zu arbeiten.

      Bsp:
      Den Artikel, bei dem der Hinweis erscheinen soll,als Artikeltyp Document - Product anlegen. Das ist standardmäßig der product_type 4
      Mit dem kann dann bei der Abfrage in includes/templates/DEINTEMPLATE/templates/tpl_checkout_confirmation_default.php gearbeitet werden, z.B.

      Code:
      <?php
        if (DISPLAY_WIDERRUF_DOWNLOADS_ON_CHECKOUT_CONFIRMATION == 'true') {
      ?>
      [COLOR=#ff0000]<?php 
      if (($_SESSION['cart']->in_cart_check('products_type','4') > 0)) {
          ?>[/COLOR]
      <fieldset>
      <legend><?php echo HEADING_WIDERRUF_DOWNLOADS; ?></legend>
      <?php echo  zen_draw_checkbox_field('widerruf_downloads', '1', false, 'id="widerruf_downloads"');?>
      <label class="checkboxLabel" for="widerruf_downloads"><?php echo TEXT_WIDERRUF_DOWNLOADS_CONFIRM; ?></label>
      </fieldset>
      [COLOR=#ff0000]<?php
        }
      ?>[/COLOR]
      <?php
        }
      ?>
      So würde der Hinweis nur dann angezeigt, falls ein Artikel vom Artikeltyp Document - Product im Warenkorb ist

      Oder Du löst es über die Kategorie. Die speziellen Artikel kommen alle in die Kategorie mit der ID 42, die dann dort entsprechend abgefragt wird:

      Code:
      <?php 
      if (($_SESSION['cart']->in_cart_check('master_categories_id','42') > 0)) {
          ?>

      Kommentar


        #4
        Vielen vielen Dank! Ich war schon schier am verzweifeln. Funktioniert genau so, wie ich es benötige

        Kommentar

        Info zu diesem Forenarchiv:
        Mit Release von 1.5.7 wurde die deutsche Zen Cart Version auf eine reine DIY-Lösung umgestellt.
        Für einen Support via Forum stehen keine personellen und zeitlichen Ressourcen mehr zur Verfügung.
        Dieses Supportforum bleibt im Nur-Lesen-Modus als Wissensarchiv noch online verfügbar.
        PM Funktionalität, Registrierung und Posten neuer Beiträge sind deaktiviert.
        Zugriff auf Anhänge in den Postings ist auch ohne Registrierung/Einloggen möglich.
        FAQ und Downloadbereich des Forums wurden in die neue umfangreiche Knowledgebase auf der zen-cart-pro.at Website übernommen.

        Das Development der deutschen Zen Cart Version geht wie bisher auf Github weiter.
        Wir werden auch weiterhin neue Versionen bereitstellen und die Onlinedokumentation/Knowledgebase aktualisieren.
        Fehler in der Software können auf Github als Issues gemeldet werden.
        Follow us
        aktuelle version
        Zen Cart 1.5.7h deutsch
        vom 15.04.2024
        [Download]
        Lädt...
        X