Galerie für 4.4

zwiebel
Beiträge: 67
Registriert: Fr 17. Okt 2003, 20:54
Kontaktdaten:

Galerie für 4.4

Beitrag von zwiebel »

Hallo welche Bildergalerie funktioniert denn für 4.4 mit Thumbs und Größer etc?????? :?
chriscross
Beiträge: 38
Registriert: Fr 31. Okt 2003, 15:25
Kontaktdaten:

Bildmodul

Beitrag von chriscross »

Hallo delicart

Ich kann dir im Moment eigentlich nur die Bildergallerie Version 0.9.1 empfehlen. Du findest das Modul unter der Contenido 4.2 Version ist aber kompatibel mit 4.4.
Die Galerie generiert selbst Thumbnails für JPG's und du kannst die Anzahl
Thumbs pro Seite selbst festlegen und mittels Page-Zapper durch die Galerie zappen. Ich benütze auch dieses Modul und habe es noch ein wenig angepasst so das die angeklicketen Thumbs in einem Detailwindow in Originalgrösse aufgehen.

Hier der Code:

Eingabe:

Code: Alles auswählen

$selected = "CMS_VALUE[0]";

echo "<table cellspacing=\"0\" cellpadding=\"5\" border=\"0\">
        <tr valign=\"top\">
          <td>Einzelbild-Seite</td>
           <td>
            <select name=\"CMS_VAR[0]\">";


$sql = "SELECT * FROM $cfgTab_cat_tree AS TREE, $cfgTab_cat_side AS CATSIDE, $cfgTab_cat AS CAT, $cfgTab_cat_lang AS CATLANG, $cfgTab_side_lang AS SIDELANG WHERE TREE.idcat=CATSIDE.idcat AND CATSIDE.idcat=CATLANG.idcat AND CATLANG.idlang='$lang' AND CATSIDE.idside=SIDELANG.idside AND SIDELANG.idlang='$lang' AND CAT.idcat=TREE.idcat AND CAT.idclient='$client' ORDER BY TREE.idtree";
$db->query($sql);

        if ($selected != 0) {
        echo "<option value=0>diese Seite</option>";
        } else {
        echo "<option value=0 selected>diese Seite</option>";
        }
        while ($db->next_record()) {
        $spaces = "";
                for ($i=0; $i<$db->f("level"); $i++) {
                $spaces = $spaces . "    ";
                }
                if ( $db->f("idcatside") != $selected ) {
                echo "<option value=\"".$db->f("idcatside")."\">$spaces ".$db->f("name")."---".$db->f("title")."</option>";
                } else {
                        echo "<option value=\"".$db->f("idcatside")."\" selected>$spaces ".$db->f("name")."---".$db->f("title")."</option>";
                }
        }
echo "</select>";

echo "      </td>
</tr>
        <tr>
        <td>
        Image-Directory:
       </td>
            <td>
          <input size=20 type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\">
</td>
  </tr>

        <tr>
        <td>
        Thumbnail-Directory:
       </td>
            <td>
          <input size=20 type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\">
</td>
  </tr>
                
        <tr>
        <td>
        Image-Dateieendung (z.B. .jpg;.gif):
       </td>
            <td>
          <input size=20 type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\">
</td>
  </tr>

        <tr>
        <td>
         Thumbnailtabelle in Spalten x Zeilen:
       </td>
            <td>
          <input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\">x<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[6]\" value=\"CMS_VALUE[6]\">
</td>
  </tr>
        

        <tr>
        <td>
         Thumbnailgr&ouml;sse in XxY:
       </td>
            <td>
          <input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\">x<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\">
</td>
  </tr>

        <tr>
        <td>
        Pfad zum ImageMagick (optional):
       </td>
            <td>
              <input size=20 type=\"text\" name=\"CMS_VAR[9]\" value=\"CMS_VALUE[9]\"></td>
  </tr>
        
      </table>";
Ausgabe:

Code: Alles auswählen

<?php

$imagedir="CMS_VALUE[2]"; 
$thumbnails="CMS_VALUE[3]";  
$imagetypes=explode(";","CMS_VALUE[4]"); 
$rows="CMS_VALUE[6]";  
$cols="CMS_VALUE[5]"; 

$thb_x_size="CMS_VALUE[7]"; 
$thb_y_size="CMS_VALUE[8]"; 

$image_idcat="CMS_VALUE[0]";  
$image_idside="CMS_VALUE[1]"; 

$im_path="CMS_VALUE[9]"; 

//-- config ende -------------------------------------

