Bildmodul

Gesperrt
kite
Beiträge: 33
Registriert: Mi 25. Mai 2005, 10:12
Kontaktdaten:

Bildmodul

Beitrag von kite »

Hallo Leute,

Ich bin jetzt schon seit Stunden verzweifelt am suchen und rumprobieren, aber irgendwie will es nicht funktionieren.

Zu Contenido 4.6.x-Zeiten hatte ich immer ein Modul namens "Illustration", welches es mir ermöglicht hat, einen Container mit einem Bild zu befüllen.

In 4.8.7 fehlt mir dieses Modul. Das einzige was dem ganzen etwas näher kommt ist das Header-Modul, welches vom Namen her auch genau das ist, was ich eigentlich brauche.

Im WYSIWYG habe ich hier die Möglichkeit ein Bild auszuwählen, was dann als Hintergrundbild dargestellt wird. Darüber liegt dann das Contenido-Logo.

Ich möchte allerdings keinen Hintergrund und quasi über Bild einfach nur ein Bild anstatt dem Contenido-Logo einfügen.


Ich hoffe ihr versteht was ich meine und könnt mir helfen.
timo.trautmann_4fb
Beiträge: 472
Registriert: Di 15. Apr 2008, 15:57
Wohnort: Michelstadt
Kontaktdaten:

Beitrag von timo.trautmann_4fb »

Hier der Quellcode des Moduls Illustration. Einfach als xy.xml speichern und in die 4.8.X importieren. Sollte theroretisch noch laufen und muss nur angepasst werden.

Code: Alles auswählen

<?xml version="1.0" encoding="ISO-8859-1"?>
<module><name>Illustration</name>
<description><Ihre Modulbeschreibung>

Autor:
Version</description>
<type>Content</type>
<input>?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :     Illustration
* Author(s)   :     Andreas Lindner, 4fb
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     12.08.2005
************************************************/

#Selected img directory
$cms_dirname = "CMS_VALUE[1]";
#Selected img
$cms_filename = "CMS_VALUE[2]";

if ($cms_dirname == '' || $cms_dirname == '0') {
	$cms_dirname = 'bilder/';
}

#Get paths
$sql = "SELECT
	htmlpath, frontendpath
	FROM
	".$cfg["tab"]["clients"]." 
	WHERE
	idclient = ".$client." ";

$db->query($sql);

if ($db->next_record()) {
	$htmlpath = $db->f('htmlpath');
	$frontendpath = $db->f('frontendpath');
}

#Choose image folder
echo '<table cellpadding="0" cellspacing="0" border="0">
	<tr><td class="text_medium" style="padding:5px">'.mi18n("The image should have these dimensions: 170 x 80px").'</td></tr>
	<tr><td class="text_medium" style="padding:5px">'.mi18n("Choose image directory").': </td></tr>
	<tr><td class="text_medium" style="padding:5px">';
echo '<select name="CMS_VAR[1]" style="width:200px">';

#Get upload directories
$sql = "SELECT DISTINCT
	dirname
	FROM
	".$cfg["tab"]["upl"]."
	WHERE
	idclient='$client' AND
	filetype IN ('jpeg','jpg','gif','png')
	ORDER BY
	dirname";

$db->query($sql);

$selected = false;
while ($db->next_record()) {
	$dirname = $db->f('dirname');
	if ($cms_dirname != $dirname) {
		echo '<option value="'.$dirname.'">&nbsp;'.$dirname.'</option>';
	} else {
		$selected = true;
		echo '<option value="'.$dirname.'" selected="selected">&nbsp;'.$dirname.'</option>';
	}
}

if (!$selected) {
	echo '<option value="0" selected="selected">'.i18n("Please choose").'</option>';
} else {
	echo '<option value="0">'.i18n("Please choose").'</option>';
}

#Choose image file
echo '</select>&nbsp;<input type="image" src="images/submit.gif">
	<tr><td class="text_medium" style="padding:5px">'.mi18n("Choose image").': </td></tr>
	<tr><td class="text_medium" style="padding:5px">';
echo '<select name="CMS_VAR[2]" style="width:200px">';
echo '<option value="0" selected="selected">'.mi18n("Please choose").'</option>';

