PopUp-Builder

chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

PopUp-Builder

Beitrag von chobbert » Fr 5. Sep 2003, 13:46

Hallo zusammen,

für eines meiner Projekte ist das folgende Modul "PopUp-Builder" enstanden, vielleicht hat der eine oder andere ja Bedarf.

Mit Hilfe des PopUp-Builders lassen sich Popups auf der Seite integrieren. Hierzu gibt man eine URL an, die im neu geöffneten Fenster angezeigt werden soll. Das Erscheinungsbild dieses Fenster kann über diverse Parameter (z.B. Höhe, Breite, Menüleiste anzeigen...) beeinflusst werden.

Über den Button "Popup testen" kann das Aussehen des Fensters schon in der Konfiguration überprüft werden.

Zusätzlich kann eine Anzeige-Ratio eingestellt werden. Bei einem Wert von 0% wird das Popup nie, bei einem Wert von 100% immer angezeigt. Auf der Skala dazwischen lässt sich dann bestimmen, mit welcher Wahrscheinlichkeit das Popup einem User präsentiert wird. Realisiert wird dies durch eine Zufallszahl.


Hier ein Screenshot des Input-Bereichs:

Bild



Beschreibung:

Code: Alles auswählen

PopUp-Builder
Version 0.9
Date:  05.09.2003
Author: Robert Strouhal (contenido.clearcreative.de)

Input:

Code: Alles auswählen

?>

<script language="JavaScript">
f = document.tplcfgform;
params = "nonsens=no";


function addToParams(varname, varwert){
	params = params+", "+varname+"="+varwert;
}

function testPopupBuilder(){
    if (f.elements['CMS_VAR[2]'].value != ""){
       addToParams("width",f.elements['CMS_VAR[2]'].value);
    }
    if (f.elements['CMS_VAR[3]'].value != ""){
       addToParams("height",f.elements['CMS_VAR[3]'].value);
    }
    if (f.elements['CMS_VAR[6]'].checked == true){
       addToParams("location","yes");
    }
    if (f.elements['CMS_VAR[7]'].checked == true){
       addToParams("menubar","yes");
    }
    if (f.elements['CMS_VAR[8]'].checked == true){
       addToParams("toolbar","yes");
    }
    if (f.elements['CMS_VAR[9]'].checked == true){
       addToParams("titlebar","yes");
    }
    if (f.elements['CMS_VAR[10]'].checked == true){
       addToParams("status","yes");
    }
    if (f.elements['CMS_VAR[11]'].checked == true){
       addToParams("scrollbars","yes");
    }
    if (f.elements['CMS_VAR[12]'].checked == true){
       addToParams("resizable","yes");
    }
    
    testfenster = window.open(f.elements['CMS_VAR[1]'].value,"testfenster",params);

    if ((f.elements['CMS_VAR[4]'].value != "") && (f.elements['CMS_VAR[4]'].value != "")){
	    testfenster.moveTo(f.elements['CMS_VAR[4]'].value,f.elements['CMS_VAR[5]'].value);
    }

}
	


</script>


<?

// INPUT


echo "<table border=0>\n";
echo "	<tr><td>URL</td><td colspan=3><input type=\"text\" size=50 ";
echo " name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\"></td><tr>\n";
echo "  <tr><td colspan=4>&nbsp;</td></tr>\n";

echo "  <td>Breite</td><td><input type=\"text\" maxlength=4 size=4 ";
echo " name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\"> px</td>";
echo "  <td>Höhe</td><td><input type=\"text\" maxlength=4 size=4 ";
echo " name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\"> px</td></tr>";

echo "  <tr><td>Position von links*</td><td><input type=\"text\" maxlength=4 size=4 ";
echo " name=\"CMS_VAR[4]\" value=\"CMS_VALUE[5]\"> px</td>";
echo "  <td>Position von oben*</td><td><input type=\"text\" maxlength=4 size=4 ";
echo " name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\"> px</td></tr>";
echo "  <tr><td colspan=4>* Diese Funktionen sollten nur für PopUps genutzt werden, ";
echo "deren Inhalt auf der gleichen Domain liegt wie die eigentliche Website!</td></tr>\n";
echo "  <tr><td colspan=4>&nbsp;</td></tr>\n";

