Seite 2 von 6
Verfasst: Mi 14. Dez 2005, 07:44
von kummer
mvf hat geschrieben:wofür steht in der konfiguration der 'Bildzielpfad' ???
wie der name sagt, handelt es sich dabei um den ZIELpfad und nicht um den QUELLpfad. der zielpfad ist das verzeichnis, in welches die neu erzeugten bilder abzulegen sind.
Verfasst: Mi 14. Dez 2005, 08:13
von mvf
kummer hat geschrieben:mvf hat geschrieben:wofür steht in der konfiguration der 'Bildzielpfad' ???
wie der name sagt, handelt es sich dabei um den ZIELpfad und nicht um den QUELLpfad. der zielpfad ist das verzeichnis, in welches die neu erzeugten bilder abzulegen sind.
ui, manchmal sieht man den wald vor lauter bäumen nicht, sorry und merci, war schon wieder spät gestern, oder besser füüh heute morgen

Frage
Verfasst: Mo 26. Dez 2005, 20:16
von Qli
kummer hat geschrieben:im modul selber. die untersten zeilen erzeugen die bilder. du kannst dann soviele machen wie du willst. du kannst z.b. auch eine tabelle erstellen, und die bilder in die einzelnen zellen einpflegen. da hast du volle freiheiten.
Hab den Output Code zur Darstellung von 3 Bildern in einer Tabellenzeile wie folgt angepasst:
Code: Alles auswählen
$bild1 = new picture("CMS_IMG[2]"); // initialisierung
$bild2 = new picture("CMS_IMG[3]"); // initialisierung
$bild3 = new picture("CMS_IMG[4]"); // initialisierung
<table border="1" width="100%">
<tr>
<td>
$bild1->outputPicture("CMS_LINK[2]","CMS_LINKTARGET[2]","CMS_IMGDESCR[2]","CMS_LINKDESCR[2]");
</td>
<td>
$bild2->outputPicture("CMS_LINK[3]","CMS_LINKTARGET[3]","CMS_IMGDESCR[3]","CMS_LINKDESCR[3]");
</td>
<td>
$bild3->outputPicture("CMS_LINK[4]","CMS_LINKTARGET[4]","CMS_IMGDESCR[4]","CMS_LINKDESCR[4]");
</td>
</tr>
</table>
?>
bekomme allerdings einen PARSE Error. Jemand eine Idee? Oder seh ich den Wald vor lauter Tannenbäumen nicht mehr?
Re: Frage
Verfasst: Mo 26. Dez 2005, 21:00
von mvf
schau mal in den originalcode ein paar zeielen weiter oben:
Code: Alles auswählen
echo "<br />";
echo $imgDescr;
echo "<br />";
echo $linkDescr;
echo "<br />";
und? kommt die erleuchtung?
html in php! ahhhhhhhhhhh
z.b
Code: Alles auswählen
echo "<table border="1" width="100%"><tr><td>";
.
.
.
.
mal probiert
Re: Frage
Verfasst: Mo 26. Dez 2005, 22:09
von Qli
mvf hat geschrieben:
und? kommt die erleuchtung?