function is_image($filename,$typearray) {
  reset($typearray);
  while($val=each($typearray)) {
     if (strstr($filename,$val[value])!==false) {
       return true;
     }
  }
}

//-- functions ende ----------------------------------

if (!isset($mmstart)) {
  $mmstart=0;
}

// Anzeige eines Bildes oder Übersicht?

if ($subfile!="") {
// Bild anzeigen
 echo "<img src=\"$subfile\">";

} else {
// Gallery anzeigen

$handle=opendir($imagedir);

echo "<table width=\"100%\" height=\"100%\"  border=\"0\" cellpadding=\"5\">";
$n=0;
$filearray=Array();
while (false !== ($file = readdir($handle))) { 
        if ($file != "." && $file != ".." && is_image($file,$imagetypes)) {
             $filearray[]=$file;
        }
}

reset($filearray);

// skip images...
for ($n=0;$n<$mmstart;$n++)
  $ffile=each($filearray);
$n=0;
while ($ffile=each($filearray)) {
             $file=$ffile[value];
             // generate thumbnail, if nessesairy. Now THIS is fun :)
             // natuerlich nur, wenn imagemagick vorhanden ist...
            if (!file_exists($thumbnails."/thb_".$file) ) {
               if ($im_path!="") {
                 $cmd=$im_path."/convert -scale ".$thb_x_size."x".$thb_y_size." ".$imagedir."/".$file." ".$thumbnails."/thb_".$file;

                 exec($cmd);
                 // nochmal prüfen!
                 $thumbnail=file_exists($thumbnails."/thb_".$file); 
                } else 
                  $thumbnail=false;
            } else
              $thumbnail=true;
            if ($n%$cols==0) 
              echo "<tr>\n";
            if ($image_idcat!=0)
              $url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcatside=$image_idcat&subfile=".rawurlencode($imagedir."/".$file));  
            else
              $url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcat=$idcat&idside=$idside&subfile=".rawurlencode($imagedir."/".$file));  
            echo "<td valign=\"middle\" align=\"center\" width=\"$thb_x_size\" height=\"$thb_y_size\"><a href=\"/dw.php?file=$file\" target=\"dw\" onClick=\"MM_openBrWindow(\'/dw.php?file=$file\',\'dw\',\'menubar=yes,scrollbars=yes,resizable=yes,width=700,height=400\')\">".($thumbnail ? "<img src=\"$thumbnails/thb_$file\" border=\"0\">":"$file")."</a></td>
            \n";
            $n++; 
            if ($n%$cols==0) 
              echo "</tr>\n";
         

        // nur solange wie's not tut...
        if ($n>=$rows*$cols)
          break;
    }
echo "<tr> <td colspan=\"$cols\" align=\"center\" height=\"35\" valign=\"middle\">";

if ($mmstart>0) {
  $url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&subid=$subid&idside=$idside&mmstart=".($mmstart-$rows*$cols)); 
  echo "<a href=\"$url\">vorherige Bilder...</a>";
}

echo " | zeige Bilder ".($mmstart+1)." - ".($mmstart+$n)." | ";

if ($n+$mmstart<count($filearray)) {
  $url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&subid=$subid&idside=$idside&mmstart=".($mmstart+$rows*$cols)); 
  echo "<a href=\"$url\">weitere Bilder...</a>";
}
echo "</td>\n";
echo "</tr>\n";
echo "</table>"; 
} // Ende Gallery anzeigen
?>
Das Detailwindow:

Code: Alles auswählen

<?php  

$file=$HTTP_GET_VARS["file"];

?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Detail Ansicht</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
	background-color: #FFFFFF;
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
-->
</style></head>

<body>

<table width="100%" height="100%"  border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center" valign="middle"><a href="javascript:" onClick="window.close()"; title="schliessen"><? echo "<img src=\"/cms/upload/bilder/galerie/$file\" border=\"0\">" ?></a></td>
  </tr>
</table>
</body>
</html>
Wenn du diesen Code benutzen willst musst du nur noch die Links zum Detailwindow und der Bildaufruf-link im Detailwindow anpassen und dann sollte es gehen. Für die restlichen Dokus zur Bildergalerie findest du im entsprechenden Bildergalerie Version 0.9.1 Modul. good luck!

Leider unterstützt das Modul noch keine Bildbeschreibung aber ich denke das wird demnächst auch noch von irgend einer guten Programmiererseele realisiert.

gruss
chris
Zuletzt geändert von chriscross am Do 13. Nov 2003, 13:36, insgesamt 2-mal geändert.
zwiebel
Beiträge: 67
Registriert: Fr 17. Okt 2003, 20:54
Kontaktdaten:

Beitrag von zwiebel »