echo "  <tr><td width=10>Adressleiste</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[6]\" value=\"yes\" ";
if ("CMS_VALUE[6]" == "yes"){
	echo " checked ";
}
echo "   ></td>";
echo "  <td width=10>Menüleiste</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[7]\" value=\"yes\" ";
if ("CMS_VALUE[7]" == "yes"){
	echo " checked ";
}
echo "   ></td></tr>";
echo "  <tr><td>Werkzeugleiste</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[8]\" value=\"yes\" ";
if ("CMS_VALUE[8]" == "yes"){
	echo " checked ";
}
echo "   ></td>";
echo "  <td>Titelleiste</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[9]\" value=\"yes\" ";
if ("CMS_VALUE[9]" == "yes"){
	echo " checked ";
}
echo "   ></td></tr>";
echo "  <tr><td>Statusleiste</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[10]\" value=\"yes\" ";
if ("CMS_VALUE[10]" == "yes"){
	echo " checked ";
}
echo "   ></td>";
echo "  <td>Scroll-Funktion</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[11]\" value=\"yes\" ";
if ("CMS_VALUE[11]" == "yes"){
	echo " checked ";
}
echo "   ></td></tr>";
echo "  <tr><td>Resizable</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[12]\" value=\"yes\" ";
if ("CMS_VALUE[12]" == "yes"){
	echo " checked ";
}
echo "   ></td>";
echo "  <td colspan=2>&nbsp;</td></tr>\n";

echo "  <tr><td colspan=4>&nbsp;</td></tr>\n";
echo "  <tr><td>Anzeigen-Ratio</td>";
echo "  <td><select name=\"CMS_VAR[13]\">\n";


$popupRatio = str_replace(",",".","CMS_VALUE[13]");
$popupRatio = (float) $popupRatio;


for ($i=0; $i<=1; $i=$i+0.1){
	echo "<option value=\"".$i."\" ";
	if ($i <= $popupRatio){
		echo " selected ";
	}
	echo ">".($i*100)." %</option>\n";
}
echo "</select>\n";
echo "</td></tr>\n";
echo "  <tr><td colspan=4>&nbsp;</td></tr>\n";

echo "   <tr><td colspan=4><input type=\"button\" value=\"PopUp testen\" ";
echo " onClick=\"testPopupBuilder()\"></td>";


echo "</table>";


Output:

Code: Alles auswählen

<?

class PopupBuilderParams{
	var $paramsstring;
	
	function PopupBuilderParams(){
		$this->paramsstring = "nonsens=no";
	}
	
	function add($varname, $varwert="yes"){
	$this->paramsstring = $this->paramsstring.", ".$varname."=".$varwert;
    }
}


$pBp = new PopupBuilderParams();

if ("CMS_VALUE[2]" != ""){
	$pBp->add("width","CMS_VALUE[2]");
}
if ("CMS_VALUE[3]" != ""){
	$pBp->add("height","CMS_VALUE[3]");
}
if ("CMS_VALUE[6]" != ""){
	$pBp->add("location");
}
if ("CMS_VALUE[7]" != ""){
	$pBp->add("menubar");
}
if ("CMS_VALUE[8]" != ""){
	$pBp->add("toolbar");
}
if ("CMS_VALUE[9]" != ""){
	$pBp->add("titlebar");
}
if ("CMS_VALUE[10]" != ""){
	$pBp->add("status");
}
if ("CMS_VALUE[11]" != ""){
	$pBp->add("scrollbars");
}
if ("CMS_VALUE[12]" != ""){
	$pBp->add("resizable");
}


if ($changeview != "edit"){
    echo "<script language=\"JavaScript\">\n";
    
    echo "if (Math.random() < CMS_VALUE[13]){\n";
    echo "  popup = window.open('CMS_VALUE[1]','popup','".$pBp->paramsstring."')\n\n";
    
    
    if (("CMS_VALUE[4]" != "") && ("CMS_VALUE[5]" != "")){
    	echo "  popup.moveTo(CMS_VALUE[4],CMS_VALUE[5])\n";
    }
    echo "}\n";
    echo "</script>\n";
}


?>

:!: Es ist noch eine der ersten Versionen. Daher alles ohne Garantie oder Gewährleistung. Fehlermeldungen oder Verbesserungsvorschläge nehme ich gerne entgegen.



Schöne Grüße
Robert
Zuletzt geändert von chobbert am Sa 6. Sep 2003, 10:53, insgesamt 1-mal geändert.

