Seite 1 von 2

PopUp-Builder

Verfasst: Fr 5. Sep 2003, 13:46
von chobbert
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

Mannomann DANKE

Verfasst: Fr 5. Sep 2003, 17:45
von Zeitgeist
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

Verfasst: Fr 5. Sep 2003, 22:38
von chobbert
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

super wäre

Verfasst: Do 11. Sep 2003, 14:00
von victor
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.

Re: PopUp-Builder

Verfasst: Sa 4. Okt 2003, 11:25
von Patricio
Eine Frage:

Wie binde ich den PopUp-Builder ein?

Danke für Antwort! :)

Verfasst: Sa 4. Okt 2003, 11:58
von chobbert
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

Thankx

Verfasst: Mo 6. Okt 2003, 07:29
von Patricio
Danke für die Info....

werde es mal ausprobieren.

lg, Patricio 8)

Verfasst: Mo 6. Okt 2003, 07:37
von Patricio
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

Verfasst: Mo 6. Okt 2003, 09:11
von chobbert
Hallo!

Was steht denn in Deiner errorlog.txt?


Schöne Grüße

Robert

Neue Version des PopUp-Builders

Verfasst: Mo 2. Feb 2004, 16:24
von chobbert
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

Verfasst: Mo 10. Mai 2004, 20:45
von 2Code
Vielen Dank!!! Ja da kann ich doch glatt ein paar stunden länger schlafen:-)
Etwas umschreiben und vola:-)
Thx!

Pop-Up Modul.... Herzlichen Dank

Verfasst: Do 27. Mai 2004, 17:36
von Franky_Ndb
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

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

Verfasst: Fr 28. Mai 2004, 06:54
von Halchteranerin
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

Verfasst: Do 1. Jul 2004, 13:19
von bartekk
@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ß.

Verfasst: Do 1. Jul 2004, 17:00
von chobbert
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