Seite 1 von 1
Wie bei Bildergalerie Beschriftung an CSS anpassen?
Verfasst: Di 9. Aug 2005, 21:15
von aspedis
hi, ich habe folgendes Problem:
obwohl ich über all im Quelltext den Verweis zu meiner CSS - Anweisung drin habe, funktioniert es einfach nicht, der Text bleibt schwarz und färbt sich nicht um. Was habe ich falsch gemacht? Live-Preview:
www.agnesgehtnachusa.de
Danke
volker
-- text gelöscht -- verwendeter quelltext siehe unten --
Verfasst: Di 9. Aug 2005, 21:56
von i-fekt
Du musst der Tabelle eine Klasse geben und das kannst du dann mit CSS ansprechen.
Verfasst: So 21. Aug 2005, 21:01
von aspedis
i-fekt hat geschrieben:Du musst der Tabelle eine Klasse geben und das kannst du dann mit CSS ansprechen.
habe das versucht, aber irgendwie mache ich da was falsch, was nur?
<?
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : w3concepts.gallery.v1
* Author : Andreas Kummer
* Copyright : mumprecht & kummer w3concepts
* Created : 30-08-2004
* Modified : 30-08-2004
************************************************/
class gallery {
function gallery() {
// initialwerte setzen
$this->setInitValues();
// aussteigen, falls initialwerte nicht sinnvoll
if (!$this->checkInitValues()) return false;
// quellverzeichnis auslesen
$this->readDir();
// zeiger für showNextPicture setzen
if (empty($_REQUEST['pos'])) {
$this->showNextPictureSeq = -1;
} else {
$this->showNextPictureSeq = $_REQUEST['pos'] - 1;
}
// datenbankzugriff initialisieren
$this->db = new DB_Contenido;
// galerie ausgeben
$this->showGallery();
// gegebenenfalls navigation ausgeben
$this->showNavigation();
}
function setInitValues() {
// konfigurationswerte aus dem input-script
// übernehmen
$this->path['pictures'] = "CMS_VALUE[0]";
$this->path['thumbs'] = "CMS_VALUE[1]";
$this->path['upload'] = $GLOBALS['cfgClient']["{$GLOBALS['client']}"]['upload'];
$this->path['html'] = $GLOBALS['cfgClient']["{$GLOBALS['client']}"]['path']['htmlpath'];
$this->path['client'] = $GLOBALS['client'];
$this->path['lang'] = $GLOBALS['lang'];
$this->path['idcat'] = $GLOBALS['idcat'];
$this->path['idart'] = $GLOBALS['idart'];
$this->path['pos'] = $GLOBALS['pos'];
$this->abspath['pictures'] = $GLOBALS['cfgClient']["{$GLOBALS['client']}"]['path']['frontend'].$GLOBALS['cfgClient']["{$GLOBALS['client']}"]['upload'].$this->path['pictures'];
$this->abspath['thumbs'] = $GLOBALS['cfgClient']["{$GLOBALS['client']}"]['path']['frontend'].$GLOBALS['cfgClient']["{$GLOBALS['client']}"]['upload'].$this->path['thumbs'];
$this->htmlpath = $GLOBALS['cfgClient']["{$GLOBALS['client']}"]['path']['htmlpath'].$GLOBALS['cfgClient']["{$GLOBALS['client']}"]['upload'];
$this->thumbnailSize['width'] = "CMS_VALUE[2]";
$this->thumbnailSize['height'] = "CMS_VALUE[3]";
$this->tableSize['cols'] = "CMS_VALUE[4]";
$this->tableSize['rows'] = "CMS_VALUE[5]";
$this->link['previous'] = "CMS_VALUE[6]";
$this->link['next'] = "CMS_VALUE[7]";
$this->uebersicht = "CMS_VALUE[8]";
$this->teaser = "CMS_VALUE[9]";
}
function checkInitValues() {
// prüfen, ob es sich bei den übergebenen pfaden
// um tatsächlich vorhandene pfade im dateisystem
// handelt. gegebenenfalls wird eine ausgabe
// an den browser vorgenommen und false zurückgegeben.
if (!chdir($this->abspath['pictures'])) {
echo "<p>Das Verzeichnis '{$this->abspath['pictures']}' existiert im Dateisystem
des Servers nicht. Entweder müssen Sie es noch anlegen oder die
Konfiguration Ihres Modules anpassen.</p>";
return false;
}
if (!chdir($this->abspath['thumbs'])) {
echo "<p>Das Verzeichnis '{$this->abspath['thumbs']}' existiert im Dateisystem
des Servers nicht. Entweder müssen Sie es noch anlegen oder die
Konfiguration Ihres Modules anpassen.</p>";
return false;
}
if ($this->thumbnailSize['width'] == '') $this->thumbnailSize['width'] = 100;
if ($this->thumbnailSize['height'] == '') $this->thumbnailSize['height'] = 100;
if ($this->tableSize['cols'] == '') $this->tableSize['cols'] = 3;
if ($this->tableSize['rows'] == '') $this->tableSize['rows'] = 3;
if ($this->link['previous'] == '') $this->link['previous'] = '[:: rückwärts ]';
if ($this->link['next'] == '') $this->link['next'] = '[ vorwärts ::]';
if ($this->teaser == '') $this->teaser = '1000';
// rückgabe im erfolgsfall
return true;
}
function readDir() {
$dir = opendir($this->abspath['pictures']);
while ($file = readdir($dir)) {
$bildinfo = @getimagesize($this->abspath['pictures'].$file);
if (!empty($bildinfo)) {
$picture[] = $file;
}
}
rsort($picture);
closedir($dir);
foreach ($picture as $picture2) {
if (!empty($picture2)) $this->picture[] = $picture2;
}
}
function showNextPicture() {
// zeiger um eins erhöhen
$this->showNextPictureSeq++;
// wenn keine bild mehr vorhanden ist, false zurück geben
if ($this->showNextPictureSeq >= count($this->picture)) return '';
// thumbnail generieren falls erforderlich
$size = $this->generateThumb($this->picture["{$this->showNextPictureSeq}"]);
// originalgrösse des bildes ermitteln
$originalsize = getimagesize($this->abspath['pictures'].$this->picture["{$this->showNextPictureSeq}"]);
// referenz zurück geben
if ($_REQUEST['galerie']==""||$_REQUEST['galerie']=="klein"){
$pos = $this->showNextPictureSeq;
return "<a href="{$this->path['html']}front_content.php?client={$this->path['client']}&lang={$this->path['lang']}&idcat={$this->path['idcat']}&idart={$this->path['idart']}&pos=".$pos."&galerie=gross"><img src="{$this->htmlpath}{$size['filename']}" width="{$size['width']}" height="{$size['height']}" border="0"/></a>";
}
if ($_REQUEST['galerie']=="gross"){
return "<img src="{$this->path['upload']}{$this->path['pictures']}{$this->picture["{$this->showNextPictureSeq}"]}" border="0"/>";
}
}
function generateThumb($filename) {
$src_image_size = getimagesize($this->abspath['pictures'].$filename);
// prüfen, ob thumbnail bereits vorhanden ist
if (!file_exists("{$this->abspath['thumbs']}{$this->thumbnailSize['width']}.{$this->thumbnailSize['height']}.$filename.jpg")) {
// ermitteln ob das bild auf bestimmte höhe oder bestimmte breite zu reduzieren ist
// sowie ermitteln, um welchen faktor das bild zu verkleinern ist
if ($src_image_size[0]/$src_image_size[1] > $this->thumbnailSize['width']/$this->thumbnailSize['height']) {
$verkleinerungsfaktor = $this->thumbnailSize['width']/$src_image_size[0];
} else {
$verkleinerungsfaktor = $this->thumbnailSize['height']/$src_image_size[1];
}
// berechnen der thumbnailgrösse
$bildhoehe = round($src_image_size[1] * $verkleinerungsfaktor);
$bildbreite = round($src_image_size[0] * $verkleinerungsfaktor);
// thumbnail erstellen
$dst_im = imagecreatetruecolor($bildbreite,$bildhoehe);
if ($src_image_size[2] == 1) {
$src_im = imagecreatefromGIF("{$this->abspath['pictures']}$filename");
} elseif ($src_image_size[2] == 2) {
$src_im = @ImageCreateFromJPEG("{$this->abspath['pictures']}$filename");
} else {
$src_im = @imagecreatefromgd("{$this->abspath['pictures']}$filename");
}
imagecopyresampled ($dst_im,$src_im,0,0,0,0,$bildbreite,$bildhoehe,$src_image_size[0],$src_image_size[1]);
imagejpeg ($dst_im,"{$this->abspath['thumbs']}{$this->thumbnailSize['width']}.{$this->thumbnailSize['height']}.$filename.jpg",100);
$size['width'] = $bildbreite;
$size['height'] = $bildhoehe;
} else {
$thumbnailsize = getimagesize("{$this->abspath['thumbs']}{$this->thumbnailSize['width']}.{$this->thumbnailSize['height']}.$filename.jpg");
$size['width'] = $thumbnailsize[0];
$size['height'] = $thumbnailsize[1];
}
$size['filename'] = "{$this->path['thumbs']}{$this->thumbnailSize['width']}.{$this->thumbnailSize['height']}.$filename.jpg";
return $size;
}
function getDescription() {
$sql = "SELECT description FROM {$GLOBALS['cfg']['tab']['upl']}
WHERE
filename = '{$this->picture[$this->showNextPictureSeq]}'
AND dirname = '{$this->path['pictures']}'
";
$this->db->query($sql);
$this->db->next_record();
return $this->db->f("description");;
}
function showGallery() {
if ($_REQUEST['galerie']=="gross"){
echo "<table width="100%" height="300">\n";
echo "<tr>\n";
echo "<td style="bilders" align="center" width="$cellwidth%">\n".$this->showNextPicture()."\n</td>\n";
echo "</tr>\n";
$beschreibung = $this->getDescription();
echo "<tr>\n";
echo "<td align="center" width="$cellwidth%" style="bilders">\n{$beschreibung}\n</td>\n";
echo "</tr>\n";
echo "</table>\n";
} else {
$cellwidth = floor(100/$this->tableSize['cols']);
echo "<table width="100%">\n";
for ($i = 0;$i < $this->tableSize['rows'];$i++) {
$beschreibung = null;
echo "<tr>\n";
for ($j = 0;$j < $this->tableSize['cols'];$j++) {
echo "<td style="bilders" align="center" width="$cellwidth%">\n".$this->showNextPicture()."\n</td>\n";
$beschreibung[] = substr($this->getDescription(),0,$this->teaser);
}
echo "</tr>\n";
echo "<tr>\n";
for ($j = 0;$j < $this->tableSize['cols'];$j++) {
if ($beschreibung[$j]!=""){
$beschreibung[$j]=$beschreibung[$j]." ...";
}
echo "<td align="center" width="$cellwidth%" style="bilders">\n{$beschreibung[$j]}\n</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
}
}
function showNavigation() {
if ($_REQUEST['galerie']=="gross"){
echo "<table width="100%">\n<tr>\n";
if (!empty($_REQUEST['pos'])) {
$pos = ($this->showNextPictureSeq <= $this->tableSize['cols'] * $this->tableSize['rows']) ? (0) : ($this->showNextPictureSeq - (2 * $this->tableSize['cols'] * $this->tableSize['rows']) + 1);
$pos = ($pos < 0) ? (0) : ($pos);
$pos=$_REQUEST['pos']-1;
$link = $GLOBALS['sess']->url("front_content.php?client={$GLOBALS['client']}&lang={$GLOBALS['lang']}&idcat={$GLOBALS['idcat']}&idart={$GLOBALS['idart']}&pos=$pos&galerie={$_REQUEST['galerie']}");
echo "<td style="text-align:center; width:10%"><a href="$link">{$this->link['previous']}</a></td>";
} else {
echo "<td style="text-align:center; width:10%"> </td>";
}
$pos = $_REQUEST['pos']/$this->tableSize['cols']/$this->tableSize['rows'];
$pos = substr($pos,0,strpos($pos,"."));
if ($pos!="0"){
$pos = $pos*$this->tableSize['cols']*$this->tableSize['rows'];
}
echo "<td style="text-align:center; width:10%">
<a href="{$this->path['html']}front_content.php?client={$this->path['client']}&lang={$this->path['lang']}&idcat={$this->path['idcat']}&idart={$this->path['idart']}&pos=".$pos."&galerie=klein">$this->uebersicht</a>
</td>";
if ($this->showNextPictureSeq + 1 < count($this->picture)) {
$pos = $this->showNextPictureSeq + 1;
$link = $GLOBALS['sess']->url("front_content.php?client={$GLOBALS['client']}&lang={$GLOBALS['lang']}&idcat={$GLOBALS['idcat']}&idart={$GLOBALS['idart']}&pos=$pos&galerie={$_REQUEST['galerie']}");
echo "<td style="text-align:center; width:10%"><a href="$link">{$this->link['next']}</a></td>";
} else {
echo "<td style="text-align:center; width:10%"> </td>";
}
echo "</tr>\n</table>\n";
} else {
if ($this->tableSize['cols'] * $this->tableSize['rows'] < count($this->picture)) {
echo "<table width="100%">\n<tr>\n";
if (!empty($_REQUEST['pos'])) {
$pos = ($this->showNextPictureSeq <= $this->tableSize['cols'] * $this->tableSize['rows']) ? (0) : ($this->showNextPictureSeq - (2 * $this->tableSize['cols'] * $this->tableSize['rows']) + 1);
$pos = ($pos < 0) ? (0) : ($pos);
$link = $GLOBALS['sess']->url("front_content.php?client={$GLOBALS['client']}&lang={$GLOBALS['lang']}&idcat={$GLOBALS['idcat']}&idart={$GLOBALS['idart']}&pos=$pos&galerie={$_REQUEST['galerie']}");
echo "<td style="text-align:center; width:10%"><a href="$link">{$this->link['previous']}</a></td>";
} else {
echo "<td style="text-align:center; width:10%"> </td>";
}
echo "<td style="text-align:center; width:10%"> </td>";
if ($this->showNextPictureSeq + 1 < count($this->picture)) {
$pos = $this->showNextPictureSeq + 1;
$link = $GLOBALS['sess']->url("front_content.php?client={$GLOBALS['client']}&lang={$GLOBALS['lang']}&idcat={$GLOBALS['idcat']}&idart={$GLOBALS['idart']}&pos=$pos&galerie={$_REQUEST['galerie']}");
echo "<td style="text-align:center; width:10%"><a href="$link">{$this->link['next']}</a></td>";
} else {
echo "<td style="text-align:center; width:10%"> </td>";
}
echo "</tr>\n</table>\n";
}
}
}
}
$gallery = new gallery();
?>
danke für jede hilfe.
volker a.k.a. aspedis
Verfasst: So 21. Aug 2005, 21:29
von Halchteranerin
das heisst nicht style=\"bilders\" sondern class=\"bilders\", falls deine Klasse in der css-Datei "bilders" heisst.
Verfasst: So 21. Aug 2005, 22:21
von aspedis
Halchteranerin hat geschrieben:das heisst nicht style="bilders" sondern class="bilders", falls deine Klasse in der css-Datei "bilders" heisst.
ja heisst sie. danke. hmm, seltsam. ich schau mal, ob es so funktioniert.
Welche Bildergallery benutzt du da, bzw....
Verfasst: So 21. Aug 2005, 22:38
von Deltapapa
mit Welcher Artikelliste erstellst du die Übersicht?
Könnte man das als Code haben?
Dirk
Äh, ich glaube du nimmst gar keine Artikelliste...
Verfasst: So 21. Aug 2005, 22:42
von Deltapapa
Hi Volker,
habe mir das nochmal genau angesehen, du nimmst verschiedene Templates für die Gallery oder?
Ich versuche das gerade mit einer Artikelliste zu machen, klappt aber noch nicht so ganz:
www.deltapapa.de
Ist etwas einfach später zu handhaben, gerade wenn du viele Bilder hast
Gruß
Dirk
Re: Äh, ich glaube du nimmst gar keine Artikelliste...
Verfasst: So 21. Aug 2005, 23:59
von aspedis
Deltapapa hat geschrieben:Hi Volker,
habe mir das nochmal genau angesehen, du nimmst verschiedene Templates für die Gallery oder?
Ich versuche das gerade mit einer Artikelliste zu machen, klappt aber noch nicht so ganz:
www.deltapapa.de
Ist etwas einfach später zu handhaben, gerade wenn du viele Bilder hast
Gruß
Dirk
hm, war da glaube ganz faul:
- zunächst im upload bereich für jedes Fotoalbum einen eigenen Bilderordner erstellt (upload/uni und upload/leute)
- ein modul erstellt (bilders)
- ein template erstellt
- in der navigation eine rubrik bilders erstellt
- in diese rubrik mehrere untermenüs eingebaut (leute/uni)
- in diese unterrubriken jeweils einen artikel erstellt und diese mittels der templates konfiguriert
- in der konfiguration der artikel jeweils den passenden bilderartikel einbauen
fertig.
reicht ideal für kleinere seiten, bei sehr vielen galerien ist es eventuell schwieriger die nav zu konfigurieren. aber so viele hatte ich noch nicht.
lg
volker
ist das die w3gallery v1 geändert??
Verfasst: Fr 21. Okt 2005, 20:25
von benzomat
@ aspedis
hallo,
mich würde mal interessieren, ob es sich bei dir um die galerie von "kummer" handelt bzw. wie sie abgeändert wurde, das das grosse bild in der gleichen seite öffnet und es darunter auch die navigation gibt.
du hattest leider nur den output gepostet, kannst du auch mal bitte den input posten?
ich würde es gern mal testen, unter c 4.4.5r1
unter welcher version läuft es bei dir?
danke für die infos,
gruss
Hans