Zeitgeist
Beiträge: 205
Registriert: Fr 5. Sep 2003, 09:47
Wohnort: Hamburg
Kontaktdaten:

Mannomann DANKE

Beitrag von Zeitgeist » Fr 5. Sep 2003, 17:45

Hallo chobbert,
vielen Dank für das Modul!

Mit dieser Problematik trage ich mich geistig schon seit rd. 2 Wochen.
In den nächsten Tagen hätte ich einen "Frage-Threat" eröffnet....und siehe
da, Foren lesen lohnt doch!!

Du hast mir eine große Last/Aufgabe abgenommen.
Ich habe es eben eingebunden und es funkt sofort und einwandfrei.

Soeben stellte sich mir aber eine Frage;
Das Popup wird beim Betretend er Seite gestartet (?), wie aktiviere ich es nun
"auf klick"...ich möchte eine Grafik mit einem Popup versehen.

Also klick auf die Grafik öffnet das Popup

ansonsten
Muchas Gracias für das Modul!
Zeitgeist

chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert » Fr 5. Sep 2003, 22:38

Hallo Zeitgeist!

Eigentlich ist das Modul für Deinen Zweck nicht unbedingt geeignet, da es hier vor allem um ein Popup geht, das automatisch und in einer gewissen Ratio angezeigt wird.

In einer Quick&Dirty-Lösung könntest Du das Modul natürlich umschreiben. Den Output umgibt man mit einer JavaScript-Funktion, z.B.

Code: Alles auswählen

if ($changeview != "edit"){ 
    echo "<script language=\"JavaScript\">\n"; 

   echo "function myPopup(){\n";   
    echo "if (Math.random() < CMS_VALUE[13]){\n"; 
    echo "  popup = window.open('CMS_VALUE[1]','popup','".$pBp->paramsstring."')\n\n"; 
    
    
    if (("CMS_VALUE[4]" != "") && ("CMS_VALUE[5]" != "")){ 
       echo "  popup.moveTo(CMS_VALUE[4],CMS_VALUE[5])\n"; 
    } 
    echo "}\n";
    echo "}\n";
    echo "</script>\n"; 
}

Und Dein Bild versiehst Du mit dem passenden Event:

Code: Alles auswählen

<a href="#" onClick="myPopup()"><img src="meinbild.gif" border=0></a>


Schöne Grüße
Robert

victor
Beiträge: 70
Registriert: Mo 27. Jan 2003, 08:54
Wohnort: Kassel
Kontaktdaten:

super wäre

Beitrag von victor » Do 11. Sep 2003, 14:00

super wäre es natürlich wenn man noch die direkte Auswahl der Seite hat.
zb. welchen Artikel man in der internen Struktur popupen will.
"Niemand weiss mehr als alle zusammen"

Patricio
Beiträge: 3
Registriert: Sa 4. Okt 2003, 11:24
Kontaktdaten:

Re: PopUp-Builder

Beitrag von Patricio » Sa 4. Okt 2003, 11:25

Eine Frage:

Wie binde ich den PopUp-Builder ein?

Danke für Antwort! :)

chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert » Sa 4. Okt 2003, 11:58

Das ganze stellt ein Modul für Contenido 4.3 dar. Die Integration entspricht der aller anderen Module:

1. Input- und Output-Code als neues Modul anlegen (Style->Module)
2. Modul in Template einsetzen
3. einen neuen Artikel mit diesem Template anlegen
4. unter "Konfiguration" des Artikels das Popup anpassen

Mehr Infos zum Einsatz von Modulen gibt es auch im Contenido-Handbuch (http://www.contenido.de/front_final/pdf ... on_43.pdf)


Schönes Wochenende

Robert

Patricio
Beiträge: 3
Registriert: Sa 4. Okt 2003, 11:24
Kontaktdaten:

Thankx

Beitrag von Patricio » Mo 6. Okt 2003, 07:29

Danke für die Info....

werde es mal ausprobieren.

lg, Patricio 8)

Patricio
Beiträge: 3
Registriert: Sa 4. Okt 2003, 11:24
Kontaktdaten:

Beitrag von Patricio » Mo 6. Okt 2003, 07:37

das ganze funktioniert nicht wirklich.
hab alles gemacht wie sonst auch, aber schon bei der vorkonfig vom template bleib ich hängen....

