Popup bei Linkklick

Bolop
Zitat:
Original von Tamin
Mit Javascript. smile

Variante 1: alle Links werden in einem Popup geöffnet.
Suche im mgdh_linkbit Template nach:

code:
1:
<a href="{$link}"{$cssstyle}>


ersetze es durch folgendem:

code:
1:
<a href="{$link}" onclick="openPopup(this.href); return false;"{$cssstyle}>


Füge am Ende des headinclude Templates folgendes ein:

code:
1:
2:
3:
4:
5:
6:
7:
<script language="javascript">
<!--
function openPopup(link) {
 window.open(link, "", "toolbar=no,scrollbars=yes,resizable=yes,width=640,height=600");
}
//-->
</script>


Variante 2: nur bestimmte Links in einem Popup öffnen.
Suche im mgdh_linkbit Template nach:

code:
1:
<a href="{$link}"{$cssstyle}>


ersetze es durch folgendem:

code:
1:
<a href="{$link}" onclick="openPopup(this.href, this.id); return false;"{$cssstyle}>


Füge am Ende des headinclude Templates folgendes ein:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
<script language="javascript">
<!--
function openPopup(link, linkid) {
 var allowids = new Array('admincontrolpanel');

 if(in_array(linkid, allowids)) window.open(link, "", "toolbar=no,scrollbars=yes,resizable=yes,width=640,height=600");
 else self.location.href = link;
}

function in_array(item, array) {
 for(p = 0; p < array.length; p++) {
  if(item == array[p]) return true;
 }
 return false;
}
//-->
</script>


Gegebenenfalls die Höhen- und Breitewerte abändern. Augenzwinkern
Um bei der 2ten Variante Links zu definieren, die in einem Popup geöffnet werden sollen, musst du bei

code:
1:
var allowids = new Array('admincontrolpanel');


weitere IDs hinzufügen. Die ID ergibt sich aus den CSS Klassennamen (nachzulesen in der Dokumentation, Abschnitt 3.5).

Beispiel:

code:
1:
var allowids = new Array('admincontrolpanel','haeufiggestelltefragen','suche');


So würden die Links "Admin Control Panel", "Häufig gestellte Fragen" und "Suche" in einem Popup geöffnet werden.

MfG Chris


Hmm ich bekomm es nicht hin wenn ich auf Impressum klicke das sich dort das Popup öffnet.. :/ Kannst mir da weiterhelfen?
Tamin
Bei Variante 2 ?

Da musst die wie gesagt die ID des Links (bzw. in der Dokumentation als CSS Klassennamen vermerkt) in den Array schreiben.

Ich nehme mal an du hast einfach folgende Zeile so gelassen:

code:
1:
var allowids = new Array('admincontrolpanel');


Dann müsste es, wenn du im ACP dem Link den Linknamen "Impressum" gegeben hast, folgendermaßen aussehen:

code:
1:
var allowids = new Array('admincontrolpanel', 'impressum');


MfG Chris
Bolop
Hab ich schon getestet deswegen hatte ich den Thread erstellt.. Augenzwinkern

D.h. es funktioniert irgendwie nicht..^^
Tamin
Kann ich mir das irgendwo anschauen ? Auf deinem Board seh ich nämlich kein Impressum. Augenzwinkern

MfG Chris
Bolop
Irgendwie sehen die Gäste das nicht.. >.> is eigk. in der Startseite integriert.. aber die sehen Gäste auch nicht -.-

/edit: Popup beim Impressum funktioniert doch jetzt.. war mein Fehler Augenzwinkern

Aber trotzdem sehen das Gäste nicht -.-
Tamin
Was hast du denn bei den Anzeigebedingungen eingegeben ?

MfG Chris
Bolop
nüchts.. ^^ wills halt so haben das Startseite und die unterlink davon jeder sehen kann ..

und bei Startseite hab ich angegeben:

global $wbbuserdata;

code:
1:
if($wbbuserdata['userid'] && $wbbuserdata['canusepms']) $set = true;
Tamin
Das würden ja dann nur Mitglieder sehen, die registriert sind und private Nachrichten nutzen dürfen. Augenzwinkern

Lass das Feld einfach frei, dann wird das für alle angezeigt. Augenzwinkern

MfG Chris
Bolop
Dange dir.. ^^
Tamin
Kein Problem. Dafür bin ich ja da. großes Grinsen

MfG Chris
Bolop
IE & Firefoxanhänge.. Das mit dem Firefox is ordnetlich aber das im IE nicht.. ehm ya.. so kann ich mein Forum nicht öffentlich machen.. das im IE muss ordentlich werden..

Bilder:
Tamin
Hmm.. das habe ich gar nicht bemerkt. Provisorisch kannst du im mgdh_linkbit Template die leere Zeile löschen und in der functions_mgdynheader.php müssen folgende Änderungen vorgenommen werden:
Suche nach:

php:
1:
if($sublinks$sublinkstring "\n</ul>\n".$sublinks."\n<ul class=\"dh_tin sub".$x."\">\n";


ersetzen durch:

php:
1:
if($sublinks$sublinkstring "\n</ul>\n".$sublinks."\n<ul class=\"dh_tin sub".$x."\">";


Mal schaun wie ich das beheben kann, ohne dass ein unübersichtlicher Quellcode entsteht. Ist anscheinend ein IE Bug.

MfG Chris
Bolop
Hat sich zwar verbessert, aber nun schauts so aus: ^^
Tamin
Okay, ersetz mal den Code den du schon ersetzt hast durch folgenden:

php:
1:
if($sublinks$sublinkstring "</ul>".$sublinks."<ul class=\"dh_tin sub".$x."\">";


MfG Chris
Bolop
Super, funktioniert. Danke dir!