Modul Bild mit Legende und Fließtext v2.0 erweitert auf v3.0

detlev
Beiträge: 156
Registriert: Mi 18. Sep 2002, 08:05
Wohnort: Bochum
Kontaktdaten:

Modul Bild mit Legende und Fließtext v2.0 erweitert auf v3.0

Beitrag von detlev » Di 19. Nov 2002, 18:57

Hallo!
Ich habe das Modul Fließtext (v2.0 gefunden auf Svens Seite) erweitert auf die Version v3.0:
• Wahlmöglichkeit ob Bild rechts oder links
• Automatische Größenreduzierung auf einen festgelegten Maximalwert
• Der Redakteur kann die Größe in 10% Schritten vom Maximalwert einstellen
• Der Redakteur kann das Modul Aus- und Anschalten
• Nach wie vor können die Schriftgrößen eingestellt werden


Gruß
Detlev

Bitte sehr:
------------------
Input:
------------------
echo "<table align=\"left\" cellpadding=\"0\" cellspacing=\"0\">
<tr valign=\"top\">
<td width=\"202\">Modul anzeigen?</td>
<td><select name=\"CMS_VAR[3]\" size=\"1\">";
if ("CMS_VALUE[3]" == "") {
echo "<option selected>Ja</option>";
echo "<option>Nein</option>";
}
if ("CMS_VALUE[3]" != "") {
echo "<option selected>CMS_VALUE[3]</option>";
echo "<option>Ja</option>";
echo "<option>Nein</option>";
}
echo"
</tr><tr valign=\"top\">
<td width=\"202\">Bildposition</td>
<td><select name=\"CMS_VAR[4]\" size=\"1\">";
if ("CMS_VALUE[4]" == "") {
echo "<option selected>Links</option>";
echo "<option>Rechts</option>";
}
if ("CMS_VALUE[4]" != "") {
echo "<option selected>CMS_VALUE[4]</option>";
echo "<option>Links</option>";
echo "<option>Rechts</option>";
}
//Skalierung
echo"
</tr><tr valign=\"top\">
<td width=\"202\">Skalierung (% der zulässigen Breite)</td>
<td><select name=\"CMS_VAR[5]\" size=\"1\">";
if ("CMS_VALUE[5]" == "") {
echo "<option selected>keine Skalierung</option>";
}
if ("CMS_VALUE[5]" != ""){
if("$CMS_VALUE[5]" =="keine Skalierung")
echo "<option selected>keine Skalierung</option>";
echo "<option selected>CMS_VALUE[5]</option>";
}
echo "<option>keine Skalierung</option>";
for ($i=10; $i<=100;$i+=10){
echo "<option";
if ("$CMS_VALUE[5]" ==$i)echo "selected";
echo ">".$i." %</option>";
}
echo"</select></td>"; //ende skalierung
echo"
</tr><tr valign=\"top\">
<td width=\"202\">".$mod["font"]." Fliesstext:</td>
<td><select name=\"CMS_VAR[0]\" size=\"1\">";
if ("CMS_VALUE[0]" == 0) {
echo "<option value=\"3\" selected>Font 3: Fließtext</option>";
}
for ($i=1; $i<7; $i++) {
if ($i != "CMS_VALUE[0]") {
echo "<option value=\"$i\">Font $i</option>";
} else {
echo "<option value=\"$i\" selected>Font $i</option>";
}
}
echo "</SELECT></td>
</tr><tr valign=\"top\">
<td width=\"202\">".$mod["font"]." Beschreibung:</td>
<td><select name=\"CMS_VAR[1]\" size=\"1\">";
if ("CMS_VALUE[1]" == 0) {
echo "<option value=\"4\">Font 4: Text klein</option>";
}
for ($i=1; $i<7; $i++) {
if ($i != "CMS_VALUE[1]") {
echo "<option value=\"$i\">Font $i</option>";
} else {
echo "<option value=\"$i\" selected>Font $i</option>";
}
}
echo "</SELECT></td></tr></table>
<input type=\"hidden\" name=\"CMS_VAR[2]\" value=\"".$value."\">";