aktion abgebrochen - page scheint da auf.

woran kann das liegen?

danke nochmals und lg,
patricio




http://www.dieboerse.at

chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert » Mo 6. Okt 2003, 09:11

Hallo!

Was steht denn in Deiner errorlog.txt?


Schöne Grüße

Robert

chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Neue Version des PopUp-Builders

Beitrag von chobbert » Mo 2. Feb 2004, 16:24

Das PopUp-Modul ist nun noch um zwei Funktionen erweitert worden:

- man kann bestimmen, ob das PopUp nur einmal während einer User-Session angezeigt wird
- als Alternative zur Direkteingabe einer URL kann man nun auch einen internen Artikel aus dem CMS oder ein PDF aus der Dateiverwaltung auswählen.

Wichtig: Neben dem Modul benötigt man außerdem die unten aufgeführte Datei choose_link.php im Ordner /contenido.



Input

Code: Alles auswählen

?>

<script language="JavaScript">
f = document.tplcfgform;
params = "nonsens=no";

function hyperlink(feld)
  {
   url = "../contenido/choose_link.php?client=<?php echo $client;?>&lang=<?php echo $lang;?>&feld="+feld
   window.open(url,"","height=250,width=700,scrollbars=yes,status=yes");
  }
  
  
function addToParams(varname, varwert){
   params = params+", "+varname+"="+varwert;
}

function testPopupBuilder(){
    if (f.elements['CMS_VAR[2]'].value != ""){
       addToParams("width",f.elements['CMS_VAR[2]'].value);
    }
    if (f.elements['CMS_VAR[3]'].value != ""){
       addToParams("height",f.elements['CMS_VAR[3]'].value);
    }
    if (f.elements['CMS_VAR[6]'].checked == true){
       addToParams("location","yes");
    }
    if (f.elements['CMS_VAR[7]'].checked == true){
       addToParams("menubar","yes");
    }
    if (f.elements['CMS_VAR[8]'].checked == true){
       addToParams("toolbar","yes");
    }
    if (f.elements['CMS_VAR[9]'].checked == true){
       addToParams("titlebar","yes");
    }
    if (f.elements['CMS_VAR[10]'].checked == true){
       addToParams("status","yes");
    }
    if (f.elements['CMS_VAR[11]'].checked == true){
       addToParams("scrollbars","yes");
    }
    if (f.elements['CMS_VAR[12]'].checked == true){
       addToParams("resizable","yes");
    }
   
    if (f.elements['CMS_VAR[1]'].value != ""){
	    testfenster = window.open(f.elements['CMS_VAR[1]'].value,"testfenster",params);
	}
    if (f.elements['CMS_VAR[100]'].value != ""){
	    testfenster = window.open("<? echo $cfgClient[$client]["htmlpath"]["frontend"]; ?>"+f.elements['CMS_VAR[100]'].value,"testfenster",params);
	}

    if ((f.elements['CMS_VAR[4]'].value != "") && (f.elements['CMS_VAR[4]'].value != "")){
       testfenster.moveTo(f.elements['CMS_VAR[4]'].value,f.elements['CMS_VAR[5]'].value);
    }

}
   


</script>


<?

// INPUT


echo "<table border=0>\n";
echo "   <tr><td>URL</td><td colspan=3><input type=\"text\" size=50 ";
echo " name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\"></td><tr>\n";
echo "   <tr><td>oder interner Artikel</td><td colspan=3><input type=\"text\" size=50 ";
echo " name=\"CMS_VAR[100]\" value=\"CMS_VALUE[100]\" onClick=\"hyperlink(this.name)\"></td><tr>\n";
echo "  <tr><td colspan=4>&nbsp;</td></tr>\n";

echo "   <tr><td>nur ein PopUp pro Session</td><td colspan=3>";
echo "  <input type=\"checkbox\" name=\"CMS_VAR[101]\" value=\"yes\" ";
if ("CMS_VALUE[101]" == "yes"){
   echo " checked ";
}
echo "   ></td></tr>";

echo "  <tr><td>Breite</td><td><input type=\"text\" maxlength=4 size=4 ";
echo " name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\"> px</td>";
echo "  <td>Höhe</td><td><input type=\"text\" maxlength=4 size=4 ";
echo " name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\"> px</td></tr>";

