PopUp-Builder

Emceechen
Beiträge: 129
Registriert: Mi 26. Mai 2004, 11:18
Kontaktdaten:

Beitrag von Emceechen » Mi 21. Jul 2004, 08:34

Hallo zusammen,
habe das Modul eingebaut, Input funktioniert auch einwandfrei. Habe die JavaScript OnClick Erweiterung noch dazu geschrieben. Habe nur ein Problem, ich bekomme beim Anzeigen der Seite immer einen JavaScript Fehler, obwohl ich glaube das der Code funktionieren möchte.
Eigentlich möchte ich über das Popup eine ganz normale HTML Seite ausgeben lassen, halt auf Klick. Wenn ich ein Bild einfüge wird das Bild auch, allerdings nur mit Popup testen, im Input angezeigt, im Browser aber nicht. Und HTML Seiten funktionieren überhaupt nicht.
Hab ich was falsch gemacht? Geht es evtl. einfacher meinen Plan zu realisieren. Hab mir das ganze jetzt zwei Tage angeschaut, aber um ehrlich zu sein so wirklich blick ich noch nicht durch, deswegen weiß ich leider noch nicht wie ich das anpassen könnte.
Wäre nett wenn mir da jemand unter die Arme greifen könnte. Viele Grüße,

Micha

Gast

Beitrag von Gast » Fr 6. Jan 2006, 20:30

Hab das Modul um eine kleine Funktion erweitert: Man kann angeben, ob das Popup vor oder nach einem bestimmten Datum nicht mehr angezeigt werden soll.

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>nicht anzeigen vor dem (tt/mm/jjjj)</td>";
echo "      <td><input type=\"text\" name=\"CMS_VAR[14]\" value=\"CMS_VALUE[14]\" maxlength=\"2\" size=\"2\">";
echo "          <input type=\"text\" name=\"CMS_VAR[15]\" value=\"CMS_VALUE[15]\" maxlength=\"2\" size=\"2\">";
echo "          <input type=\"text\" name=\"CMS_VAR[16]\" value=\"CMS_VALUE[16]\" maxlength=\"4\" size=\"4\"></td>";

echo "      <td>oder nach dem (tt/mm/jjjj)</td>";
echo "      <td><input type=\"text\" name=\"CMS_VAR[17]\" value=\"CMS_VALUE[17]\" maxlength=\"2\" size=\"2\">";
echo "          <input type=\"text\" name=\"CMS_VAR[18]\" value=\"CMS_VALUE[18]\" maxlength=\"2\" size=\"2\">";
echo "          <input type=\"text\" name=\"CMS_VAR[19]\" value=\"CMS_VALUE[19]\" maxlength=\"4\" size=\"4\"></td></tr>";


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;
    }
}

function convertTimestamp($day,$month,$year,$endOfDay=false){
    if($endOfDay){
    	return mktime(0,0,0,$month,$day,$year);
    }else{
   		return mktime(23,59,59,$month,$day,$year);
   	}
}

$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 (
 (("CMS_VALUE[16]" == "") || (time() > convertTimestamp("CMS_VALUE[14]","CMS_VALUE[15]","CMS_VALUE[16]")))
   &&
 (("CMS_VALUE[19]" == "") || (time() < convertTimestamp("CMS_VALUE[17]","CMS_VALUE[18]","CMS_VALUE[19]",true)))
 ){

  
    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";
    }
}


?>

Schöne Grüße

Robert

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Fr 6. Jan 2006, 23:32

Für Contenido V4.3 beta? Echt?

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Gesperrt