if ($cms_dirname != '0') {
	#Get uploaded files
	$sql = "SELECT 
			filename
			FROM
			".$cfg["tab"]["upl"]."
			WHERE
			idclient = '$client' AND
			filetype IN ('jpeg','jpg','gif','png','swf') AND
			dirname = '$cms_dirname' 
			ORDER BY
			filename";

	$db->query($sql);

	while ($db->next_record()) {
		$img_name = $db->f('filename');
		if ($cms_filename != $img_name) {
			echo '<option value="'.$img_name.'">&nbsp;'.$img_name.'</option>';
		} else {
			echo '<option selected="selected" value="'.$img_name.'">&nbsp;'.$img_name.'</option>';
		}
	}
}

echo '</select>&nbsp;<input type="image" src="images/submit.gif">';

#Preview image
if ($cms_dirname != '0' && $cms_filename != '0' && strlen($cms_dirname) > 0 && strlen($cms_filename) > 0) {
	$img_path = $htmlpath.$cfgClient[$client]['upload'].$cms_dirname.$cms_filename;
	$img_split = preg_split("/\./", $cms_filename);
	$count = count($img_split);
	$type = $img_split[$count -1];

	echo '<tr><td colspan="2" style="padding:5px">		
				<img src="'.$img_path.'">
			</td></tr> ';
}

echo '</td></tr>';
echo '</table>';
?><?php </input>
<output><?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Illustration
* Author(s)   :     Andreas Lindner, 4fb
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     12.08.2005
************************************************/

#Selected img directory
$cms_dirname = "CMS_VALUE[1]";
#Selected img
$cms_filename = "CMS_VALUE[2]";

#Default settings
$img_width = 170;
$img_height = 80;
$defaultImage = 'bilder/illu.jpg';

$htmlpath = $cfgClient[$client]['path']['htmlpath'];
$frontendpath = $cfgClient[$client]['path']['frontend'];

$img_path = $htmlpath.$cfgClient[$client]['upload'].$defaultImage;
$img_path_fs = $frontendpath.$cfgClient[$client]['upload'].$defaultImage;

#Check configured images
if ($cms_dirname != '0' && $cms_filename != '0' && strlen($cms_dirname) > 0 && strlen($cms_filename) > 0) {
	$img_path = $htmlpath.$cfgClient[$client]['upload'].$cms_dirname.$cms_filename;
	$img_path_fs = $frontendpath.$cfgClient[$client]['upload'].$cms_dirname.$cms_filename;

	$img_split = preg_split("/\./", $cms_filename);
	$count = count($img_split);
	$type = $img_split[$count -1];

	if (!file_exists($img_path_fs)) {
		$img_path = $htmlpath.$cfgClient[$client]['upload'].$defaultImage;
		$img_path_fs = $frontendpath.$cfgClient[$client]['upload'].$defaultImage;
	}
}

#Scale image
$image = capiImgScale($img_path_fs, $img_width, $img_height, false, false, 10, false);

#Get dimensions of scaled image
list ($width, $height, $type, $attr) = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"], $image));

#Output header with logo and illustration
echo " <div id=\"header\"><p style=\"background-image: url(".$image.");\"><a href=\"front_content.php\"><img src=\"images/logo.gif\" alt=\"".mi18n("Logo")."\" title=\"".mi18n("Back to home")."\"/></a></p></div>";
?></output>
</module>

kite
Beiträge: 33
Registriert: Mi 25. Mai 2005, 10:12
Kontaktdaten:

Beitrag von kite »

Danke sehr, genau dieses Modul meinte ich!

Es sieht allerdings so aus, als wäre dieses Modul im Grunde das gleiche wie das Header-Modul aus 4.8.x

Allerdings ist alles viel besser deklariert.
Durch Verändern des letzten Abschnittes (#Output header with logo and illustration) konnte ich das erreichen was ich machen wollte.

Liegt vermutlich daran, dass es (wenn ich mich recht erinnere) in 4.6.x noch keine Modul-Templates gab.

edit: Nochmals danke für das Modul Timo! Nachdem ich es mir passend umgeschrieben und verstanden habe, konnte ich mir sogar das original Header-Modul umschreiben. Jetzt gehts auch mit Bild direkt im WYSIWYG. Super! :)
Gesperrt