echo "  <tr><td>Position von links*</td><td><input type=\"text\" maxlength=4 size=4 ";
echo " name=\"CMS_VAR[4]\" value=\"CMS_VALUE[5]\"> px</td>";
echo "  <td>Position von oben*</td><td><input type=\"text\" maxlength=4 size=4 ";
echo " name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\"> px</td></tr>";
echo "  <tr><td colspan=4>* Diese Funktionen sollten nur für PopUps genutzt werden, ";
echo "deren Inhalt auf der gleichen Domain liegt wie die eigentliche Website!</td></tr>\n";
echo "  <tr><td colspan=4>&nbsp;</td></tr>\n";

echo "  <tr><td width=10>Adressleiste</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[6]\" value=\"yes\" ";
if ("CMS_VALUE[6]" == "yes"){
   echo " checked ";
}
echo "   ></td>";
echo "  <td width=10>Menüleiste</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[7]\" value=\"yes\" ";
if ("CMS_VALUE[7]" == "yes"){
   echo " checked ";
}
echo "   ></td></tr>";
echo "  <tr><td>Werkzeugleiste</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[8]\" value=\"yes\" ";
if ("CMS_VALUE[8]" == "yes"){
   echo " checked ";
}
echo "   ></td>";
echo "  <td>Titelleiste</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[9]\" value=\"yes\" ";
if ("CMS_VALUE[9]" == "yes"){
   echo " checked ";
}
echo "   ></td></tr>";
echo "  <tr><td>Statusleiste</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[10]\" value=\"yes\" ";
if ("CMS_VALUE[10]" == "yes"){
   echo " checked ";
}
echo "   ></td>";
echo "  <td>Scroll-Funktion</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[11]\" value=\"yes\" ";
if ("CMS_VALUE[11]" == "yes"){
   echo " checked ";
}
echo "   ></td></tr>";
echo "  <tr><td>Resizable</td>";
echo "  <td><input type=\"checkbox\" name=\"CMS_VAR[12]\" value=\"yes\" ";
if ("CMS_VALUE[12]" == "yes"){
   echo " checked ";
}
echo "   ></td>";
echo "  <td colspan=2>&nbsp;</td></tr>\n";

echo "  <tr><td colspan=4>&nbsp;</td></tr>\n";
echo "  <tr><td>Anzeigen-Ratio</td>";
echo "  <td><select name=\"CMS_VAR[13]\">\n";


$popupRatio = str_replace(",",".","CMS_VALUE[13]");
$popupRatio = (float) $popupRatio;


for ($i=0; $i<=1; $i=$i+0.1){
   echo "<option value=\"".$i."\" ";
   if ($i <= $popupRatio){
      echo " selected ";
   }
   echo ">".($i*100)." %</option>\n";
}
echo "</select>\n";
echo "</td></tr>\n";
echo "  <tr><td colspan=4>&nbsp;</td></tr>\n";

echo "   <tr><td colspan=4><input type=\"button\" value=\"PopUp testen\" ";
echo " onClick=\"testPopupBuilder()\"></td>";


echo "</table>";



Output

Code: Alles auswählen

<?

class PopupBuilderParams{
   var $paramsstring;
   
   function PopupBuilderParams(){
      $this->paramsstring = "nonsens=no";
   }
   
   function add($varname, $varwert="yes"){
   $this->paramsstring = $this->paramsstring.", ".$varname."=".$varwert;
    }
}


$pBp = new PopupBuilderParams();

if ("CMS_VALUE[2]" != ""){
   $pBp->add("width","CMS_VALUE[2]");
}
if ("CMS_VALUE[3]" != ""){
   $pBp->add("height","CMS_VALUE[3]");
}
if ("CMS_VALUE[6]" != ""){
   $pBp->add("location");
}
if ("CMS_VALUE[7]" != ""){
   $pBp->add("menubar");
}
if ("CMS_VALUE[8]" != ""){
   $pBp->add("toolbar");
}
if ("CMS_VALUE[9]" != ""){
   $pBp->add("titlebar");
}
if ("CMS_VALUE[10]" != ""){
   $pBp->add("status");
}
if ("CMS_VALUE[11]" != ""){
   $pBp->add("scrollbars");
}
if ("CMS_VALUE[12]" != ""){
   $pBp->add("resizable");
}

$popUpCookie = "popup_".$idcat."_".$idart;