html in php! ahhhhhhhhhhh
z.b
Code: Alles auswählen
echo "<table border="1" width="100%"><tr><td>";
.
.
.
.
mal probiert
Argh, ja doch. War auch fast richtig, so klappts dann endgültig:
Code: Alles auswählen
echo '<table border="1" width="100%" /><tr /><td width="33%" />';
Und für alle dies interessiert, hier nun der gesamte letzte Teil des Picture Moduls mit Ausgabe von 9 Bildern in ein drei mal drei Raster:
Code: Alles auswählen
$bild1 = new picture("CMS_IMG[2]"); // initialisierung
$bild2 = new picture("CMS_IMG[3]"); // initialisierung
$bild3 = new picture("CMS_IMG[4]"); // initialisierung
$bild4 = new picture("CMS_IMG[5]"); // initialisierung
$bild5 = new picture("CMS_IMG[6]"); // initialisierung
$bild6 = new picture("CMS_IMG[7]"); // initialisierung
$bild7 = new picture("CMS_IMG[8]"); // initialisierung
$bild8 = new picture("CMS_IMG[9]"); // initialisierung
$bild9 = new picture("CMS_IMG[10]"); // initialisierung
echo '<table border="1" width="100%" /><tr /><td width="33%" />';
$bild1->outputPicture("CMS_LINK[2]","CMS_LINKTARGET[2]","CMS_IMGDESCR[2]","CMS_LINKDESCR[2]");
echo '</td /><td width="33%" />';
$bild2->outputPicture("CMS_LINK[3]","CMS_LINKTARGET[3]","CMS_IMGDESCR[3]","CMS_LINKDESCR[3]");
echo '</td /><td width="33%" />';
$bild3->outputPicture("CMS_LINK[4]","CMS_LINKTARGET[4]","CMS_IMGDESCR[4]","CMS_LINKDESCR[4]");
echo '</td /></tr />';
echo '<tr /><td width="33%" />';
$bild4->outputPicture("CMS_LINK[5]","CMS_LINKTARGET[5]","CMS_IMGDESCR[5]","CMS_LINKDESCR[5]");
echo '</td /><td width="33%" />';
$bild5->outputPicture("CMS_LINK[6]","CMS_LINKTARGET[6]","CMS_IMGDESCR[6]","CMS_LINKDESCR[6]");
echo '</td /><td width="33%" />';
$bild6->outputPicture("CMS_LINK[7]","CMS_LINKTARGET[7]","CMS_IMGDESCR[7]","CMS_LINKDESCR[7]");
echo '</td /></tr />';
echo '<tr /><td width="33%" />';
$bild7->outputPicture("CMS_LINK[8]","CMS_LINKTARGET[8]","CMS_IMGDESCR[8]","CMS_LINKDESCR[8]");
echo '</td /><td width="33%" />';
$bild8->outputPicture("CMS_LINK[9]","CMS_LINKTARGET[9]","CMS_IMGDESCR[9]","CMS_LINKDESCR[9]");
echo '</td /><td width="33%" />';
$bild9->outputPicture("CMS_LINK[10]","CMS_LINKTARGET[10]","CMS_IMGDESCR[10]","CMS_LINKDESCR[10]");
echo '</td /></tr />';
echo '</table />';
?>
Danke noch mal
Re: Frage
Verfasst: Mo 26. Dez 2005, 22:43
von mvf
Qli hat geschrieben:Danke noch mal
yr wlcm

