PopUp auf der Startseite

Für verschiedene Aktionen, benötige ich auf der Startseite ein Pop-Up Fenster, welches ich durch ein ganz einfaches Java-Script lösen wollte …

Dazu habe ich eine Kopie der _header.tpl gemacht und lade diese Kopie _heederstartpage.tpl dann in meiner start.tpl … was soweit auch funktioniert.

In meiner _headerstart.tpl hab ich dann im Bereich < head > folgenden Script:

<script type="text/javascript">
function InfoBox () {
  InfoBox = window.open("[{ $oViewConf->getBaseDir() }]infobox.html", "InfoBox", "toolbar=0,location=0,status=0,menubar=0,scrollbars=0,resizable=0,width=300,height=300,left=100,top=200");
  InfoBox.focus();
}
</script>

und in der Body-Zeile dann:

<body onload="InfoBox()" >

Im Quelltext sieht alles gut aus … nur im Shop wird mir dieses PopUp nicht angezeigt.

Liegt dies evtl daran, dass der hop keine HTML-Dateien verarbeitet … weil in einer ganz normalen HTML-Datei wird mein PopUp angezeigt.

Welche Datei(endung) müsste ich dann in dem Script aufrufen bzw. welche anderen Möglichkeiten habe ich im Shop ein PopUp zur Information auf die Startseite zu bekommen?

Gibt es dafür evtl. ein spezielles Modul?

Hat hier niemand einen Tipp oder eine Idee?

… bzw. könnte es auch sein, dass der Shop den Code:

<body onload="InfoBox()" >

einfach ignoriert?

Wenn ich mir z.B. die Datei order.tpl anschaue, dann wird doch dort auch z.B. für die AGB einfach über:


onclick="window.open('[{ $oCont->getLink()|oxaddparams:"plain=1"}]', 'agb_popup', 'resizable=yes,status=no,scrollbars=yes,menubar=no,width=620,height=400');return false;"

ein PopUp geöffnet …

Warum funktioniert das auf der Startseite dann mit “onload” nicht ? :confused: :confused: :confused:

[QUOTE=HeidelBÄR;41812]Hat hier niemand einen Tipp oder eine Idee?

… bzw. könnte es auch sein, dass der Shop den Code:

<body onload="InfoBox()" >

einfach ignoriert?

Wenn ich mir z.B. die Datei order.tpl anschaue, dann wird doch dort auch z.B. für die AGB einfach über:


onclick="window.open('[{ $oCont->getLink()|oxaddparams:"plain=1"}]', 'agb_popup', 'resizable=yes,status=no,scrollbars=yes,menubar=no,width=620,height=400');return false;"

ein PopUp geöffnet …

Warum funktioniert das auf der Startseite dann mit “onload” nicht ? :confused: :confused: :confused:[/QUOTE]
Das liegt vermutlich daran, dass das “onload”-Event überschrieben wird.

Versuch es mal damit, und nimm das onload im Body raus.


<script type="text/javascript">
function InfoBox () {
  InfoBox = window.open("[{ $oViewConf->getBaseDir() }]infobox.html", "InfoBox", "toolbar=0,location=0,status=0,menubar=0,scrollbars=0,resizable=0,width=300,height=300,left=100,top=200");
  InfoBox.focus();
}

[{*Add "window.onload" event-handler (without overwriting existing handlers!)*}]
if (window.addEventListener)
{
  [{*All good browsers (i.e. all except IE)*}]
  window.addEventListener('load', InfoBox,false);
}
else if (window.attachEvent)
{
  [{*Bloody IE*}]
  window.attachEvent("onload",InfoBox);
}
</script> 

[QUOTE=avenger;41814]Das liegt vermutlich daran, dass das “onload”-Event überschrieben wird.

Versuch es mal damit, und nimm das onload im Body raus.[/QUOTE]

Hallo Avenger,

das funktioniert … und vielen Dank für den Tipp bzw. die Info.

Ich hatte schon an meinen bescheidenen Kenntnissen gezweifelt … Tipp- und Schreibfehler in meinem Script gesucht … aber das ein Event-Handler einfach überschrieben wird, damit hab ich nicht gerechnet …

Nochmals vielen Dank für die Info. :slight_smile: