Hallo,
ich habe jetzt versucht, dieses neue Text-Überschrift Modul von Mirco mit dem Modul Bild 4 von Thomas Skerbis zu kombinieren. Dann wären alle Eingaben in einem praktischen einzigen Template zusammengefasst.
Beide einzeln funktionieren prächtig - aber wie kombiniere ich sie? Wenn ich sie jeweils in Modulausgabe und Moduleingabe kombiniere, funktioniert z.B. Überschrift 1 nicht.
Ich hatte vermutet, dass es damit zusammenhängen könnte, dass die REX_VALUE[2] in beiden Modulen vorkommt.
Also habe ich zuerst versucht, das Textile Modul in Eingabe und Ausgabe umzubenennen, z.B. in REX_VALUE[12], dann haben die Module überhaupt nicht mehr funktioniert.
Woran liegt es, und was kann ich grundsätzlich tun, um Module kombinierbar zu machen?
Herzlichen Dank für Eure Hilfe
Thomas
Kombiniertes Modul "Textile, Überschriften und Bild 4"
Moduleingabe:
Code: Alles auswählen
<?php
//---MODULE Eingabe BY----------------------
//-- GERUWEB
//-- Mirco Brandes
//-- www.geruweb.de
//----------------------------------
?>
Überschrift 1:<br />
<input type="text" size="50" name="VALUE[1]" value="REX_VALUE[1]" />
<br /><br />
Überschrift 2:<br />
<input type="text" size="50" name="VALUE[2]" value="REX_VALUE[2]" />
<br /><br />
<strong>Fliesstext</strong>:<br />
<textarea name="VALUE[3]" cols="80" rows="10" class="inp100">REX_HTML_VALUE[3]</textarea>
<br />
// =======================================
// =======================================
// =======================================
<?
//---------------------------------------------
// Bild für Redaxo 4.0 Eingabe
// EINGABE-MASKE
// Version: 4.31 Community Edition
// Stand: 23.05.2008
// Erstellt von: Thomas Skerbis
//----------------------------------------------
?>
<style type="text/css">
<!--
#bildblock {
padding-left: 10px;
padding-right: 10px;
padding-top: 20px;
width: 540px;
}
#bildblock #bilddetails {
float: right;
width: 180px;
background-color: #eeeeee;
padding-left: 10px;
padding-right: 10px;
border: 1px solid #FFFFFF;
padding-top: 5px;
}
.bildheadline {
background-color: #000000;
color: #FFFFFF;
margin-right: 10px;
padding-left: 10px;
}
#bildblock #bildcontainer{
background-color: #D7DEE8;
border: 1px solid #2A3F55;
width: 315px;
padding-left: 5px;
padding-top: 5px;
}
-->
</style>
<?php
// Prüfen ob Lightbox- oder Greybox-Addons geladen
// zum Ausblenden einfach als Wert "0" eingeben"
$vlightbox= OOAddon::isActivated(lightbox);
$vgreybox= OOAddon::isActivated(greybox);
##################################
?>
<h1 class="bildheadline">BILD 4</h1>
<div id="bildblock">
<div id="bilddetails">
<div id="REX_MEDIALIST_PREVIEWC" style="display:none;margin-bottom:25px;"><div class="bildheadline"> Vorschau:</div><br /><img id="REX_MEDIALIST_PREVIEW" src="../files/clear.gif" style="border:solid 1px #999;" /></div>
<p class="bildheadline"><strong>Formatierung</strong></p><br/>
<p><strong> Bildgröße (Breite)</strong>:<br />
<select name="VALUE[2]">
<option value='80' <? if ("REX_VALUE[2]" == '80') echo 'selected'; ?>>80 Pixel</option>
<option value='125' <? if ("REX_VALUE[2]" == '125') echo 'selected'; ?>>125 Pixel</option>
<option value='180' <? if ("REX_VALUE[2]" == '180') echo 'selected'; ?>>180 Pixel</option>
<option value='200' <? if ("REX_VALUE[2]" == '200') echo 'selected'; ?>>200 Pixel</option>
<option value='300' <? if ("REX_VALUE[2]" == '300') echo 'selected'; ?>>300 Pixel</option>
<option value='original' <? if ("REX_VALUE[2]" == 'original') echo 'selected'; ?>>Original</option>
</select>
</p>
<p>Ausrichtung des Artikelfotos:<br />
<select name="VALUE[7]" class="inp100">
<option value='pnormal' <? if ("REX_VALUE[7]" == 'pnormal') echo 'selected'; ?>>Standard</option>
<option value='pleft' <? if ("REX_VALUE[7]" == 'pleft') echo 'selected'; ?>>links vom Text</option>
<option value='pright' <? if ("REX_VALUE[7]" == 'pright') echo 'selected'; ?>>rechts vom Text</option>
</select>
<br>
<br>
</p>
<p>
<?php if ($vlightbox=="1" or $vgreybox=="1") { ?>
Bildgröße bei Vergrößerung <strong><br>
</strong>
<select name="VALUE[3]">
<option value='640' <? if ("REX_VALUE[3]" == '640') echo 'selected'; ?>>640 Pixel (empfohlen)</option>
<option value='800' <? if ("REX_VALUE[3]" == '800') echo 'selected'; ?>>800 Pixel</option>
<option value='450' <? if ("REX_VALUE[3]" == '450') echo 'selected'; ?>>450 Pixel</option>
</select>
<br>
<br>
<?php } ?>
<br>
<br>
</p>
<p>
<input name="VALUE[6]" type="checkbox" id="VALUE[6]" value="1" <? if ("REX_VALUE[6]" == '1') echo 'checked="checked"'; ?> />
2. Stil (mit Rahmen)<br>
</p>
<p><br />
Filter:<br />
<select name="VALUE[9]">
<option value='' <? if ("REX_VALUE[9]" == 'normal') echo 'selected'; ?>>Normal</option>
<option value='filter1' <? if ("REX_VALUE[9]" == 'filter1') echo 'selected'; ?>>SEPIA</option >
<option value='filter2' <? if ("REX_VALUE[9]" == 'filter2') echo 'selected'; ?>>BLUR</option >
<option value='filter3' <? if ("REX_VALUE[9]" == 'filter3') echo 'selected'; ?>>Schärfen</option >
<!--<option value='filter4' <? if ("REX_VALUE[9]" == 'filter4') echo 'selected'; ?>>Spiegelung</option > -->
</select>
<br>
</p>
<p> </p>
</div>
<div id="bildcontainer">
<p><strong>Bildauswahl </strong><br />
REX_MEDIA_BUTTON[1] <span>Ein Klick auf den Dateinamen öffnet eine Vorschau.</span><br/><br/></p>
<p><strong>Bild-Typ: </strong><br />
<select name="VALUE[5]">
<option value='normal' <? if ("REX_VALUE[5]" == 'normal') echo 'selected'; ?>>Normal</option>
<?php if ($vlightbox=="1") { ?>
<option value='lightbox' <? if ("REX_VALUE[5]" == 'lightbox') echo 'selected'; ?>>Als Lightbox</option >
<?php } ?>
<?php if ($vgreybox=="1") { ?>
<option value='greybox' <? if ("REX_VALUE[5]" == 'greybox') echo 'selected'; ?>>Greybox-Bild</option >
<option value='externgb' <? if ("REX_VALUE[5]" == 'externgb') echo 'selected'; ?>>Externer Link - Greybox</option >
<?php } ?>
<option value='extern' <? if ("REX_VALUE[5]" == 'extern') echo 'selected'; ?>>Externer Link</option >
<option value='intern' <? if ("REX_VALUE[5]" == 'intern') echo 'selected'; ?>>Interner Link</option >
</select>
<br>
<br />
<strong>Titel / Beschreibung des Bildes:</strong> * <br />
<textarea name="VALUE[1]" cols="35" rows="2">REX_VALUE[1]</textarea>
</p>
<hr/><br/><br/>
<p class="bildheadline">Verlinkung</p>
<p><em>Wählen Sie zunächst unter Bild-Typ "interner" oder "externer Link" aus. </em><br>
<br>
<strong>Externer Link im neuen Fenster </strong><br>
(vollständige Url inkl http://) :<br />
<input name=VALUE[4] type=text class="inp100" value="REX_VALUE[4]" size="30">
<br>
<strong><br>
interner Link:</strong><br />
REX_LINK_BUTTON[1]</p>
<p><em><br/>
</em></p></div>
<?php
if ("REX_VALUE[2]"=="original") {$resizer="index.php?rex_resize=350w__";
$rinfotext="Originalbilder werden im Backend nicht angezeigt. Verwenden Sie bitte die Vorschau!<br/>";
}
else {
$resizer="index.php?rex_resize=REX_VALUE[2]w__";
}
if ("REX_FILE[1]" != "")
{
$btyp="REX_VALUE[5]";
$border="REX_VALUE[6]";
if ($border=="")
{
$border="0";
}
$bfilter="";
if ("REX_VALUE[9]"=="filter1")
{
$bfilter= <<<EOD
&rex_filter[]=sepia
EOD;
}
if ("REX_VALUE[9]"=="filter2")
{
$bfilter= <<<EOD
&rex_filter[]=blur
EOD;
}
if ("REX_VALUE[9]"=="filter3")
{
$bfilter= <<<EOD
&rex_filter[]=sharpen
EOD;
}
$klxmimage1="$REX[HTDOCS_PATH]"."$resizer"."REX_FILE[1]"."$bfilter";
$klxm_out1 = <<<EOD
<img src="$klxmimage1" border="$border" alt="REX_VALUE[1]" title="REX_VALUE[1]" class="$klxmclass"/>
EOD;
if($REX['REDAXO']==1 and $btyp=="lightbox" or $btyp=="greybox") {echo"<strong>Vorschau: </strong><br/>Testen Sie bitte die Anzeige im Frontend, klicken Sie dazu auf "Anzeigen".<br/>
Größe bei Lightbox / Greybox : REX_VALUE[3] Pixel<br/><hr size='1'/><br/>
";
echo"$rinfotext";
echo ($klxm_out1);}
else
{
echo"$rinfotext";
print '<strong>Aktuelles Bild:</strong><br/>Links werden in der Vorschau nicht angezeigt.<br/>Bitte testen Sie die Links im Frontend, klicken Sie dazu auf "Anzeigen".<br/>';
echo ($klxm_out1);
}
} ?>
<br>
</p>
<p> </p>
</div>
<script type="text/javascript">
function addEvent( obj, type, fn )
{
if (obj.addEventListener) {
obj.addEventListener( type, fn, false );
} else if (obj.attachEvent) {
obj["e"+type+fn] = fn;
obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
obj.attachEvent( "on"+type, obj[type+fn] );
}
}
function rex_media_preview(){
var strFileName = document.getElementById("REX_MEDIA_1").value;
if ( (strFileName.lastIndexOf(".jpg")>0) || (strFileName.lastIndexOf(".jpeg")>0) || (strFileName.lastIndexOf(".gif")>0) || (strFileName.lastIndexOf(".png")>0) || (strFileName.lastIndexOf(".bmp")>0) ) {
document.getElementById("REX_MEDIALIST_PREVIEW").src = "../index.php?rex_resize=170a__"+document.getElementById("REX_MEDIA_1").value;
document.getElementById("REX_MEDIALIST_PREVIEWC").style.display = "block";
} else {
document.getElementById("REX_MEDIALIST_PREVIEWC").style.display = "none";
}
}
function rex_media_hidepreview(){
document.getElementById("REX_MEDIALIST_PREVIEWC").style.display = "none";
}
addEvent(document.getElementById("REX_MEDIA_1"),"change",rex_media_preview);
addEvent(document.getElementById("REX_MEDIA_1"),"click",rex_media_preview);
addEvent(document.getElementById("REX_MEDIA_1"),"blur",rex_media_hidepreview);
</script>
Kombiniertes Modul Ausgabe:
Code: Alles auswählen
<?php
//---MODULE Ausgabe BY----------------------
//-- GERUWEB
//-- Mirco Brandes
//-- www.geruweb.de
//----------------------------------
?>
<?php
if(OOAddon::isAvailable('textile'))
{
if(REX_IS_VALUE[1])
{
print "<h1>REX_VALUE[1]</h1>";
}
if(REX_IS_VALUE[2])
{
print "<h2>REX_VALUE[2]</h2>";
}
?>
<?php
// Fliesstext
$text = '';
if(REX_IS_VALUE[3])
{
// Diese 3 Zeilen duerfen keine fuehrenden Leerzeichen besitzen!
$text =<<<EOD
REX_HTML_VALUE[3]
EOD;
$text = rex_a79_textile($text);
}
$text = str_replace("###"," ",$text);
print "<div class=\"textbox\">$text</div>";
}
else
{
echo rex_warning('Dieses Modul benötigt das "textile" Addon!');
}
?>
//=======================================
//=======================================
//=======================================
<?
//---------------------------------------------
// Bild für Redaxo 4.x Ausgabe
// AUSGABE
// Version: 4.31 Community Edition
// Stand: 23.05.2008
// Erstellt von: Thomas Skerbis
//----------------------------------------------
############ Bildtyp auslesen ###############
$btyp=REX_VALUE[5];
############ Stil ermitteln ################
$border="REX_VALUE[6]";
if ($border=="1")
{$border="_b";}
/* Definition des CSS-Stils */
$klxmclass="REX_VALUE[7]"."$border";
######################################
######### Resizertypen festlegen #############
if ("REX_VALUE[2]"=="original")
{
$resizer="files/"; //original
$resizerb="index.php?rex_resize=150w__"; // Backendanzeige bei Originalbild
}
else
{
$resizer="index.php?rex_resize=REX_VALUE[2]w__"; // Standardanzeige
}
$resizer2="index.php?rex_resize=REX_VALUE[3]w__"; // Für Greybox oder Lightbox
########### FILTER ##########################
$bfilter="";
if ("REX_VALUE[9]"=="filter1")
{
$bfilter= <<<EOD
&rex_filter[]=sepia
EOD;
}
if ("REX_VALUE[9]"=="filter2")
{
$bfilter= <<<EOD
&rex_filter[]=blur
EOD;
}
if ("REX_VALUE[9]"=="filter3")
{
$bfilter= <<<EOD
&rex_filter[]=sharpen
EOD;
}
// Bildgrößen ermitteln
// .............................................................................
// Wenn Bild in Originalgrösse, dann mit Originalbild verknüpfen,
// sonst das Bild mit selber definierten Grösse verknüpfen
if ("REX_VALUE[2]" == 'original') {
$img = $REX['HTDOCS_PATH'].'files/REX_FILE[1]';
$size = getimagesize($img);
$path = 'files/REX_FILE[1]';
$w = $size[0];
$h = $size[1];
}
if ("REX_VALUE[2]" != 'original') {
$img = $REX['HTDOCS_PATH'].'files/REX_FILE[1]';
$size = getimagesize($img);
$path = 'index.php?rex_resize='.$bildformat.'__REX_FILE[1]';
$wx = $size[0]; // original-breite
$hx = $size[1]; // original-höhe
$x = $wx / "REX_VALUE[2]";
$w = "REX_VALUE[2]";
$h = round($hx / $x,0);
}
// Bildgrößen ermitteln ENDE
// .............................................................................
###############Bild-Definition (Standard) #########
$klxmimage1="$REX[HTDOCS_PATH]"."$resizer"."REX_FILE[1]"."$bfilter";
$klxm_out1 = <<<EOD
<img src="$klxmimage1" alt="REX_VALUE[1]" height="$h" width="$w" title="REX_VALUE[1]" class="$klxmclass"/>
EOD;
################Vorschau #############################
$klxm_prev = <<<EOD
<img src="$klxmimage1" border="REX_VALUE[6]" alt="REX_VALUE[1]" title="REX_VALUE[1]" class="$klxmclass"/>
EOD;
####################AUSGABE BACKEND ###############
if($REX['REDAXO']==1)
{
if ("REX_VALUE[2]"=="original") {
echo" <p>Sie haben die Ausgabe als Originalbild gewählt. <br />
Das System zeigt die Bilder im Backend nicht in der Originalgröße an, um das Layout zu schützen. <br />
<strong>Rufen Sie bitte die Vorschau unter "Anzeigen auf".</strong></p>
";
}
###############################################
# Infomeldung, wenn Lightbox oder Greybox #
###############################################
if($btyp=="lightbox" or $btyp=="greybox")
{
echo"<strong>Vorschau Lightbox/Greybox: </strong><br/>Testen Sie bitte die Anzeige im Frontend, klicken Sie dazu auf "Anzeigen".<br/>
Größe bei Vergrößerung: REX_VALUE[3] Pixel<br/><hr size='1'/><br/>";
}
###############################################
#Normale Ausgabe #
###############################################
else
{
echo "Normales Bild oder Bild mit Link <br/> Testen Sie die Verlinkungen bitte im Frontend <br/>";
}
###############################################
# Ausgabe des Bildes #
###############################################
if ("REX_VALUE[2]"=="original")
{
$klxmimage2="$REX[HTDOCS_PATH]"."$resizerb"."REX_FILE[1]"."$bfilter";
$klxm_out2 = <<<EOD
<img src="$klxmimage2" alt="REX_VALUE[1]" border="REX_VALUE[6]" title="REX_VALUE[1]" class="$klxmclass"/>
EOD;
echo ($klxm_out2);
}
else
{
echo ($klxm_prev);
}
}
############# ENDE AUSGABE BACKEND ########
#################### AUSGABE FRONTEND ######
################################################
# Ausgabe Vergrößerung Lightbox oder Greybox #
################################################
if ($btyp=="lightbox" or $btyp=="greybox")
{
$klxmimage3="$REX[HTDOCS_PATH]"."$resizer2"."REX_FILE[1]"."$bfilter";
if ("REX_FILE[1]" !="" and $REX['REDAXO']!=1 and $btyp=="lightbox")
{
$output = <<<EOD
<a rel="lightbox" title="REX_VALUE[1]" target="_blank" href="$klxmimage3">$klxm_out1</a>
EOD;
echo ($output);
}
if ("REX_FILE[1]" !="" and $REX['REDAXO']!=1 and $btyp=="greybox")
{
$output = <<<EOD
<a rel="gb_image[]" title="REX_VALUE[1]" target="_blank" href="$klxmimage3">$klxm_out1</a>
EOD;
echo ($output);
}
}
###############################################
# Ausgabe Normalbild #
###############################################
if ("REX_FILE[1]" !="" and $REX['REDAXO']!=1 and $btyp=="normal")
{
echo ($klxm_out1);
}
###############################################
# Ausgabe mit Verlinkung #
###############################################
if ($REX['REDAXO']!=1)
{
if ("REX_VALUE[5]"=="extern" or "REX_VALUE[5]"=="intern" or "REX_VALUE[5]"=="externgb")
{
if ("REX_VALUE[5]"=="extern")
{
$output= <<<EOD
<a href="REX_VALUE[4]" title="REX_VALUE[1]" target="_blank">$klxm_out1</a>
EOD;
echo ($output);
}
if ("REX_VALUE[5]"=="externgb") // bei Greybox
{
$output= <<<EOD
<a href="REX_VALUE[4]" rel="gb_page[790, 480]" alt="REX_VALUE[1]" title="REX_VALUE[1]" target="_blank">$klxm_out1</a>
EOD;
echo ($output);
}
if ("REX_VALUE[5]"=="intern")
{
$klxmlink="$REX[HTDOCS_PATH]". rex_getUrl("REX_LINK_ID[1]", $REX["CUR_CLANG"]);
$output= <<<EOD
<a href="$klxmlink" title="REX_VALUE[1]">$klxm_out1</a>
EOD;
echo ($output);
}
}
}
?>