doppelte dateiendungen & thumbs eliminieren
Verfasst: Di 27. Dez 2005, 12:42
von #ayshe
Hallo Andreas, hallo Contenidos,
ich stecke immer noch ein wenig fest mit diesem ansonsten sehr schönen Modul (danke, Andreas!).
Folgende Haken gibt es:
1. Ich kann kein Zielverzeichnis in der Vorkonfiguration und in der Konfiguration auswählen.
2. Bilder, die einmal im Content eingepflegt wurden, werden mit doppeltem Dateisuffix generiert, z.B. header.jpg.jpg
3. Diese Bilder liegen dann im Upload-Verzeichnis.
Hierzu meine Fragen bzw. mein Lösungsbedarf:
1. Kann man die Erzeugung von Thumbs im Modul auskommentieren (finde bisher nicht raus, was ich auskommentieren müßte)?
2. Warum wird das Suffix gedoppelt? Ich hab ja schon gesehen, dass andere das Problem scheinbar nicht haben, aber bei mir hält es sich hartnäckig, auch nach Transfer auf eine andere Plattform:
Apache/2.0.54 (Win32) mod_ssl/2.0.54 OpenSSL/0.9.8 PHP/5.0.5 mod_autoindex_color
PHP MySQL database extension mysql
MySQL Serverversion 4.1.14
Installierte PHP-Version 5.0.5
safe_mode Deaktiviert
magic_quotes_gpc Aktiviert
magic_quotes_runtime Deaktiviert
Viele Grüße,
Ayshe
benötige Hilfe bei Modul
Verfasst: Fr 30. Dez 2005, 18:12
von ollie74
Hallo, kann mir jemand weiterhelfen? Habe das Modul Image installiert und auch die beiden scripts in cms/js/ gespeichert, erhalte aber im Backend wenn ich das Modul einsetze folgende Fehlermeldung:
Parse error: parse error in .../contenido/includes/include.tplcfg_edit_form.php(423) : eval()'d code on line 2
... habe ich was übersehen oder vergessen??
Vielen Dank
Re: doppelte dateiendungen & thumbs eliminieren
Verfasst: Sa 31. Dez 2005, 12:40
von kummer
#ayshe hat geschrieben:1. Kann man die Erzeugung von Thumbs im Modul auskommentieren (finde bisher nicht raus, was ich auskommentieren müßte)?
2. Warum wird das Suffix gedoppelt?
- yep, das kann man wohl. allerdings ist ja das modul genau dazu da, einen thumb zu generieren. sonst bräuchte man es ja nicht.
- die doppelten extensions sind so vorgesehen. der grund ist, dass in jedem fall ein jpeg erzeugt wird, es sich vorher allerdings z.b. auch um ein gif handeln kann. ohne die original-extension wäre der dateiname dann möglicherweise nicht mehr eindeutig.
ich hoffe, das hilft dir soweit weiter.
gruss,
andreas
Re: benötige Hilfe bei Modul
Verfasst: Sa 31. Dez 2005, 12:42
von kummer
ollie74 hat geschrieben:Parse error: parse error in .../contenido/includes/include.tplcfg_edit_form.php(423) : eval()'d code on line 2
poste doch mal den anfang des moduls, so wie du es eingefügt hast. vermutlich hast du einen kleinen fehler eingebracht. anfangstags vergessen oder so...
Re: doppelte dateiendungen & thumbs eliminieren
Verfasst: Sa 31. Dez 2005, 14:04
von #ayshe
kummer hat geschrieben:#ayshe hat geschrieben:1. Kann man die Erzeugung von Thumbs im Modul auskommentieren (finde bisher nicht raus, was ich auskommentieren müßte)?
2. Warum wird das Suffix gedoppelt?
- yep, das kann man wohl. allerdings ist ja das modul genau dazu da, einen thumb zu generieren. sonst bräuchte man es ja nicht.
- die doppelten extensions sind so vorgesehen. der grund ist, dass in jedem fall ein jpeg erzeugt wird, es sich vorher allerdings z.b. auch um ein gif handeln kann. ohne die original-extension wäre der dateiname dann möglicherweise nicht mehr eindeutig.
ich hoffe, das hilft dir soweit weiter.
gruss,
andreas
Hallo Andreas,
klar, ich weiß, das es halt ein thumbs-Modul ist, aber mangels eines in 4.6.4 funktionierenden "normalen" Bildmoduls habe ich Dein picture-Modul als Ersatz genommen.
Kannst du mir dennoch verraten, was ich auskommentieren müßte?
Der Nachteil der gedoppelten Bilder ist folgender: Wenn der Kunde ein Bild austauschen will (mit gleichem Dateinamen), dann reicht es nicht, einfach das Bild hochzuladen. Denn im HTML wird ja nicht das Originalbild, sondern das Doppelmoppel verwendet, also das mit dem doppelten Suffix. Er muß dass dann also explizit löschen und sein neues Bild nochmal im Editor einfügen.
Ich würde dem Kunden diesen Umweg gerne ersparen, deshalb möchte ich am liebsten das Generieren der thumbs unterdrücken. Wenn Du mir sagst, wie das geht, ginge ich noch glücklicher ins neue Jahr
Gruß,
Ayshe
Verfasst: So 1. Jan 2006, 14:12
von Parklife
Ich habe das picture-Modul auch einmal testhalber eingesetzt - nur leider kann ich auch den Bildzielpfad in der Konfiguration nicht anwählen, d.h. die verkleinerten Bilder werden alle direkt ins upload-Verzeichnis gepackt. Wo liegt da der Fehler...? Ich verwende Contenido 4.6.4.
parse error
Verfasst: So 1. Jan 2006, 19:25
von ollie74
Hallo Kummer,
im Bereich "Eingabe" steht folgender code:
<?php
/**
* picture
* @author Andreas Kummer
* @copyright Copyright © 2005 w3concepts AG
*/
if (!class_exists('pictureInput')) {
class pictureInput {
function pictureInput($pfad) {
$this->pfad = $pfad;
$this->pathlen = strlen($this->pfad);
}
function getPath($root,$level = 0) {
$content = $this->readDir($root);
foreach ($content as $file) {
if (is_dir($root.$file)) {
$verzeichnis = substr($root,$this->pathlen);
$returnvalue["{$verzeichnis}{$file}/"] = str_repeat(" ",$level * 5).$file;
$returnvalue = array_merge($returnvalue,$this->getPath($root.$file."/",$level+1));
}
}
return $returnvalue;
}
function readDir($path) {
$handle = opendir($path);
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") $returnvalue[] = $file;
}
closedir($handle);
return $returnvalue;
}
function makeSelect($preselection) {
$pfad = $this->getPath($this->pfad);
foreach ($pfad as $key => $value) {
echo "$key :: $value<br/>\n";
if ($preselection == $key) {
echo "<option value=\"$key\" selected=\"selected\">$value</option>";
} else {
echo "<option value=\"$key\">$value</option>";
}
}
}
}
}
$pfad = new pictureInput($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload']);
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">";
echo "<tr><td>Bildzielpfad:</td>";
echo "<td><select size=\"1\" name=\"CMS_VAR[0]\" />";
$pfad->makeSelect("CMS_VALUE[0]");
echo "</td>";
echo "<tr><td>Maximale Bildhöhe [px]:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\" size=\"3\" /></td>";
echo "<tr><td>Maximale Bildbreite [px]:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\" size=\"3\" /></td>";
echo "</table>";
Bereich "Ausgabe" fängt so an:
<?php
/**
* picture
* @author Andreas Kummer
* @copyright Copyright © 2005, w3concepts AG
*/
if (!class_exists('picture')) {
class picture {
/**
* Klassenkonstruktor.
* @param String Absoluter Pfad zum Bild.
*/
function picture($bildpfad) {
global $cfgClient, $client;
if (empty($bildpfad)) return false;
$this->bildpfad = $bildpfad;
$this->link = $link;
... usw.
ich verwende contenido 4.6.4...
Ein frohes neues Jahr allen!
Verfasst: Do 5. Jan 2006, 16:46
von media-konzept
kummer hat geschrieben:im modul selber. die untersten zeilen erzeugen die bilder. du kannst dann soviele machen wie du willst. du kannst z.b. auch eine tabelle erstellen, und die bilder in die einzelnen zellen einpflegen. da hast du volle freiheiten.
Hallo zusammen,
wirklich cooles Modul, und für alle die es gerne wagrecht mögen, hier der Code für den Outputbereich (leider mit Tabelle gelöst) vielleicht hat ja jemand ne Barrierefreie Lösung (bin kein Crack)
Code: Alles auswählen
<?php
/**
* $Revision: 1.4 $
* $Source: D:/cvs/cvsrepo/test/PPI_Nade/module/picture/output.php,v $
* $Date: 2005/11/28 17:03:08 $
*/
/**
* picture
* @author Andreas Kummer
* @copyright Copyright © 2005, w3concepts AG
*/
if (!class_exists('picture')) {
class picture {
/**
* Klassenkonstruktor.
* @param String Absoluter Pfad zum Bild.
*/
function picture($bildpfad) {
global $cfgClient, $client;
if (empty($bildpfad)) return false;
$this->bildpfad = $bildpfad;
$this->link = $link;
/*
* Initialwerte fest legen
*/
$this->setIniValues();
/*
* Datenbankverbind initialisieren
*/
$this->db = new DB_contenido();
/*
* Bildpfad und Dateiname ermitteln
*/
$dirname = dirname($bildpfad)."/";
$dirname = str_replace ($cfgClient[$client]['path']['htmlpath'].$cfgClient[$client]['upload'],'',$dirname);
$filename = basename($bildpfad);
/*
* Bildpfad setzen
*/
$this->path = $this->createImage($dirname,$filename);
/*
* Popup-Titel setzen
*/
$this->setPopupTitle();
}
function setIniValues() {
global $cfgClient, $client;
$bildzielpfad = "CMS_VALUE[0]";
$this->bildzielpfad['frontend'] = $cfgClient[$client]['path']['htmlpath'].$cfgClient[$client]['upload'].$bildzielpfad;
$this->bildzielpfad['backend'] = $cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$bildzielpfad;
$this->bildhoehe = "CMS_VALUE[1]";
$this->bildbreite = "CMS_VALUE[2]";
if (empty($this->bildhoehe)) $this->bildhoehe = 100;
if (empty($this->bildbreite)) $this->bildbreite = 100;
}
function setPopupTitle() {
global $cfg, $idart, $lang;
$this->db->query("SELECT pagetitle FROM {$cfg['tab']['art_lang']} WHERE idart = $idart AND idlang = $lang");
$this->db->next_record();
$this->title = $this->db->f('pagetitle');
}
function createImage($dirname, $filename) {
global $cfgClient, $client;
$src_image_size = getimagesize($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
$this->srchoehe = $src_image_size[1];
$this->srcbreite = $src_image_size[0];
if ($src_image_size[0]/$this->bildbreite < $src_image_size[1]/$this->bildhoehe) {
$resizeFactor = $src_image_size[1]/$this->bildhoehe;
} else {
$resizeFactor = $src_image_size[0]/$this->bildbreite;
}
$this->bildhoehe = round($src_image_size[1]/$resizeFactor);
$this->bildbreite = round($src_image_size[0]/$resizeFactor);
$bilddateiname = "{$this->bildbreite}_{$this->bildhoehe}_$filename.jpg";
if (!file_exists("{$this->bildzielpfad['backend']}$bilddateiname")) {
$dst_im = imagecreatetruecolor($this->bildbreite,$this->bildhoehe);
if ($src_image_size[2] == 1) {
$src_im = imagecreatefromGIF($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
} elseif ($src_image_size[2] == 2) {
$src_im = ImageCreateFromJPEG($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
} elseif ($src_image_size[2] == 3) {
$src_im = ImageCreateFromPNG($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
} else {
$src_im = imagecreatefromgd($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
}
imagecopyresampled ($dst_im,$src_im,0,0,0,0,$this->bildbreite,$this->bildhoehe,$src_image_size[0],$src_image_size[1]);
imagejpeg ($dst_im,$this->bildzielpfad['backend'].$bilddateiname,100);
}
return $this->bildzielpfad['frontend'].$bilddateiname;
}
function outputPicture($link,$target,$imgDescr = null, $linkDescr = null) {
global $edit;
if ($edit) {
$this->outputPictureEdit($link, $target, $imgDescr, $linkDescr);
return false;
}
if (empty($link) || empty($this->bildpfad)) return false;
$img = "<img src="{$this->path}" border="0" width="{$this->bildbreite}" height="{$this->bildhoehe}">";
$breite = $this->bildbreite;
if ($link != "http://") {
$img = sprintf('<a href="%s" target="%s">%s</a>',$link, $target, $img);
} elseif ($this->bildpfad != '') {
$img = "<a href="javascript:popup({$this->srcbreite},{$this->srchoehe},'{$this->bildpfad}&title={$this->title}');"><img src="{$this->path}" border="0" width="{$this->bildbreite}" height="{$this->bildhoehe}" /></a>";
}
if (empty($imgDescr)) {
echo '<div style="margin-bottom:10px;"><div style="width:'.$breite.'px;border:1px solid #000; padding:1px;">'.$img.'</div></div>';
} else {
echo '<div style="margin-bottom:10px;"><div style="width:'.$breite.'px;border:1px solid #000; padding:1px;">'.$img.'</div><div class="imgDescr">'.$imgDescr.'</div></div>';
}
}
function outputPictureEdit($link, $target, $imgDescr, $linkDescr) {
if (!empty($this->path)) {
echo "<img src="{$this->path}" border="0" width="{$this->bildbreite}" height="{$this->bildhoehe}">";
}
echo "<br />";
echo $imgDescr;
echo "<br />";
echo $linkDescr;
echo "<br />";
}
}
}
if (!$edit) {
echo '<script type="text/javascript" src="js/pictureResized.js"></script>'."\n";
}
echo "<table width="100%" border="0" cellspacing="0" cellpadding="0">";
echo "<tr><td>";
$bild1 = new picture("CMS_IMG[2]"); // initialisierung
$bild1->outputPicture("CMS_LINK[2]","CMS_LINKTARGET[2]","CMS_IMGDESCR[2]","CMS_LINKDESCR[2]");
echo "</td><td>";
$bild2 = new picture("CMS_IMG[3]"); // initialisierung
$bild2->outputPicture("CMS_LINK[3]","CMS_LINKTARGET[3]","CMS_IMGDESCR[3]","CMS_LINKDESCR[3]");
echo "</td><td>";
$bild3 = new picture("CMS_IMG[4]"); // initialisierung
$bild3->outputPicture("CMS_LINK[4]","CMS_LINKTARGET[4]","CMS_IMGDESCR[4]","CMS_LINKDESCR[4]");
echo "</td><td>";
$bild4 = new picture("CMS_IMG[5]"); // initialisierung
$bild4->outputPicture("CMS_LINK[5]","CMS_LINKTARGET[5]","CMS_IMGDESCR[5]","CMS_LINKDESCR[5]");
echo "</td></tr></table>";
?>
Viel Spass und Gruss aus der Schweiz
Felix
Modul 2 mal verwenden im selben Template
Verfasst: Do 5. Jan 2006, 21:30
von media-konzept
Hallo zusammen
hat schon jemand versucht das Modul 2 mal im selben Template zu verwenden? Hätte da gerade eine Anwandung dafür, einmal waagrecht und einmal senkrecht.
Würde mich freuen
Gruss Felix