if (($changeview != "edit")){
    echo "<script language=\"JavaScript\">\n";
   
    if ("CMS_VALUE[13]" == ""){
        $ratio = 0;
    }else{
        $ratio = str_replace(",",".","CMS_VALUE[13]");
    }

    echo "if ((Math.random() < ".$ratio.") && (document.cookie.indexOf('".$popUpCookie."') == -1)){\n";
    if ("CMS_VALUE[1]" != ""){
    	echo "  popup = window.open('CMS_VALUE[1]','popup','".$pBp->paramsstring."')\n\n";
    }elseif ("CMS_VALUE[100]" != ""){ 
    	echo "  popup = window.open('CMS_VALUE[100]','popup','".$pBp->paramsstring."')\n\n";
    }
      
    if (("CMS_VALUE[4]" != "") && ("CMS_VALUE[5]" != "")){
       echo "  popup.moveTo(CMS_VALUE[4],CMS_VALUE[5])\n";
    }
    if ("CMS_VALUE[101]" == "yes"){
    	echo "document.cookie = \"".$popUpCookie."=1\";\n";
    }
    echo "}\n";
    echo "</script>\n";
}


?>


contenido/choose_link.php

Code: Alles auswählen

<?

include_once ('./includes/config.php');
include_once ($cfg["path"]["classes"] . 'class.plugin.php');
include_once ($cfg["path"]["classes"] . 'class.xml.php');
include_once ($cfg["path"]["classes"] . 'class.navigation.php');
include_once ($cfg["path"]["classes"] . 'class.template.php');
include_once ($cfg["path"]["classes"] . 'class.backend.php');
include_once ('./includes/functions.upl.php');
include_once ($cfg["path"]["includes"] . 'functions.i18n.php');

?>
<html>
<head>
<title>contenido</title>
<link rel="stylesheet" type="text/css" href="<?php print $cfg["path"]["contenido_fullhtml"].$cfg["path"]["styles"] ?>contenido.css">
</HEAD>


<script>

function submitUrl(){
	window.opener.tplcfgform.elements['<? echo $_GET["feld"]; ?>'].value = editcontent.CMS_LINK.value;
	window.close();
	}
</script>