Hmmmm ich weiß nixht wo Das Detailwindow:
ist???
chriscross
Beiträge: 38
Registriert: Fr 31. Okt 2003, 15:25
Kontaktdaten:

Beitrag von chriscross »

Morgen Delicart

Der Code für das Detailwindow ist in meinem ersten Posting ganz unten eingefühgt.

Der Einfachheit halber ist er hier noch mal:

Code: Alles auswählen

<?php  

$file=$HTTP_GET_VARS["file"]; 

?> 


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<title>Detail Ansicht</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<style type="text/css"> 
<!-- 
body { 
   background-color: #FFFFFF; 
   margin-left: 0px; 
   margin-top: 0px; 
   margin-right: 0px; 
   margin-bottom: 0px; 
} 
--> 
</style></head> 

<body> 

<table width="100%" height="100%"  border="0" cellpadding="0" cellspacing="0"> 
  <tr> 
    <td align="center" valign="middle"><a href="javascript:" onClick="window.close()"; title="schliessen"><? echo "<img src=\"/cms/upload/bilder/Galerie/$file\" border=\"0\">" ?></a></td> 
  </tr> 
</table> 
</body> 
</html> 
Diesen Code kannst du kopieren und erstellst damit eine neue Datei, die dw.php heisst. Diese Datei fügst du nun in deinem Verzeichnis ein wo immer du möchtest, du musst einzig darauf achten das du im Galerie-Modul-Ausgabe den Pfad zu der Detailwindow-Datei richtig angibst.
Du kannst nach folgendem Anker-Tag suchen:

Code: Alles auswählen

<a href=\"/dw.php?file=$file\" target=\"dw\" onbeforeunload=\"MM_openBrWindow(\'/dw.php?file=$file\',\'dw\',\'menubar=yes,scrollbars=yes,resizable=yes,width=700,height=400\')\">(
zwiebel
Beiträge: 67
Registriert: Fr 17. Okt 2003, 20:54
Kontaktdaten:

Beitrag von zwiebel »

Hallo Chriscross, ich kann machen was ich will ich bekomme keinen editor nur ne weisse seite beim öffnen.
hu-go
Beiträge: 26
Registriert: Fr 22. Aug 2003, 13:28
Kontaktdaten:

Was ist wenn Imagemagick nicht vom Provider unterstütz wird?

Beitrag von hu-go »

bzw. was muss man angeben?
chriscross
Beiträge: 38
Registriert: Fr 31. Okt 2003, 15:25
Kontaktdaten:

Sorry für die Verspätung

Beitrag von chriscross »

@delicart deine weisse Seite im Editor kommt vielleicht daher, dass kein template für diesen Artikel gewählt wurde.


@hu-go was genau meinst du mit "...was muss man angeben?"??
bezieht sich deine Frage auf den Codebereich des Moduls oder den Template-Konfigurationsbereich??


chris
COS
Beiträge: 6
Registriert: Mo 20. Okt 2003, 09:54
Wohnort: Prien
Kontaktdaten:

Ähm habs probiert

Beitrag von COS »

Hallo hab das geänderte Script ausprobiert.
Bekomm leider nur Quellcode. Was könnte ich falsch gemacht haben???

gruß Cos
chriscross
Beiträge: 38
Registriert: Fr 31. Okt 2003, 15:25
Kontaktdaten:

Beitrag von chriscross »

Hallo COS

1. welche Contenido Version benutzt du?
2. in welchem Bereich bekommst du nur Quellcode?
3. Hast du das Modul konfiguriert?
4. benutzt du Imagemagick auf deinem Server?



chriscross
COS
Beiträge: 6
Registriert: Mo 20. Okt 2003, 09:54
Wohnort: Prien
Kontaktdaten:

Tach auch

Beitrag von COS »

Benutze Version 4.4.1
Im Layout also auf der normalen HTML Ansicht.
Ja das Modul habe ich von oben übernommen aber ohne PHP Tags (weil sonst Fehler)
Nein benutze ich nicht.

Gruß COS

Sorry für die Kurzfassung, bin in eile
chriscross
Beiträge: 38
Registriert: Fr 31. Okt 2003, 15:25
Kontaktdaten:

So jetzt aber...

Beitrag von chriscross »

Hallo COS

Also was du falsch gemacht hast, kann ich dir so nicht sagen aber ich kann sagen wie du das Teil benutzen kannst ohne das es Fehler generiert. Ich habe dieses Modul schon auf mehreren Seiten mit CMS Version 4.4.1 am laufen. Also "sollte" das Modul so wie es oben gepostet ist funktionsfähig sein! :wink:

1. neues Modul erstellen, indem du mittels copy&paste den Code für den Input- und Outputbereich übernimmst von meinem Posting. Du solltest aber den Code schon ganz übernehmen sonst läuft das Modul vermutlich nicht.

2. Ein Detailwindow-Datei erstellen in dem dann die Bilder in Originalansicht angezeigt werden. In meinem Fall habe ich eine Datei mit dem Namen dw.html erstellt und diese Datei habe ich dann ins wwwroot-Verzeichnis gespeichert. Der name der Datei sowie das Verzeichnis in dem es liegt kannst du natürlich selbst noch anpassen. Du findest den entsprechenden Codeabschnitt im Output-bereich des Galerie-Moduls. Hier der Codeabschnitt:

Code: Alles auswählen

 echo "<td valign=\"middle\" align=\"center\" width=\"$thb_x_size\" height=\"$thb_y_size\"><a href=\"/dw.php?file=$file\" target=\"dw\" onClick=\"MM_openBrWindow(\'/dw.php?file=$file\',\'dw\',\'menubar=yes,scrollbars=yes,resizable=yes,width=700,height=400\')\">".($thumbnail ? "<img src=\"$thumbnails/thb_$file\" border=\"0\">":"$file")."</a></td> 
            \n";
Der Detailwindow-Aufruf ist ein herkömmlicher Dreamweaver Javascript Detailwindowlink. Daher solltest du in deinem Layout-Header einen entsprechen JS-Script haben damit es sauber funktioniert.

3. Erstelle nun im Verzeichnis upload/bilder ein Ordner mit dem Namen galerie und in diesem Ordner erstelltst du wider ein Ordner mit dem Namen thumbs. So und in diese Verzeichnisse lädst du nun mittels Contenido Dateiverwaltung deine Originalbilder sowie die Thumbnails von deinen Originalbildern.

4. Erstelle nun ein Template und ordne das Galerie-Modul hinzu.

5. Erstelle einen Artikel und konfiguriere nun dein Galerie Modul entsprechen. Angabe zu deinem Bilder Verzeichnis sollte etwa so
lauten upload/bilder/galerie/ bzw. für die Thumbs lautet der Pfad dann etwa so: upload/bilder/galerie/thumbs/ .

6. Nun sollte eigentlich deine Galerie angezeigt werden.

Ich arbeite zurzeit an einer Überarbeitung des Modules, so dass man noch einen Description-Text jedem Bild mitgeben kann. Sobald das Ding dann ready ist werde ich es hier posten.

Gruss
Chris
zwiebel
Beiträge: 67
Registriert: Fr 17. Okt 2003, 20:54
Kontaktdaten:

Beitrag von zwiebel »

Es ist ja nicht so, als wenn das Modul bei mir funktioniert. Ich bekomme das Template gezeigt habe aber keine eingabemöglichkeit oder auswahl, einfach nichts!!! Was mache ich denn da falsch? :(

gruß delicart
chriscross
Beiträge: 38
Registriert: Fr 31. Okt 2003, 15:25
Kontaktdaten:

versuche mal die Org. Version

Beitrag von chriscross »

Hallo

Anhand deiner Beschreibung ist es mir nicht möglich zu erklähren was bei
dir nicht sauber funktioniert.
Im Contenido unter Administration finden sich log- files, schau doch mal da nach ob du was Aufschlussreiches findest.

Aber vielleicht wäre es besser wenn du zuerst einmal die Original Bildergalerie implementierst.
Du kannst sie auf der Contenido-Website unter Module für 4.2 downloaden.
Versuche mal ob du diese Galerie zum laufen bringst und wenn du die auch nicht zum laufen bringst, könnte was mit deiner Contenido Installation nicht sauber sein.

gruss chris
zwiebel
Beiträge: 67
Registriert: Fr 17. Okt 2003, 20:54
Kontaktdaten:

Beitrag von zwiebel »

Hi Chris, die habe ich auch schon versucht einzubinden, dann bekommme ich den code zu sehen (im Template)

Gruß Delicart
chriscross
Beiträge: 38
Registriert: Fr 31. Okt 2003, 15:25
Kontaktdaten:

Beitrag von chriscross »

Hallo delicart

Ich vermute jetzt mal das mit deiner Conti Installation was nicht in Ordnung ist. Versuche doch mal die neuste Contenido Version 4.4.1
zu installieren.

Wenn das auch nichts bringt so schreibe einfach mal Schritt für Schritt auf wie du das Galerie Modul implementierst und zu guter letzt schreibst du noch auf was du in den Error-Log für Einträge findest.

gruss
Gesperrt