Tos2 als popup und popupgrößeTOS

  • Moin allerseits,


    funktioniert bei irgendjemand von euch die tos2.php als Popup?

    Versuche da jetzt schon gefühlt ewig dran und bei mir öffnet sich immer nur ein neuer Tab....die ursprünglichen Tos funktionieren ganz wunderbar als Popup.....


    Und gibt es eine einfache Möglichkeit die Größe des Popup's zu definieren?

    Meine Terms-of-Service öffnen sich als übergrosser Popup mit Scrollbalken.


    Grüße..

  • Evtl. einmal im Template schauen, ob tos.php dort als Override angelegt ist.


    Wenn tos(1).php funktioniert, dann kann man für tos2.php eine Kopie anlegen und die Werte innerhalb anpassen.


    Popups sind oft Funktionen von Bootstrap oder eigene Template-Funktionen. Da hilft es zu wissen, mit welchem Template gearbeitet wird.


    Grüße

    Stefan

  • Hi Stefan,


    die Problematik mit der unformatierten tos1 konnte ich jetzt lösen, indem ich den kompletten Text (Allgemeine Geschäftsbedingen) in der Shopkonfiguration (Komponenten->Virtuemart->shop) gelöscht habe und neu geschrieben. Vermutlich ein Fehler im alten, übernommenen Text.


    Die Datei tos2.php habe ich testweise als Override in html/sublayouts kopiert.


    Im englischen habe ich eine Lösung gefunden über irgendwas mit ändern der Div_id (vermutlich Zeile 50 in der tos2.php) in full-tos2, leider hilft das auch nicht. Es wird immer im neuen Tab geöffnet.


    Auch die Änderung in Zeile 51 von:


    PHP
    1. <?php echo $cart->vendor->vendor_terms_of_service ?>
    2. zu
    3. <?php echo $cart->vendor->vendor_vendor_legal_info;?>
    4. brachte nichts....




    Ich nutze das Cassiopaia Template mit Anpassungen.....


    Die orginal tos2.php sieht ja wie folgt aus:


  • <div id="full-tos">


    In vmjsapi.php findet man die Funktion:
    static function popup($container,$activator)


    Die ID in Zeile 49 so anpassen wie im Aufruf.

    vmJsApi::popup('#full-tos2','#terms-of-service2');

    Hier steht die ID full-tos2. Zeile 49 hat ID full-tos.

    Das ist sicher beim Copy and Paste von tos1 zu tos2 vergessen worden.


    Grüße

    Stefan

  • Genau so hatte ich das auch ursprünglich verstanden und entsprechend geändert.

    Es bleibt aber als neuer Tab und zusätzlich wird der Text direkt unter dem Link im Warenkorb angezeigt.....


    Hier nochmal der aktuelle code:


    und das Ergebins:


  • Bei Dir funktioniert es aber?


    Es gibt eine Warnung in der Konsole, welche sich aber auf den Checkout Button bezieht....


    Das "tos2"-Skript wird auch gar nicht geladen......nur folgendes von "tos":


    <script id="box-js" type="text/javascript" >//<![CDATA[

    jQuery(document).ready(function($) {

    $('div#full-tos').hide();

    var con = $('div#full-tos').html();

    $('a#terms-of-service').click(function(event) {

    event.preventDefault();

    $.fancybox ({ div: '#full-tos', content: con });

    });

    }); //]]>

    </script>


    Dasselbe sollte doch jetzt auch nochmal für "tos2" auftauchen......

    Bin jetzt mehrmals den Code durchgegangen....wird nicht geladen...

  • Wenn ich Google aus den Seiten erst einmal raushalten möchte, setze ich einen Verzeichnisschutz, dann wird da nichts vorzeitig indiziert.


    Da steht im Quellcode für tos2 noch: id="full-tos".
    Kann es sein, dass Du den Code im VM-Ordner geändert hast, aber im Template evtl. noch ein alter Override ist, so dass die Änderungen nicht greifen?


    STS

  • Habe gerade nochmal weitergespielt....

    Wenn man die tos in den Kundenfeldern deaktiviert, dann funktioniert die tos2 auch als popup.

    Sobald man beide aktiviert funktioniert nur die ursprüngliche tos.


    Kann das etwas mit dieser Zeile ganz am Anfang des Scripts zu tun haben?:


    <script id="box-js" type="text/javascript" >//<![CDATA[


    Müssten hier evtl. unterschiedliche Script id's vergeben werden?

    Weil bei dem Versuch ohne tos nur mit tos2 war die script id ebenfalls "box-js".......



    Tauscht man die Reihenfolge der beiden in den Kundenfeldern, dann geht die tos2 aber die tos nicht.....

  • Habe eine Lösung gefunden, bleibt aber meiner Meinung nach ein Bug in Virtuemart.....oder funktioniert es bei irgendjemanden? Stefan?


    Folgende Lösung:

    Die tos2.php in Zeile 15 folgendermaßen ergänzen:



    und Zeile 62 noch wie folgt abändern:


    <?php echo $cart->vendor->vendor_legal_info ?>

  • Servus,


    danke für Deine Lösung.


    Ich habe leider noch keine Zeit gehabt, dort hineinzuschauen, deshalb kann ich nichts Genaues dazu sagen.

    Ich werde diesen Thread in den Entwicklerchat werfen. Vielleicht gibt es dann dazu eine Rückmeldung.


    Grüße

    Stefan