<BODY MARGINHEIGHT=0 MARGINWIDTH=0 LEFTMARGIN=0 TOPMARGIN=0>
<table width="100%"  border=0 cellspacing="0" cellpadding="0" bgcolor=<?php echo "$bg"; ?> >
  <tr>
    <td width="10" rowspan="4"><img src="<?php print $cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"] ?>spacer.gif" width="10" height="10"></td>
    <td width="100%"><img src="<?php print $cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"] ?>spacer.gif" width="10" height="10"></td>
    <td width="10" rowspan="4"><img src="<?php print $cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"] ?>spacer.gif" width="10" height="10"></td>
  </tr>
  <tr>
    <td>
    <?php
    
    // Create Contenido classes
    $db  = new DB_Contenido;

        $sql = "SELECT
                    *
                FROM
                    ".$cfg["tab"]["content"]." AS a,
                    ".$cfg["tab"]["art_lang"]." AS b,
                    ".$cfg["tab"]["type"]." AS c
                WHERE
                    a.idtype    = c.idtype AND
                    a.idartlang = b.idartlang"; /* AND
                    b.idartlang = '".$idartlang."'";*/

        $db->query($sql);

        while ($db->next_record()) {
            $a_content[$db->f("type")][$db->f("typeid")] = $db->f("value");
            $a_description[$db->f("type")][$db->f("typeid")] = ""; //i18n($db->f("description"));
        }

        echo "  <FORM name=\"editcontent\" method=\"post\" action=\"#\" onSubmit=\"submitUrl()\">";

        echo "  <TABLE cellpadding=2 cellspacing=0 border=0>";

        echo "  <TR><TD valign=\"top\" class=text_medium nowrap>&nbsp;".$typenr."&nbsp;".$a_description["CMS_LINK"][$typenr]."</TD><TD class=content>";
                echo "<INPUT type=hidden name=CMS_LINK VALUE=\"".$a_content["CMS_LINK"][$typenr]."\">";
                if (is_numeric($a_content["CMS_LINK"][$typenr])) {
                        $a_link_intern_value = $a_content["CMS_LINK"][$typenr];
                        $a_link_extern_value = "";
                } else {
                        $a_link_intern_value = "0";
                        $a_link_extern_value = $a_content["CMS_LINK"][$typenr];
                }
                echo "<INPUT type=text name=CMS_LINKextern VALUE=\"".$a_link_extern_value."\" SIZE=45 onchange=\"editcontent.CMS_LINK.value=this.value; editcontent.CMS_LINKintern.value=0;\"> <span class=text_medium>[Externer Link]</span> <b><span class=text_medium>oder</span></b><br>";


                $sql = "SELECT
                            *
                        FROM
                            ".$cfg["tab"]["cat_tree"]." AS a,
                            ".$cfg["tab"]["cat_art"]." AS b,
                            ".$cfg["tab"]["cat"]." AS c,
                            ".$cfg["tab"]["cat_lang"]." AS d,
                            ".$cfg["tab"]["art_lang"]." AS e
                        WHERE
                            a.idcat = b.idcat AND
                            b.idcat = d.idcat AND
                            d.idlang = '".$lang."' AND
                            b.idart  = e.idart AND
                            c.idcat = a.idcat AND
                            c.idclient = '".$client."'
                        ORDER BY
                            a.idtree";


                $db->query($sql);

                echo "<SELECT name=CMS_LINKintern SIZE=1 onChange=\"editcontent.CMS_LINK.value='front_content.php?idcatart='+this.value; editcontent.CMS_LINKextern.value='';\">";

                        if ($a_link_intern_value != 0) {
                            echo "<option value=0>-- ".i18n("None")." --</option>";
                        } else {
                            echo "<option value=0 selected>-- ".i18n("None")." --</option>";
                        }

                        while ( $db->next_record() ) {

                                $spaces = "";

                                for ($i=0; $i<$db->f("level"); $i++) {
                                    $spaces .= "&nbsp;&nbsp;&nbsp;&nbsp;";
                                }

                                $tmp_title = $db->f("title");

                                if ( strlen($tmp_title) > 32 ) {
                                    $tmp_title = substr($tmp_title, 0, 32);
                                }

                                $spaces .= "> ";

                                if ( $db->f("idcatart") != $a_link_intern_value ) {
                                        echo "<option value=\"".$db->f("idcatart")."\">$spaces ".$db->f("name")."---".$tmp_title."</option>";
                                } else {
                                        echo "<option value=\"".$db->f("idcatart")."\" selected>$spaces ".$db->f("name")."---".$tmp_title."</option>";
                                }
                        }

                echo "</SELECT> <span class=text_medium>[Interner Link]</a> <b><span class=text_medium>oder</span></b><br>";



        echo "<SELECT name=\"selectpdf\" SIZE=1>";
        echo "<option value=\"\" selected>bitte auswählen</option>";

        $sql = "SELECT * FROM ".$cfg["tab"]["upl"]." WHERE idclient='".$client."' AND filetype = 'pdf' ORDER BY filename";

        $db->query($sql);

        while ($db->next_record()) {
            echo "<option value=\"".$db->f("dirname")."/".$db->f("filename")."\">".$db->f("dirname")."/".$db->f("filename")." [".$db->f("description")."]</option>";
        }

        echo "</SELECT> <span class=text_medium>[Link zu einem PDF]</span>";

        echo "  </TD></TR>";
        echo "  <!--<TR><TD valign=top class=text_medium nowrap>&nbsp;".$a_description["CMS_LINKDESCR"][$typenr]."</TD><TD class=content>";
        echo "  <TEXTAREA name=CMS_LINKDESCR ROWS=3 COLS=60>".$a_content["CMS_LINKDESCR"][$typenr]."</TEXTAREA>";
        echo "  </TD></TR>";
        echo "  <TR><TD valign=top class=text_medium nowrap>&nbsp;".$a_description["CMS_LINKTARGET"][$typenr]."</TD><TD class=content>";
        echo "  <INPUT type=text name=CMS_LINKTARGET VALUE=\"".$a_content["CMS_LINKTARGET"][$typenr]."\" SIZE=60 onChange=\"setlinktargettosomething();\">";
        echo "  </TD></TR>-->";
        $tmp_area = "con_editcontent";
        echo "  <TR valign=top><TD colspan=2><br>
                      <a href=\"#\" onClick=\"editcontent.CMS_LINK.value=''; submitUrl()\"><img src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_cancel.gif\" border=0></a>
                      <a href=\"#\" onClick=\"submitUrl()\"><img src=\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_ok.gif\" border=0></a>
                      </TD></TR>";

        echo "  </TABLE>
                      </FORM>";