------------------------
Output:
------------------------
/////////////////
//hier die maximale Bildbreite in Pixeln einstellen, die das Design zulaesst
$image_width_max=390;
/////////////////
$tmp_img1 = "CMS_IMG[1CMS_VALUE[2]]";
$tmpImgDescr1 = "CMS_IMGDESCR[1CMS_VALUE[2]]";
if ("CMS_VALUE[3]" != "Nein") { //check ob Modulanzeige Ja / Nein
if ($tmp_img1){// Begin Bildroessencheck, wenn ein Bild vorhanden

$original_size=GetImageSize($tmp_img1); //holt die Bildgroessen aus dem Originalbild

if ("CMS_VALUE[5]"=="keine Skalierung"){ //begin keine skalierung
if($original_size[0]<=$image_width_max){
$new_size="height=\"".$original_size[1]."\" width=\"".$original_size[0]."\"";
}
if($original_size[0]>$image_width_max){
$new_image_height=(int)($image_width_max*$original_size[1]/$original_size[0]);
$new_size="height=\"".$new_image_height."\" width=\"".$image_width_max."\"";
}
}//end keine Skalierung

if (ereg(" %","CMS_VALUE[5]")){ //begin Skalierung mit Prozent
$skal_proz=split(" ","CMS_VALUE[5]");
$skal_faktor=$skal_proz[0]/100;
$new_image_width=(int)($image_width_max*$skal_faktor);
$new_image_height=(int)($new_image_width*$original_size[1]/$original_size[0]);
$new_size="height=\"".$new_image_height."\" width=\"".$new_image_width."\"";
} //end Skalierung mit Prozent
} // Ende Bildgroesssencheck

if("CMS_VALUE[4]" == "Rechts") { //Ausgabe Bild Rechts
echo "<table width=100% border=0><tr><td align=left>";
echo "<div style=\"float:right; border:none 3px; border-with: 3px; text-align:right; margin-left:10px; margin-bottom:10px \">";
if ($tmp_img1) {echo "<IMG SRC=\"CMS_IMG[1CMS_VALUE[2]]\" ";
if($new_size!="")echo $new_size;
if($edit != "true"){echo "ALT=\"CMS_IMGDESCR[1CMS_VALUE[2]]\">";}
else {echo ">";};
};
if ($tmpImgDescr1 !="") {
echo ("<br><span id=fontCMS_VALUE[1]> CMS_IMGDESCR[1CMS_VALUE[2]] </span></div>");
}
else {
echo "CMS_IMGDESCR[1CMS_VALUE[2]]</div>";
}
echo "</p><p><span id=\"fontCMS_VALUE[0]\">CMS_TEXT[1CMS_VALUE[2]]<br style=clear:all></span></p>";
echo "</td></tr></table>";
} // Ende Ausgabe Bild Rechts
if("CMS_VALUE[4]" != "Rechts") { //Ausgabe Bild Links
echo "<table width=100% border=0><tr><td align=left>";
echo "<div style=\"float:left; border:none 3px; border-with: 3px; text-align:left; margin-right:10px; margin-bottom:10px \">";
if ($tmp_img1) {echo "<IMG SRC=\"CMS_IMG[1CMS_VALUE[2]]\" ";
if($new_size!="")echo $new_size;
if($edit != "true"){echo "ALT=\"CMS_IMGDESCR[1CMS_VALUE[2]]\">";}
else {echo ">";};
};
if ($tmpImgDescr1 !="") {
echo ("<br><span id=fontCMS_VALUE[1]> CMS_IMGDESCR[1CMS_VALUE[2]] </span></div>");
}
else {
echo "CMS_IMGDESCR[1CMS_VALUE[2]]</div>";
}
echo "</p><p><span id=\"fontCMS_VALUE[0]\">CMS_TEXT[1CMS_VALUE[2]]<br style=clear:all></span></p>";
echo "</td></tr></table>";
} // Ende Ausgabe Bild Links
} // Ende if Modulanzeige ja/nein
Zuletzt geändert von detlev am Mi 20. Nov 2002, 14:50, insgesamt 1-mal geändert.

Eisi
Beiträge: 102
Registriert: So 3. Nov 2002, 18:50
Kontaktdaten:

Beitrag von Eisi » Di 19. Nov 2002, 19:39

Spitzen-Modul!

Ich würd die Skalierung allerdings gerne im Content-Editor vornehmen, wo man auch Bild und Beschreibung angibt, und nicht bereits im Template, geht das?
Alles über Final Fantasy 7 und 9:
www.Zeitzumspielen.de

