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: Einbau eines popups auf der Startseite - wo muß ich den onload Bereich einfügen?

    tolteq

    • Neu im Forum
    • Beiträge: 18
    Hallo
    ich möchte auf der Startseite des Shops (V1.05) ein popup einbauen, das bei Aufruf der index Seite aufgerufen wird. Und vorweg - unter popup finde ich derart unter der Suche nichts weiterführendes.

    Dazu generierte ich einen Code online aus 2 Teilen.
    Ein Teil ist z.B.

    Code: Javascript  [Auswählen]
    <SCRIPT LANGUAGE='JAVASCRIPT' TYPE='TEXT/JAVASCRIPT'>
     <!--
    var win=null;
    function NewWindow(mypage,myname,w,h,pos,infocus){
    if(GetCookie("sid") == "999"){return;}
    document.cookie="sid=999; Path=/; Expires= " + getFuture(1);
    if(pos=="random"){myleft=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;mytop=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
    if(pos=="center"){myleft=(screen.width)?(screen.width-w)/2:100;mytop=(screen.height)?(screen.height-h)/2:100;}
    else if((pos!='center' && pos!="random") || pos==null){myleft=0;mytop=20}
    settings="width=" + w + ",height=" + h + ",top=" + mytop + ",left=" + myleft + ",scrollbars=no,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no";win=window.open(mypage,myname,settings);
    win.focus();}

    function getFuture(f){
    var d = new Date();
    d.setTime(d.getTime() + (86400000 * f));
    return d;
    }

    function GetCookie (name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
      var j = i + alen;
      if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
      i = document.cookie.indexOf(" ", i) + 1;
      if (i == 0) break;
      }
      return null;
      }

    function getCookieVal (offset) {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1)
      endstr = document.cookie.length;
      return unescape(document.cookie.substring(offset, endstr));
    }
    // -->
    </script>

    der wird wohl separat über die general.js.php eingebaut bzw. wohl am ende eingefügt - reicht das so aus für die Funktion? - , aber wo baue ich den Teil ein, über den die erstellte Datei aufgerufen wird als popup:
    (für html ist hier kein button, daher php)

    Code: PHP  [Auswählen]
    <body onLoad="NewWindow('http://www.DeineDomain.de/Seite.htm','mypopup','400','400','center','front');">

    welche Datei muß ich dazu editieren an welcher Stelle? Wo nehme ich auf den onload Bereich Zugriff?

    thnx 4 help

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

    mouseworx

    • Schreiberling
    • Beiträge: 254
    • Geschlecht:
    Den <body> Tag findest du in der includes/header.php

    Code: PHP  [Auswählen]
    if (strstr($PHP_SELF, FILENAME_POPUP_IMAGE )) {
            echo '<body onload="resize();"> ';
    } else {
            echo '<body>';
    }

    Grüße
    Sebastian

    tolteq

    • Neu im Forum
    • Beiträge: 18
    Hallo
    danke.
    Wie muß ich den Code einfügen?
    Wenn ich ihn zwischen '<body onload="resize();"> ';
    also als
    Code: PHP  [Auswählen]
    echo '<body onLoad="NewWindow('http://www.DeineDomain.de/Seite.htm','mypopup','400','400','center','front');"> ';
    eingefügt, aber dann wird mir bei Aufruf der index nur eine weiße leere Seite angezeigt.

    Frage: Wie muß ich den Code korrekt einbauen, dass er ausgeführt wird, es ist mir nicht ganz klar?
    also ich verstehe nicht, wo darin ich den Code einfügen muß oder was ersetzt werden muß

    danke, Grüße

    web0null

    • Experte
    • Beiträge: 1.998
    Du musst Escapen, siehe hier: http://www.inside-php.de/tutorial/PHP-Einsteiger-10/Escapen-in-PHP.html

    Code: PHP  [Auswählen]
    echo '<body onLoad="NewWindow(\'http://www.DeineDomain.de/Seite.htm\',\'mypopup\',\'400\',\'400\',\'center\',\'front\');"> ';

    Wenn du noch mehr herum Basteln willst, würde ich "error_reporting" einschalten, dann bekommst du Fehlermeldungen angezeigt, und nicht nur eine weiße leere Seite.

    Such nach "error_reporting" hier im Forum.

    tolteq

    • Neu im Forum
    • Beiträge: 18
    Hall
    danke für den Hinweis, das wußte ich nicht.

    Ich habe den Code wie folgt nun eingebaut, aber leider tut sich dann kein popup auf der Startseite auf (nur ganz normaler Seitenaufruf).

    Code: PHP  [Auswählen]
    <?php
    if (strstr($PHP_SELF, FILENAME_POPUP_IMAGE )) {
    echo '<body onLoad="NewWindow(\'http://www.DeineDomain.de/Seite.htm\',\'mypopup\',\'400\',\'400\',\'center\',\'front\');"> ';
    } else {
    echo '<body>';

    }
    (natürlich fügte ich die korrekte url usw. ein)

    also der ursprüngliche original Code ist der hier:
    Code: PHP  [Auswählen]
    <?php
    if (strstr($PHP_SELF, FILENAME_POPUP_IMAGE )) {
    echo '<body onload="resize();"> ';
    } else {
    echo '<body>';
    }
    Was ist mein Fehler bzw. ich kapiere nicht ganz, wie ich es anders machen muß? Also wie füge ich den Code ein, damit das popup aufgeht?

    Danke, Grüße

    web0null

    • Experte
    • Beiträge: 1.998
    Code: PHP  [Auswählen]
    if (strstr($PHP_SELF, FILENAME_POPUP_IMAGE )) {
    echo '<body onload="resize();"> ';
    } else {
    echo '<body onLoad="NewWindow(\'http://www.DeineDomain.de/Seite.htm\',\'mypopup\',\'400\',\'400\',\'center\',\'front\');"> ';
    }

    Wenn du das nur für die Startseite willst muss noch eine Abfrage rein

    mouseworx

    • Schreiberling
    • Beiträge: 254
    • Geschlecht:
    So wie du den Code eingefügt hast geht er nur beim Aufruf der Datei popup_image.php auf.

    Du mußt die if Bedingung erweitern, für die index.php wäre das wie folgt:

    Code: PHP  [Auswählen]
    if (strstr($PHP_SELF, FILENAME_POPUP_IMAGE )) {
        echo '<body onload="resize();"> ';
    } else if (strstr($PHP_SELF, FILENAME_DEFAULT)) {
        echo '<body onLoad="NewWindow(\'http://www.DeineDomain.de/Seite.htm\',\'mypopup\',\'400\',\'400\',\'center\',\'front\');"> ';
    } else {
        echo '<body>';
    }

    Grüße
    Sebastian

    web0null

    • Experte
    • Beiträge: 1.998
    Wollte es gerade posten, mouseworx hat es jetzt vervollständigt

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Leute, Leute...

    • Zitat von tolteq: "(für html ist hier kein button, daher php)"
      Nimm den XML-Button für XHTML
    • @mouseworx
      Blödsinn, mit web0null's Code geht es immer auf das Pop-Up, außer bei der Datei popup_image.php.
      Und er schrieb "Wenn du das nur für die Startseite willst muss noch eine Abfrage rein" und meinte damit nicht, daß er dies hiermit schon getan hätte sondern, daß dies zu geschehen habe.

    Gruß,
    noRiddle

    mouseworx

    • Schreiberling
    • Beiträge: 254
    • Geschlecht:
    @ noRiddle

    Schau mal auf die Uhrzeiten der Postings (Sekunden) von web0null und mir.

    So wie du den Code eingefügt hast geht er nur beim Aufruf der Datei popup_image.php auf.

    Das bezieht sich auf das Posting von toltec...

    Grüße
    Sebastian

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Ahh, jetzt, ja.
    Allerdings bekommt man eine Meldung wenn man einen Post absenden möchte und jemand anderes gerade etwas geschrieben hat,
    sollte man vielleicht beachten ... ;-)

    Gruß,
    noRiddle

    tolteq

    • Neu im Forum
    • Beiträge: 18
    Hallo Ihr
    VIELEN DANK für eure Hilfe!  :thumbs:

    Jetzt klappt es endlich wie gedacht und wieder was gelernt. Vielleicht hilfts ja dem ein oder andren auch weiter, da ich über google usw. nix fand dazu.

    danke nochmals und einen schönen Tag euch
    beste Grüße
    tolteq
    1 Antworten
    2632 Aufrufe
    06. Januar 2011, 21:36:03 von franky_n
    1 Antworten
    1978 Aufrufe
    12. März 2013, 19:21:40 von Ofendo