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: Popups öffnen auf extra Seite nach Update von 1.06 SP4 auf 2.0.1.0

    Tucholke

    • Neu im Forum
    • Beiträge: 9
    Hallo,

    nach einigen Tagen des probierens und lesens im Forum, komme ich einfach nicht weiter.

    Unter 1.06 SP4 lief alles einwandfrei. Popups wurden ganz normal auf der gleichen Seite geöffnet.

    Dann habe ich alle Templateänderungen von SP4 bis einschließlich 2.0.1.0 nach Anleitung in meinem eigenen gedownloadetem Template geändert und zurückgespielt.

    Dann Neuinstallation von 2.0.1.0 mittels _installer, neue DB erstellen lassen, in den shop auf mein shop, dann DB von 1.06 eingespielt, wieder mit dem _installer erst Datenbankstruckturupdate und zu guter letzt die beiden Datenbankupdates eingespielt. Danach das geänderte Template zurückgeladen. Der Shop lief, nur die Popups erscheinen jetzt auf einer extra Seite. Und es kam eine Fehlermeldung mit Verrechnungs Antwortemailadresse und duplicate key modul shipping status. Beides bereinigt ohne auswirkung auf die Popups.

    Wenn ich die DB von 1.06 nach Installation, strukturupdate und dann die normalen zwei updates von 1.0.6.4 auf 2.0.0.0 und dann 2.0.1.0 mache, mit dem gesicherten Template ohne Änderungen mit Stand von 1.06 SP4, dann funktionieren die Popups noch.

    Nach einigen Änderungen gehts aber irgendwann nicht mehr.

    Bin nach dieser Anleitung Tutorial: Template eines xt:Commerce Shops in der modified eCommerce Shopsoftware weiter verwenden - JQUERY-Popup für Produktbilder und Versandkostenlink vorgegangen, was bisher immer geklappt hat.

    Ich habe folgende Templateänderungen vorgenommen und nach jeder einzelnen Dateiänderung bin ich zurück ins Backend auf mein shop und hab im frontend getestet, ob Popups noch gehen.

    um mich einzuloggen, weil er nach sicherheitscode beim login fragt
    -Update der Login-Routine zum Schutz vor Brute-Force Attacken
    -Überarbeitung Captcha bei Accounterstellung
    was dann auch klappt

    Für 1.06 SP4 auf 2.0.0.0
    -Generelles Templateupdate durch den Wegfall von "base href" (Security-Fix)
    -Korrektur der History Links im Kundenkonto
    -Korrektur des "Content bearbeiten" Links in Admin-Box wegen Umbau des Content-Managers
    (konnte ich nicht machen, da es nicht in meinem Template enthalten war und ich nicht wusste, wo es eingefügt wird-und brauchen tue ich den Link auch nicht unbedingt)
    -Signatur in allen Mails & Tracking Link in Mails einfügen
    -Erweiterung der Rechnung um optionale Rechnungsnummer

    Nachdem ich beim letzten Punkt die Dateien

    /templates/xtc5/admin/print_order.html
    /templates/xtc5/admin/print_packingslip.html

    übernommen habe, kam auf der Startseite des Backends die Fehlermeldung Duplicate key für die ot-Module zones und glaube freeamount und von da an gingen die Popups wieder in neuer Seite auf. Duplicate key modul shipping status war vorher schon da. Hab ich diesmal nicht geändert, weil es vorher auch nicht funktioniert hat, wenn ich den doppelten Eintrag in der DB nach den DB updates per webinstaller gelöscht hatte.

    Das ganze ist nach ca. 2,5 Stunden passiert. Habe wie gesagt nach jeder geänderten Datei im Shop rumprobiert und es lief. Ich komm einfach nicht mehr weiter und wäre wirklich dankbar für Hilfe.

    Die Javascrip-Dateien jquery.js und thickbox.js aus 2.0.1.0 hatte ich schon unter SP4 mit den Templateänderungen für Paypalplus, da es mit meinen javascriptdateien nicht lief.

    2.0.1.0 mit allen Templateänderungen, aber nicht funktionierenden Popups läuft unter www.perlenscheune.de
    2.0.1.0 mit den beschriebenen verkürzten Templateänderungen und nicht funktionierenden Popups, läuft testweise auf www.fräuleingarnundbabyzwirn.de

    Grüße Timm
    Sohn der Perlenscheune

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

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Hallo Timm Sohn der Perlenscheune,

    vermutlich fehlt dir in der Datei '/templates/TEMPLATENAME/javascript/general.js.php' folgender Code,

    Code: PHP  [Auswählen]
    <script type="text/javascript">var DIR_WS_BASE="<?php echo DIR_WS_BASE ?>"</script>

    den Du dort unmittelbar nach diesem Code einfügen musst

    Code: PHP  [Auswählen]
    // this javascriptfile get includes at the TOP of every template page in shop
    // you can add your template specific js scripts here
    ?>

    Gruss
    Hanspeter

    Tucholke

    • Neu im Forum
    • Beiträge: 9
    Das hat leider nicht geholfen. Anbei die general.js.php

    Code: PHP  [Auswählen]
    <?php
    /* -----------------------------------------------------------------------------------------
       $Id: general.js.php 1262 2005-09-30 10:00:32Z mz $

       XT-Commerce - community made shopping
       http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))

       Copyright (c) 2003 XT-Commerce
       -----------------------------------------------------------------------------------------
       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/



       // this javascriptfile get includes at the BOTTOM of every template page in shop
       // you can add your template specific js scripts here
    ?>
    <script src="<?php echo DIR_WS_BASE.'templates/'.CURRENT_TEMPLATE; ?>/javascript/jquery.js" type="text/javascript"></script>
    <script src="<?php echo DIR_WS_BASE.'templates/'.CURRENT_TEMPLATE; ?>/javascript/thickbox.js" type="text/javascript"></script>
    <script src="<?php echo DIR_WS_BASE.'templates/'.CURRENT_TEMPLATE; ?>/javascript/perlenscheune.js" type="text/javascript"></script>
    <script type="text/javascript">
    $(document).ready(function() {
    function menu(){
            $("#leftcol").toggle();
    };
    if (parent != self){
            $("body").css("backgroundImage","none");
    }

    });
    </script>
    <?php // BOF - web28 - 2010-07-09 - TABS/ACCORDION in product_info ?>
    <?php
    if (strstr($PHP_SELF, FILENAME_PRODUCT_INFO )) {
    ?>
    <script src="<?php echo DIR_WS_BASE.'templates/'.CURRENT_TEMPLATE; ?>/javascript/jquery-ui.js" type="text/javascript"></script>
    <script type="text/javascript">
     

     
    /* <![CDATA[ */
            //Laden einer CSS Datei mit jquery     
        $.get("<?php echo DIR_WS_BASE.'templates/'.CURRENT_TEMPLATE; ?>"+"/css/javascript.css", function(css) {
                    $("head").append("<style type='text/css'>"+css+"<\/style>");
            });
           
            $(function() {
                    $("#tabbed_product_info").tabs();
                    $("#accordion_product_info").accordion({ autoHeight: false });
            });
    /*]]>*/
    </script>
    <?php
    }
    ?>
    <?php // EOF - web28 - 2010-07-09 - TABS/ACCORDION in product_info ?>

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    In dem Code den Du gepostet hast fehlt doch folgender Code

    Code: PHP  [Auswählen]
    <script type="text/javascript">var DIR_WS_BASE="<?php echo DIR_WS_BASE ?></script>

    also füge ihn doch nach diesem

    Code: PHP  [Auswählen]
       // this javascriptfile get includes at the BOTTOM of every template page in shop
       // you can add your template specific js scripts here
    ?>

    und vor diesem Code

    Code: PHP  [Auswählen]
    <script src="<?php echo DIR_WS_BASE.'templates/'.CURRENT_TEMPLATE; ?>/javascript/jquery.js" type="text/javascript"></script>

    ein.

    Gruss
    Hanspeter

    [EDIT Tomcraft 11.01.2017: Fehler in Code korrigiert.]

    Tucholke

    • Neu im Forum
    • Beiträge: 9
    Hammer. Danke dir vielmals. Es geht!!!!!

    Hatte den code erst jeweils in den anderen beiden zeilen eingefügt, wo schon <script type="text/javascript"> steht, bis ich das ? gesehen hab.

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Sorry, im geposteten Code aus Antwort #3 ist ein Fehler drin, so muss er aussehen.

    Code: PHP  [Auswählen]
    <script type="text/javascript">var DIR_WS_BASE="<?php echo DIR_WS_BASE ?>"</script>

    Gruss
    Hanspeter

    [EDIT Tomcraft 11.01.2017: Korrektur in Antwort #3 übernommen.]

    Tucholke

    • Neu im Forum
    • Beiträge: 9
    Wow-Tausend Dank nochmal. Ich hab echt 3 Tage damit verbracht eine Lösung zu finden. Mir war schon klar, dass es was mit dem DIR_WS_BASE zu tun hat aus dem "Generelles Templateupdate durch den Wegfall von "base href" (Security-Fix)", aber wär nicht auf diese Lösung gekommen. Glaub man muss sich da noch mehr einarbeiten, welche Dateien, welche Auswirkungen haben. ZB steht bei mir ja noch in den Javascript Dateien noch, das includes at bottom geladen wird, aber ich kann mich noch erinnern, dass genau aus dem Grund die paypal plus logos für kreditkarte und ec etc in 1.06 sp4 unter der zahlungsauswahl nicht angezeigt wurden und da auch was von includes on top laden stand.

    Zwei Fragen noch:

    Muss ich das auch hier einfügen?

    Code: PHP  [Auswählen]
    ?>
    <script src="<?php echo DIR_WS_BASE.'templates/'.CURRENT_TEMPLATE; ?>/javascript/jquery-ui.js" type="text/javascript"></script>
    <script type="text/javascript">

    Und wie kann ich das Popupfenster an der Stelle halten, wo ich klicke? Weil wenn ich Artikel weiter unten wähle, dann erscheint es ganz oben und ich muss erst hochscrollen.

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    [...]
    Und wie kann ich das Popupfenster an der Stelle halten, wo ich klicke? Weil wenn ich Artikel weiter unten wähle, dann erscheint es ganz oben und ich muss erst hochscrollen.

    Suche in '/templates/TEMPLATENAME/css/thickbox.css' folgenden Code (zweite Zeile)

    Code: CSS  [Auswählen]
    #TB_window{font:12px Arial, Helvetica, sans-serif;font-weight:bold;position:absolute;background:#ffffff;z-index:102;color:#333333;display:none;border:4px solid #525252;text-align:left;top:400px;left:50%;}

    und ersetze ihn mit diesem Code, dann sollte die 'thickbox' im Browserfenster fixiert sein.

    Code: CSS  [Auswählen]
    #TB_window{font:12px Arial, Helvetica, sans-serif;font-weight:bold;position:fixed;background:#ffffff;z-index:102;color:#333333;display:none;border:4px solid #525252;text-align:left;top:50%;left:50%;}

    [...]
    Muss ich das auch hier einfügen?
    Code: PHP  [Auswählen]
    ?>
    <script src="<?php echo DIR_WS_BASE.'templates/'.CURRENT_TEMPLATE; ?>/javascript/jquery-ui.js" type="text/javascript"></script>
    <script type="text/javascript">
    [...]

    Weiss nicht was Du genau meinst, aber die Datei 'jquery-ui.js' wird ja in deinem Shop geladen.

    Gruss
    Hanspeter

    Tucholke

    • Neu im Forum
    • Beiträge: 9
    Tausend Dank

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Danke für den Hinweis. Ich habe die fehlenden Änderungen in "Tutorial: Template eines xt:Commerce Shops in der modified eCommerce Shopsoftware weiter verwenden" entsprechend ergänzt.

    Grüße

    Torsten

    Timm

    • Fördermitglied
    • Beiträge: 6.258
    :thx:
    Trade Republic - Provisionsfrei Aktien handeln
    0 Antworten
    853 Aufrufe
    30. Oktober 2018, 08:20:27 von Shorty
    17 Antworten
    6385 Aufrufe
    04. November 2010, 17:14:21 von bolero
    8 Antworten
    348 Aufrufe
    08. Juli 2024, 14:47:56 von GTB
               
    anything