Veranstaltungsmanagement an der FH Osnabrück:
www.VamosOnline.de

pulk
Beiträge: 217
Registriert: Sa 2. Nov 2002, 09:57
Kontaktdaten:

Beitrag von pulk » Di 19. Nov 2002, 20:10

und wie schauts aus mit einer bild pop-up variante, wo das bild dann skaliert als thumbnail dargestellt wird und wenn man es anklick bekommt das bild in neuem fenster in originalgröße zu sehen (oder einstellbare größe?), also eine kombination des bild-pop up moduls mit diesem hier.

aber auch so, is es super ;)

detlev
Beiträge: 156
Registriert: Mi 18. Sep 2002, 08:05
Wohnort: Bochum
Kontaktdaten:

Und die Version 3.2

Beitrag von detlev » Do 21. Nov 2002, 14:38

Und hier kommt die universelle Version 3.2:
Alles wie gehabt, aber wenn kein Bild da ist, erscheint der Text nun für den User ohne alle Einzüge, wodurch das Modul universell als Textmodul ob mit oder ohne Bild einzusetzen ist. Dadurch kann später noch ein Bild hinzugesetzt werden.

Gruß
Detlev


(PS: würde der Modulupload auf der Contenido Hompage laufen, hätte ich es dort hochgeladen.

------------------------------------------

///////////////////////////////
// Input
///////////////////////////////



echo "<table align=\"left\" cellpadding=\"0\" cellspacing=\"0\">
<tr valign=\"top\">
<td width=\"202\">Modul anzeigen?</td>
<td><select name=\"CMS_VAR[3]\" size=\"1\">";
if ("CMS_VALUE[3]" == "") {
echo "<option selected>Ja</option>";
echo "<option>Nein</option>";
}
if ("CMS_VALUE[3]" != "") {
echo "<option selected>CMS_VALUE[3]</option>";
echo "<option>Ja</option>";
echo "<option>Nein</option>";
}
echo"
</tr><tr valign=\"top\">
<td width=\"202\">Bildposition</td>
<td><select name=\"CMS_VAR[4]\" size=\"1\">";
if ("CMS_VALUE[4]" == "") {
echo "<option selected>Links</option>";
echo "<option>Rechts</option>";
}
if ("CMS_VALUE[4]" != "") {
echo "<option selected>CMS_VALUE[4]</option>";
echo "<option>Links</option>";
echo "<option>Rechts</option>";
}
//Skalierung
echo"
</tr><tr valign=\"top\">
<td width=\"202\">Skalierung (% der zulässigen Breite)</td>
<td><select name=\"CMS_VAR[5]\" size=\"1\">";

if ("CMS_VALUE[5]" == "") {
echo "<option selected>keine Skalierung</option>";
}
if ("CMS_VALUE[5]" != ""){
if("$CMS_VALUE[5]" =="keine Skalierung")
echo "<option selected>keine Skalierung</option>";
echo "<option selected>CMS_VALUE[5]</option>";
}
echo "<option>keine Skalierung</option>";
for ($i=10; $i<=100;$i+=10){
echo "<option";
if ("$CMS_VALUE[5]" ==$i)echo "selected";
echo ">".$i." %</option>";
}
echo"</select></td>"; //ende skalierung
echo"
</tr><tr valign=\"top\">
<td width=\"202\">".$mod["font"]." Fliesstext:</td>
<td><select name=\"CMS_VAR[0]\" size=\"1\">";
if ("CMS_VALUE[0]" == 0) {
echo "<option value=\"3\" selected>Font 3: Fließtext</option>";
}
for ($i=1; $i<7; $i++) {
if ($i != "CMS_VALUE[0]") {
echo "<option value=\"$i\">Font $i</option>";
} else {
echo "<option value=\"$i\" selected>Font $i</option>";
}
}
echo "</SELECT></td>
</tr><tr valign=\"top\">
<td width=\"202\">".$mod["font"]." Beschreibung:</td>
<td><select name=\"CMS_VAR[1]\" size=\"1\">";
if ("CMS_VALUE[1]" == 0) {
echo "<option value=\"4\">Font 4: Text klein</option>";
}
for ($i=1; $i<7; $i++) {
if ($i != "CMS_VALUE[1]") {
echo "<option value=\"$i\">Font $i</option>";
} else {
echo "<option value=\"$i\" selected>Font $i</option>";
}
}
echo "</SELECT></td></tr></table>
<input type=\"hidden\" name=\"CMS_VAR[2]\" value=\"".$value."\">";



///////////////////////////////
// Output
///////////////////////////////

/////////////////
//hier die maximale Bildbreite in Pixeln einstellen, die das Design zulaesst
$image_width_max=390;
/////////////////
$tmp_img1 = "CMS_IMG[1CMS_VALUE[2]]";
$tmpImgDescr1 = "CMS_IMGDESCR[1CMS_VALUE[2]]";
if ("CMS_VALUE[3]" != "Nein") { //check ob Modulanzeige Ja / Nein
if ($tmp_img1){// Begin Bildroessencheck, wenn ein Bild vorhanden

$original_size=GetImageSize($tmp_img1); //holt die Bildgroessen aus dem Originalbild

if ("CMS_VALUE[5]"=="keine Skalierung"){ //begin keine skalierung
if($original_size[0]<=$image_width_max){
$new_size="height=\"".$original_size[1]."\" width=\"".$original_size[0]."\"";
}
if($original_size[0]>$image_width_max){
$new_image_height=(int)($image_width_max*$original_size[1]/$original_size[0]);
$new_size="height=\"".$new_image_height."\" width=\"".$image_width_max."\"";
}
}//end keine Skalierung

if (ereg(" %","CMS_VALUE[5]")){ //begin Skalierung mit Prozent
$skal_proz=split(" ","CMS_VALUE[5]");
$skal_faktor=$skal_proz[0]/100;
$new_image_width=(int)($image_width_max*$skal_faktor);
$new_image_height=(int)($new_image_width*$original_size[1]/$original_size[0]);
$new_size="height=\"".$new_image_height."\" width=\"".$new_image_width."\"";
} //end Skalierung mit Prozent
} // Ende Bildgroesssencheck

if("CMS_VALUE[4]" == "Rechts") { //Ausgabe Bild Rechts
echo "<table width=100% border=0><tr><td align=left>";
echo "<div style=\"float:right; border:none 3px; border-with: 3px; text-align:right; margin-left:10px; margin-bottom:10px \">";
if ($tmp_img1) {echo "<IMG SRC=\"CMS_IMG[1CMS_VALUE[2]]\" ";
if($new_size!="")echo $new_size;
if($edit != "true"){echo "ALT=\"CMS_IMGDESCR[1CMS_VALUE[2]]\">";}
else {echo ">";};
};
if ($tmpImgDescr1 !="") {
echo ("<br><span id=fontCMS_VALUE[1]> CMS_IMGDESCR[1CMS_VALUE[2]] </span></div>");
}
else {
echo "CMS_IMGDESCR[1CMS_VALUE[2]]";
}
echo "<p><span id=\"fontCMS_VALUE[0]\">CMS_TEXT[1CMS_VALUE[2]]<br style=clear:all></span></p>";
echo "</td></tr></table>";
} // Ende Ausgabe Bild Rechts
if("CMS_VALUE[4]" != "Rechts") { //Ausgabe Bild Links
echo "<table width=100% border=0><tr><td align=left>";



if(($tmp_img1!="" )&&($tmpImgDescr1!=""))
echo "<div style=\"float:left; border:none 3px; border-with: 3px; text-align:left; margin-right:10px; margin-bottom:10px \">";

if ($tmp_img1) {echo "<IMG SRC=\"CMS_IMG[1CMS_VALUE[2]]\" ";
if($new_size!="")echo $new_size;
if($edit != "true"){echo "ALT=\"CMS_IMGDESCR[1CMS_VALUE[2]]\">";}
else {echo ">";};
};
if ($tmpImgDescr1 !="") {
echo ("<br><span id=fontCMS_VALUE[1]> CMS_IMGDESCR[1CMS_VALUE[2]] </span></div>");
}
else {
echo "CMS_IMGDESCR[1CMS_VALUE[2]]";
}
echo "<p><span id=\"fontCMS_VALUE[0]\">CMS_TEXT[1CMS_VALUE[2]]<br style=clear:all></span></p>";
echo "</td></tr></table>";
} // Ende Ausgabe Bild Links
} // Ende if Modulanzeige ja/nein

Eisi
Beiträge: 102
Registriert: So 3. Nov 2002, 18:50
Kontaktdaten:

Beitrag von Eisi » Do 21. Nov 2002, 15:32

Hahaha *ROFL*

Code: Alles auswählen

<!-- BEGIN switch_Ohrfeige -->
PS: würde der Modulupload auf der Contenido Hompage laufen, hätte ich es dort hochgeladen.

Code: Alles auswählen

<!-- END switch_Ohrfeige -->
:)
Alles über Final Fantasy 7 und 9:
www.Zeitzumspielen.de

