Seite 1 von 1

modul illustration: alt und title

Verfasst: Sa 3. Jun 2006, 19:01
von maccaroni
hallo miteinander

ich benutze auf meiner seite das modul illustration. in den damit eingefügten bilder setzt es der alt sowie der titel automatisch auf «illustration». dies macht aber überhaupt keinen sinn und ich bin mir fast sicher, dass ich den bildern irgendwo diese beiden eigenschaften übergeben kann, oder? habs wohl einfach noch nicht gefunden. «beschreibung» und «schlüsselwörter» in den bildeigenschaften ist es leider nicht.

oder besteht die möglichkeit wirklich nicht?

gruss ronan

Verfasst: Mo 5. Jun 2006, 10:10
von emergence
so wie das modul geschrieben ist besteht diese möglichkeit nicht...
es müsste um die möglichkeit erweitert werden um auf die bildeigenschaften zuzugreifen..

Verfasst: Mo 5. Jun 2006, 10:21
von maccaroni
hallo

schade, denn so machen die alt- und title-angaben keinen wirklichen sinn. da ich mich leider erst in contenido und php einarbeite wird es wohl seine zeit (jahre? :-) dauern, bis ich fähig bin, eine solche änderung vorzunehmen. danke für deine antwort.

gruss ronan

Verfasst: Do 15. Jun 2006, 11:23
von silicone
Hallo,

hab das mal für dich gemacht:

Input

Code: Alles auswählen

?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :     Illustration
* Author(s)   :     Andreas Lindner, 4fb
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     12.08.2005
* Modified    :     15.06.2006 (alt und -title tag Eingabe ergänzt)
************************************************/

#Selected img directory
$cms_dirname = "CMS_VALUE[1]";
#Selected img
$cms_filename = "CMS_VALUE[2]";
#alt tag
$cms_alt_tag = "CMS_VALUE[3]";
#title tag
$cms_title_tag = "CMS_VALUE[4]";

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("Das Bild soll folgende Größe haben: 170 x 80 px").'</td></tr>
    <tr><td class="text_medium" style="padding:5px">'.mi18n("alt tag:").'</td></tr>
	<tr><td class="text_medium" style="padding:5px"><input type="text" name="CMS_VAR[3]" value='.$cms_alt_tag.'></td></tr>
    <tr><td class="text_medium" style="padding:5px">'.mi18n("title tag:").'</td></tr>
	<tr><td class="text_medium" style="padding:5px"><input type="text" name="CMS_VAR[4]" value='.$cms_title_tag.'></td></tr>
	<tr><td class="text_medium" style="padding:5px">'.mi18n("Bildverzeichnis wählen").': </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("Bitte wählen").'</option>';
} else {
	echo '<option value="0">'.i18n("Bitte wählen").'</option>';
}

#Choose image file
echo '</select>&nbsp;<input type="image" src="images/submit.gif">
	<tr><td class="text_medium" style="padding:5px">'.mi18n("Bild wählen").': </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">'.i18n("Bitte wählen").'</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' AND $cms_filename != '0' AND strlen($cms_dirname) > 0 AND 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
output

Code: Alles auswählen

<?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]";
#alt tag
$cms_alt_tag = "CMS_VALUE[3]";
#title tag
$cms_title_tag = "CMS_VALUE[4]";

#Default settings
$img_width = 245;
$img_height = 200;
$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' AND $cms_filename != '0' AND strlen($cms_dirname) > 0 AND 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($image);

#Output image tag
echo '<img src="'.$image.'" width="'.$width.'" height="'.$height.'" alt="'.$cms_alt_tag.'" title="'.$cms_title_tag.'"/>';
?>
Sollte so funktionieren...

Gruß,
Tom

Verfasst: Do 15. Jun 2006, 12:55
von maccaroni
sali tom

vielen dank. wenn ich den code im nachhinein anschaue, geht das ja ganz einfach. eigentlich wird ja nur eine variable definiert, super!

einziger bug:
gebe ich mehrere wörter als alt und title ein und klicke auf den grünen knopf, so wird im quelltext alles richtig geschrieben. möchte ich aber den alt und title wieder abändern, so sehe ich in den feldern in der vorkonfiguration des templates nur jeweils das erste wort. lässt sich das irgendwie einfach «umgehen»?

merci und gruss

ronan

Verfasst: Do 15. Jun 2006, 13:09
von silicone
Puh, da verlassen sie mich wieder...
Hab mir das mit meinem Halbwissen so zurecht gebastelt. Diese Frage muss ich jetzt leider an jemand anderen übergeben :oops:

EDIT: Habs doch gefunden. Es fehlten die Anführungszeichen.
Hier der geänderte Input:

Code: Alles auswählen

?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :     Illustration
* Author(s)   :     Andreas Lindner, 4fb
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     12.08.2005
* Modified    :     15.06.2006 (alt und -title tag Eingabe ergänzt)
************************************************/

#Selected img directory
$cms_dirname = "CMS_VALUE[1]";
#Selected img
$cms_filename = "CMS_VALUE[2]";
#alt tag
$cms_alt_tag = "CMS_VALUE[3]";
#title tag
$cms_title_tag = urldecode("CMS_VALUE[4]");

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("Das Bild soll folgende Größe haben: 170 x 80 px").'</td></tr>
    <tr><td class="text_medium" style="padding:5px">'.mi18n("alt tag:").'</td></tr>
	<tr><td class="text_medium" style="padding:5px"><input type="text" name="CMS_VAR[3]" value="'.$cms_alt_tag.'"></td></tr>
    <tr><td class="text_medium" style="padding:5px">'.mi18n("title tag:").'</td></tr>
	<tr><td class="text_medium" style="padding:5px"><input type="text" name="CMS_VAR[4]" value="'.$cms_title_tag.'"></td></tr>
	<tr><td class="text_medium" style="padding:5px">'.mi18n("Bildverzeichnis wählen").': </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("Bitte wählen").'</option>';
} else {
	echo '<option value="0">'.i18n("Bitte wählen").'</option>';
}

#Choose image file
echo '</select>&nbsp;<input type="image" src="images/submit.gif">
	<tr><td class="text_medium" style="padding:5px">'.mi18n("Bild wählen").': </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">'.i18n("Bitte wählen").'</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' AND $cms_filename != '0' AND strlen($cms_dirname) > 0 AND 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

Gruß,
Tom

Verfasst: Do 15. Jun 2006, 13:57
von maccaroni
nun funktioniert alles korrekt. nochmals vielen dank!

gruss ronan