?>
</td></tr></table>
</body>
</HTML>


Schöne Grüße

Robert

2Code
Beiträge: 73
Registriert: So 4. Jan 2004, 11:24
Kontaktdaten:

Beitrag von 2Code » Mo 10. Mai 2004, 20:45

Vielen Dank!!! Ja da kann ich doch glatt ein paar stunden länger schlafen:-)
Etwas umschreiben und vola:-)
Thx!

Franky_Ndb
Beiträge: 18
Registriert: Mi 19. Mai 2004, 11:45
Wohnort: Deggendorf
Kontaktdaten:

Pop-Up Modul.... Herzlichen Dank

Beitrag von Franky_Ndb » Do 27. Mai 2004, 17:36

Servus Miteinander,

irgendwie verstehe ich das nicht so ganz....

Dieses Modul habe ich (ich denke ich habe gründlich gesucht) nicht auf der Contenido "Entwickler-Site" finden können.

Kann es sein daß so manches Modul dort überhaupt nicht auftaucht. Wenn ja, ist das Absicht oder Versehen oder oder wie?

Dieses PopUp Modul ist wirklich Klasse und warum sollte man es anderen "vorenthalten", oder erst zugänglich machen wenn diese danach explizit suchen.....

Herzliche Grüße aus dem immer noch frostigen Bayern,
Tom
...sometimes life is hard.
...sometimes life is short.
...most time makes life some feet above more fun...!

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: Pop-Up Modul.... Herzlichen Dank

Beitrag von Halchteranerin » Fr 28. Mai 2004, 06:54

Hallo,
Franky_Ndb hat geschrieben: Dieses Modul habe ich (ich denke ich habe gründlich gesucht) nicht auf der Contenido "Entwickler-Site" finden können.

Kann es sein daß so manches Modul dort überhaupt nicht auftaucht. Wenn ja, ist das Absicht oder Versehen oder oder wie?
ich habe jetzt nicht nachgeschaut, aber das kann durchaus sein. Viele Module sind nur hier im Forum zu finden, was ich einerseits schade finde, andererseits auch verstehen kann. Die meisten sind nicht gleich von Anfang an fehlerfrei, oder die Autoren (oder andere!) nehmen noch Verbesserungen daran vor, und dieses System auf der Entwickler-Seite ist nicht sehr aenderungsfreundlich, wie ich finde. Schoen waere es, wenn man die selbst eingestellten Module auch aendern koennte, oder z.B. loeschen koennte, wenn man eine neue Version einstellt, denn sonst wird das ganze sehr unuebersichtlich, wie jetzt teilweise auch, wo einige Leute beispielsweise nicht gerafft haben, dass sie beim Upload erst den Namen des Moduls und nicht ihren eigenen eingeben muessen. :lol:

Vielleicht kann aber mal jemand von Contenido (timo?) auf DER Seite wenigstens einen Hinweis unterbringen, dass man im Forum im Bereich Module auch noch suchen kann, falls man auf der Download-Seite das gewuenschte/gesuchte Modul nicht gefunden hat.

Gruss
Christa

bartekk
Beiträge: 103
Registriert: Mo 14. Jul 2003, 15:43
Kontaktdaten:

Beitrag von bartekk » Do 1. Jul 2004, 13:19

@chobbert

habe die verfeinerte Version eingebaut und es funktioniert super. Gibt es aber eine Möglichkeit da irgendwie noch eine Zeitsteuerung einzubauen?

@all
Was ich noch nicht ausprobieren konnte wie ist das wenn man einen internen Link erstellt und dieser Artikel Zeit gesteuert ist und dann z.b 2 Tage später offline gestellt wird. Wie verhält sich das dann? Konnte es noch nicht ausprobieren, weil ich die komplette Seite umstellen muß.

chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert » Do 1. Jul 2004, 17:00

Eine Zeitsteuerung kann man mit Sicherheit einbauen, allerdings fehlt mir momentan leider infach die Zeit, das umzusetzen, zumal ich in meinen Projekten keine konkrete Anforderung in dieser Richtung habe,


Schöne Grüße

Robert

Gesperrt