Veranstaltungsmanagement an der FH Osnabrück:
www.VamosOnline.de

Eisi
Beiträge: 102
Registriert: So 3. Nov 2002, 18:50
Kontaktdaten:

Beitrag von Eisi » Do 21. Nov 2002, 15:41

Ummm... v3.2 macht keinen Fließtext mehr. In der Vorschau ja, aber nicht auf der Seite. Bild ist oben, text darunter...

:?:
Alles über Final Fantasy 7 und 9:
www.Zeitzumspielen.de

Veranstaltungsmanagement an der FH Osnabrück:
www.VamosOnline.de

detlev
Beiträge: 156
Registriert: Mi 18. Sep 2002, 08:05
Wohnort: Bochum
Kontaktdaten:

Beitrag von detlev » Do 21. Nov 2002, 19:39

Meine Strafe:
--------------------------------------------------
for($i=0; $i<1000; $i++){
echo"Ich will nie wieder ungenügend geprüfte Module anbieten!!<br />";
}

---------------------------------------------------
:oops:
Habe die Abfrage nur einmal reingesetzt und die auch noch zu scharf formuliert

if(($tmp_img1!="" )&&($tmpImgDescr1!=""))
sollte ersetzt werden durch
if(($tmp_img1!="" )||($tmpImgDescr1!=""))
und diese Abfrage sollte sollte sowohl für die linken als auch die rechten Bilder drinstehen.
Werde ich morgen korrigieren.
Vielleicht lässt ja der Upload-Checker nur gute, funktionierende Module durch, wäre ja nicht schlecht.
:idea:

Sorry
Detlev

detlev
Beiträge: 156
Registriert: Mi 18. Sep 2002, 08:05
Wohnort: Bochum
Kontaktdaten:

Jetzt in der Version 3.2 final

Beitrag von detlev » Fr 22. Nov 2002, 13:16

Jetzt in der Version 3.2 final (meines Erachtens nach fehlerfrei)

nochmals sorry

Gruß
Detlev

-------------------------------------------------------------------------
Modul Text, Fließtext und Bild
-------------------------------------------------------------------------

/////////////////////////////////////////////
// Input
/////////////////////////////////////////////
echo "<table align=\"left\" cellpadding=\"0\" cellspacing=\"0\">
<tr valign=\"top\">
<td width=\"202\">Modul anzeigen?</td>
<td><select name=\"CMS_VAR[3]\" size=\"1\">";
if ("CMS_VALUE[3]" == "") {
echo "<option selected>Ja</option>";
echo "<option>Nein</option>";
}
if ("CMS_VALUE[3]" != "") {
echo "<option selected>CMS_VALUE[3]</option>";
echo "<option>Ja</option>";
echo "<option>Nein</option>";
}
echo"
</tr><tr valign=\"top\">
<td width=\"202\">Bildposition</td>
<td><select name=\"CMS_VAR[4]\" size=\"1\">";
if ("CMS_VALUE[4]" == "") {
echo "<option selected>Links</option>";
echo "<option>Rechts</option>";
}
if ("CMS_VALUE[4]" != "") {
echo "<option selected>CMS_VALUE[4]</option>";
echo "<option>Links</option>";
echo "<option>Rechts</option>";
}
//Skalierung
echo"
</tr><tr valign=\"top\">
<td width=\"202\">Skalierung (% der zulässigen Breite)</td>
<td><select name=\"CMS_VAR[5]\" size=\"1\">";

if ("CMS_VALUE[5]" == "") {
echo "<option selected>keine Skalierung</option>";
}
if ("CMS_VALUE[5]" != ""){
if("$CMS_VALUE[5]" =="keine Skalierung")
echo "<option selected>keine Skalierung</option>";
echo "<option selected>CMS_VALUE[5]</option>";
}
echo "<option>keine Skalierung</option>";
for ($i=10; $i<=100;$i+=10){
echo "<option";
if ("$CMS_VALUE[5]" ==$i)echo "selected";
echo ">".$i." %</option>";
}
echo"</select></td>"; //ende skalierung
echo"
</tr><tr valign=\"top\">
<td width=\"202\">".$mod["font"]." Fliesstext:</td>
<td><select name=\"CMS_VAR[0]\" size=\"1\">";
if ("CMS_VALUE[0]" == 0) {
echo "<option value=\"3\" selected>Font 3: Fließtext</option>";
}
for ($i=1; $i<7; $i++) {
if ($i != "CMS_VALUE[0]") {
echo "<option value=\"$i\">Font $i</option>";
} else {
echo "<option value=\"$i\" selected>Font $i</option>";
}
}
echo "</SELECT></td>
</tr><tr valign=\"top\">
<td width=\"202\">".$mod["font"]." Beschreibung:</td>
<td><select name=\"CMS_VAR[1]\" size=\"1\">";
if ("CMS_VALUE[1]" == 0) {
echo "<option value=\"4\">Font 4: Text klein</option>";
}
for ($i=1; $i<7; $i++) {
if ($i != "CMS_VALUE[1]") {
echo "<option value=\"$i\">Font $i</option>";
} else {
echo "<option value=\"$i\" selected>Font $i</option>";
}
}
echo "</SELECT></td></tr></table>
<input type=\"hidden\" name=\"CMS_VAR[2]\" value=\"".$value."\">";



/////////////////////////////////////////////
// Output
/////////////////////////////////////////////

/////////////////
//hier die maximale Bildbreite in Pixeln einstellen, die das Design zulaesst
$image_width_max=390;
/////////////////
$tmp_img1 = "CMS_IMG[1CMS_VALUE[2]]";
$tmpImgDescr1 = "CMS_IMGDESCR[1CMS_VALUE[2]]";
if ("CMS_VALUE[3]" != "Nein") { //check ob Modulanzeige Ja / Nein
if ($tmp_img1){// Begin Bildroessencheck, wenn ein Bild vorhanden

$original_size=GetImageSize($tmp_img1); //holt die Bildgroessen aus dem Originalbild

if ("CMS_VALUE[5]"=="keine Skalierung"){ //begin keine skalierung
if($original_size[0]<=$image_width_max){
$new_size="height=\"".$original_size[1]."\" width=\"".$original_size[0]."\"";
}
if($original_size[0]>$image_width_max){
$new_image_height=(int)($image_width_max*$original_size[1]/$original_size[0]);
$new_size="height=\"".$new_image_height."\" width=\"".$image_width_max."\"";
}
}//end keine Skalierung

if (ereg(" %","CMS_VALUE[5]")){ //begin Skalierung mit Prozent
$skal_proz=split(" ","CMS_VALUE[5]");
$skal_faktor=$skal_proz[0]/100;
$new_image_width=(int)($image_width_max*$skal_faktor);
$new_image_height=(int)($new_image_width*$original_size[1]/$original_size[0]);
$new_size="height=\"".$new_image_height."\" width=\"".$new_image_width."\"";
} //end Skalierung mit Prozent
} // Ende Bildgroesssencheck

if("CMS_VALUE[4]" == "Rechts") { //Ausgabe Bild Rechts
echo "<table width=100% border=0><tr><td align=left>";
if(($tmp_img1)||($tmpImgDescr1!=""))
echo "<div style=\"float:right; border:none 3px; border-with: 3px; text-align:left; margin-left:10px; margin-bottom:10px \">";

if ($tmp_img1) {echo "<IMG SRC=\"CMS_IMG[1CMS_VALUE[2]]\" ";
if($new_size!="")echo $new_size;
if($edit != "true"){echo "ALT=\"CMS_IMGDESCR[1CMS_VALUE[2]]\">";}
else {echo ">";};
};
if ($tmpImgDescr1 !="") {
echo ("<br><span id=fontCMS_VALUE[1]> CMS_IMGDESCR[1CMS_VALUE[2]] </span>");
}
else {
echo "CMS_IMGDESCR[1CMS_VALUE[2]]";
}
if(($tmp_img1)||($tmpImgDescr1!=""))
echo "</div>";
echo "<p><span id=\"fontCMS_VALUE[0]\">CMS_TEXT[1CMS_VALUE[2]]<br style=clear:all></span></p>";
echo "</td></tr></table>";
} // Ende Ausgabe Bild Rechts

if("CMS_VALUE[4]" != "Rechts") { //Ausgabe Bild Links
echo "<table width=100% border=0><tr><td align=left>";
if(($tmp_img1)||($tmpImgDescr1!=""))
echo "<div style=\"float:left; border:none 3px; border-with: 3px; text-align:left; margin-right:10px; margin-bottom:10px \">";

if ($tmp_img1) {echo "<IMG SRC=\"CMS_IMG[1CMS_VALUE[2]]\" ";
if($new_size!="")echo $new_size;
if($edit != "true"){echo "ALT=\"CMS_IMGDESCR[1CMS_VALUE[2]]\">";}
else {echo ">";};
};
if ($tmpImgDescr1 !="") {
echo ("<br><span id=fontCMS_VALUE[1]> CMS_IMGDESCR[1CMS_VALUE[2]] </span>");
}
else {
echo "CMS_IMGDESCR[1CMS_VALUE[2]]";
}
if(($tmp_img1)||($tmpImgDescr1!=""))
echo "</div>";
echo "<p><span id=\"fontCMS_VALUE[0]\">CMS_TEXT[1CMS_VALUE[2]]<br style=clear:all></span></p>";
echo "</td></tr></table>";
} // Ende Ausgabe Bild Links

} // Ende if Modulanzeige ja/nein

moe
Beiträge: 8
Registriert: Mi 27. Nov 2002, 02:18
Kontaktdaten:

modul hilfe

Beitrag von moe » Mi 27. Nov 2002, 02:41

erstmal mochte ich mich bedanken für das fantastische modul :D

ich habe in einem layout mehrere containers definiert die dieses modul verwenden, dedoch jedes mal dass ich bei einem container zb. das bild oder text ändere, ändert sich von allen containern das bild und text.
wie kann ich das lösen?

hier findest du ein muster seite: mains landscape supply


danke

detlev
Beiträge: 156
Registriert: Mi 18. Sep 2002, 08:05
Wohnort: Bochum
Kontaktdaten:

Beitrag von detlev » Mi 27. Nov 2002, 08:06

Hast Du vielleicht in deinem Design dieselben Modul-Container eingesetzt?
<?php CMS_CONTAINER[1]?>
<?php CMS_CONTAINER[1]?>
<?php CMS_CONTAINER[1]?>
anstatt:
<?php CMS_CONTAINER[1]?>
<?php CMS_CONTAINER[2]?>
<?php CMS_CONTAINER[3]?>

Gruß
Detlev

moe
Beiträge: 8
Registriert: Mi 27. Nov 2002, 02:18
Kontaktdaten:

containers richtig eingesetzt

Beitrag von moe » Mi 27. Nov 2002, 10:00

also so schaut die drei eingesetzte containers für dieses modul aus:

<?php CMS_CONTAINER[9] ?>
<?php CMS_CONTAINER[10] ?>
<?php CMS_CONTAINER[11] ?>

das interesante ist dass dieses problem nicht nur beim dieses modul auftaucht sondern bei jeden anderen bild modul.

Björn
Beiträge: 276
Registriert: Di 17. Sep 2002, 18:25
Kontaktdaten:

Beitrag von Björn » Mi 27. Nov 2002, 11:57

nein, bei dem 5 PICS Modul ist das nicht so.

Das liegt alles daran, dass die einzelnen cms variablen z.B. CMS_TEXT[1] für die gesamte Seite gelten.
Sven hatte irgendwo mal gepostet, wie man das umgehen kann, was ich bei dem 5 PICS Modul auch gemacht habe. Hab leider gerade keine Zeit, das ausführlich zu erklären, heute Abend mehr...

detlev
Beiträge: 156
Registriert: Mi 18. Sep 2002, 08:05
Wohnort: Bochum
Kontaktdaten:

Beitrag von detlev » Mi 27. Nov 2002, 13:33

Björn hat geschrieben:Hab leider gerade keine Zeit, das ausführlich zu erklären, heute Abend mehr...
Würde mich wirklich interessieren, zumal ich das Problem (gerade nochmal mit drei aufeinanderfolgenden gleichen Modulen getestet) nicht habe.

Ich habe es jetzt zusätzlich auch nochmal sowohl auf Linux als auch auf Windows Kisten als Server getestet und absolut keine Probleme!

Das müsste dann ja auch jedes wiederholt eingestzte einfache Textmodul betreffen????

Gruß
Detlev

Björn
Beiträge: 276
Registriert: Di 17. Sep 2002, 18:25
Kontaktdaten:

Beitrag von Björn » Mi 27. Nov 2002, 16:57

@moe
Ich hab mir gerade mal das Modul genauer angeschaut, es benutzt bereits den angekündigten Trick. Es müßte mit mehreren Bilder/ Texte Problemlos laufen.

Schätze Dein Problem ist ein anderes:
Ich denke, Du hast das Fließtexttemplate als Standardtemplate einer Kategorie angegeben ( Content-> Seiten -- rechts die Templateeinstellungen im Baum) und zwar nachträglich. Damit das Modul jetzt ordnungsgemäß auf all Deinen Seiten läuft, mußt Du bei jedem Seitentemplate, welches auf "default" steht reingehen und "default" nocheinmal abspeichern. Dann sollte es funktionieren.
Dieser Effekt ist leider ein noch nicht behobenes Contenidoproblem, ich hoffe das ich es in der 4.3 rausgecodet bekomme.

@Detlev:

OK, hier der Trick:

Problem:
Im Moduloutput echo "CMS_TEXT[1]"; eingeben und dann auf einer Seite dieses Modul sagen wir mal drei mal einbinden, und zwar in CMS_CONTAINER[3], [5] und [6]. Wir werde drei mal den gleichen Text bekommen, obwohl es sich um das Modul nun an drei verschiedenen Stellen befindet.
Das liegt daran, dass alle CMS- Variablen einer Seite global behandelt werden(mit Ausnahme von CMS_VAR und CMS_VALUE, die sind nur auf jedes einzelne Modul bezogen, daher nicht Seitenglobal) .

Lösung:
Wir definieren im Inputbereich ein verstecktes Feld, wie es auch im Fließtextmodul geschehen ist.

Code: Alles auswählen

echo "<input type=\"hidden\" name=\"CMS_VAR[2]\" value=\"".$value."\">"; 
Der CMS_VAR[2] wird hier der Wert $value zugewiesen. $value ist eine Contenidointerne Variable, die anzeigt, im welchen Container sich das System momentan befindet. Bist Du z.B. in Container 3, steht die Variable auf 3, bist Du in Container 6 ist $value auch gleich 6.

Das machen wir uns nun im Outputbereich zunutze.

Hier können wir mit CMS_VALUE[2] auf unsere Variable wieder zugreifen. Diese wird nun den Wert des entsprechenden Containers annehmen.

Code: Alles auswählen

echo "CMS_TEXT[CMS_VALUE[2]1]"; 
ist jetzt der eigentliche Trick, denn übersätzt heißt das nun für unsere Container 3, 5 und 6:

Code: Alles auswählen

Container 3: CMS_TEXT[CMS_VALUE[2]1] = CMS_TEXT[31] -> Da $value bzw. [CMS_VALUE[2] = 3
Container 5: CMS_TEXT[CMS_VALUE[2]1] = CMS_TEXT[51] -> Da $value bzw. [CMS_VALUE[2] = 5
Container 6: CMS_TEXT[CMS_VALUE[2]1] = CMS_TEXT[61] -> Da $value bzw. [CMS_VALUE[2] = 6
Damit ist jetzt jeder Text für sich individuell und kommt nicht mehr doppelt, dreifach... vor.

detlev
Beiträge: 156
Registriert: Mi 18. Sep 2002, 08:05
Wohnort: Bochum
Kontaktdaten:

Beitrag von detlev » Mi 27. Nov 2002, 18:40

@Björn:
Ganz lieben Dank für die ausführliche Antwort!

Gruß
Detlev

PS: Sind so qualifizierte lehrbuchmäßige Aussagen es nicht wert, in einer FAQ oder gesammelt zu werden?

Gesperrt