Bildergalerie nur auf einer Frontend Seite aufrufbar ?

Gesperrt
dddanny
Beiträge: 15
Registriert: Sa 13. Mär 2004, 18:56
Kontaktdaten:

Bildergalerie nur auf einer Frontend Seite aufrufbar ?

Beitrag von dddanny » So 8. Aug 2004, 21:26

Hallo ich habe mir die letzten Tag ein wenig die Bildergaleriene angesehen und mir dieses Modul eingebaut. Es funktionierte zwar nicht gleich, aber nach 2-3 kleinen Änderungen lief es dann aber.
Jetzt habe ich vor, verschiedene Ordner mit Bildern zu füllen und über mehrere verschiedene Seiten zu öffnen.
Bei der ersten geht es auch, dummerweise lassen sich die anderen Ordner nicht so anwählen, wie ich mir das wünsche. Vielleicht kennt jemand diesen Fehler.
Hier der Code :

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>Image-Directory relativ:</td>
<td><input size=20 type=\"text\" name=\"CMS_VAR[10]\" value=\"CMS_VALUE[10]\"></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>Thumbnail-Directory relativ:</td>
<td><input size=20 type=\"text\" name=\"CMS_VAR[11]\" value=\"CMS_VALUE[11]\"></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=3 type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\">x<input size=3 maxlength=3 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>";

Code: Alles auswählen

<?
$imagedir="CMS_VALUE[2]";
$imagedirrel="CMS_VALUE[10]";
$thumbnails="CMS_VALUE[3]";
$thumbnailsrel="CMS_VALUE[11]";
$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;
     }
  }
}


// verkleinert ein Bild auf die angegebene Breite (bei Querformat) oder Höhe (bei Hochformat)
// Seitenverhältnisse werden beibehalten
function resizeImageGD($sourceFile, $targetFile, $newwidth=50, $newheight=50){
   $source = ImageCreateFromJpeg($sourceFile);
   $width  = ImageSx($source);
   $height = ImageSy($source);

   if ($width > $height){ // Querformat
      $newheight = $height*($newwidth/$width);
   }else{ // Hochformat
      $newwidth  = $width*($newheight/$height);
   }

   $target = ImageCreateTrueColor($newwidth,$newheight);
   // ÄNDERUNG vgl. Forums-Beitrag imagecopyresized ($target, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
   imagecopyresampled ($target, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

   ImageJPEG($target,$targetFile,100);
}



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

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

// Anzeige eines Bildes oder Übersicht?

if ($subfile!="") {
// Bild anzeigen
echo "<center><a href=\"javascript:history.back()\">zurück</a></center>";
echo "<br>";
echo "<img src=\"$subfile\">";
echo "<br>";
echo "<center><a href=\"javascript:history.back()\">zurück</a></center>";

} else {
// Gallery anzeigen

$handle=opendir($imagedir);

echo "<table>";
$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{
                 // Bilder mit GD verkleinern
             @ini_set("max_execution_time", 120);
                 @resizeImageGD($imagedir."/".$file, $thumbnails."/thb_".$file, $thb_x_size,$thb_y_size);
                 $thumbnail=file_exists($thumbnails."/thb_".$file);
                }
            } 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&idart=$idart&idside=$idside&subfile=".rawurlencode($imagedirrel."/".$file));
            echo "<td valign=\"middle\" align=\"center\" width=\"$thb_x_size\" height=\"$thb_y_size\">
<a href=\"/cms/dw.php?file=$file&imagedir=CMS_VALUE[10]\" target=\"dw\" onbeforeunload=\"MM_openBrWindow(\'/cms/dw.php?file=$file&imagedir=CMS_VALUE[10]\',\'dw\',\'menubar=yes,scrollbars=yes,resizable=yes,width=700,height=400\')\">
".($thumbnail ? "<img src=\"$thumbnailsrel/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\">";

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

echo "<span style=\"font-size: 9pt;\">| zeige Bilder ".($mmstart+1)." - ".($mmstart+$n)." |</span>";

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

echo "</tr>\n";
echo "</table>";
} // Ende Gallery anzeigen


echo "</p>";
?>
Contenido Version 4.4.4

Der Fehler im Log ist folgender :

Code: Alles auswählen

[08-Aug-2004 22:07:11] Invalid SQL: SELECT * FROM  AS TREE,  AS CATSIDE,  AS CAT,  AS CATLANG,  AS SIDELANG WHERE TREE.idcat=CATSIDE.idcat AND CATSIDE.idcat=CATLANG.idcat AND CATLANG.idlang='6' AND CATSIDE.idside=SIDELANG.idside AND SIDELANG.idlang='6' AND CAT.idcat=TREE.idcat AND CAT.idclient='6' ORDER BY TREE.idtree<br><br>
[08-Aug-2004 22:07:11] next_record called with no query pending.
Leider weiß ich nicht, was das heißen soll..... vielleicht weiß jemand Rat. Nur soweit. Eigentlich klappt die Galerie, aber wie gesagt nur für einen Ordner.

Greetz Dddanny

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » So 8. Aug 2004, 22:06

das ist ein Modul für die Version 4.2 - das müsstest du anpassen...

dddanny
Beiträge: 15
Registriert: Sa 13. Mär 2004, 18:56
Kontaktdaten:

Beitrag von dddanny » Mo 9. Aug 2004, 02:51

okay,

....es funktioniert aber doch....

Wie würde das denn dann aussehen, wenn ich es anpassen muß. Kann mich zwar schon in Listings recht gut reinversetzen aber wenn ich das anpassen soll, dann sehe ich nur noch Fragezeichen.

Eigentlich funktioniert es ja, das will mir nur nicht in den Schädel, warum es dann beim 2. Mal nicht klappt.....

dddanny
Beiträge: 15
Registriert: Sa 13. Mär 2004, 18:56
Kontaktdaten:

Beitrag von dddanny » Mo 9. Aug 2004, 03:12

P.S.

Ich merke, dass irgendwie keines dier Beildmodule, die hier besprochen werden im Forum, klappt....

Immer klappt nur die erste Haupseite mit allen Bildern,
setze ich die Galerie aber auf einer 2. Seite mit anderen Ordnern dazu, so scheint sich der Code aufzuhängen.

Woran liegt das ?

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Mo 9. Aug 2004, 13:55

davon abgesehen, dass ich ueberhaupt nicht verstanden habe, was Du eigentlich machen willst (es liegt vielleicht an der Hitze!), hast Du es mal mit dieser Galerie probiert?
http://www.contenido.de/forum/viewtopic ... dergalerie

Wenn Du verschiedene Ordner oeffnen willst, musst Du verschiedenen Seiten das Modul jeweils zuweisen (oder einer Seite das Modul und weitere 'Kopien' davon, aber das waere ziemlich umstaendlich) und den gewuenschten Ordner in der Konfiguration angeben.

dddanny
Beiträge: 15
Registriert: Sa 13. Mär 2004, 18:56
Kontaktdaten:

Beitrag von dddanny » Mo 9. Aug 2004, 14:24

Genau das will ich ja machen. Die Galerie auf 2 Seiten einbinden. Habe die ganze Klamotte zugewiesen, 2 verschiedene Pfade verweisen auf den jeweiligen Seiten auf die verschiedenen Bilder.

Effekt :

Seite 1 Klappt
Seite 2 klappt nicht

Es ist ein und das gleiche Modul, welches ich benutze. Im Layout habe ich keinen Fehler gefunden, da es eh nur Tabellen sind. An der Zuweisung der Pfade und Daten kann es nicht liegen, da ich sie komplett miteinander verglichen habe. Es bleibt mir nur noch das Modul, das scheinbar etwas auf der 1. Seite deklariert, was auf der 2. Seite vorhanden sein soll und nicht ist, oder aber vorhanden ist, was nicht darf.

Das von dir gepostete Topic habe ich auch schon ausprobiert. Genau der gleiche Fehler.
Ich weiß nicht weiter...... vielleicht einer vom Forum, der die Probleme kennt ?

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Mo 9. Aug 2004, 16:53

Kann ich mir das irgendwo im Internet angucken? Steht eigentlich etwas im errorlog.txt? Ich habe die Bildergalerie von kummer eingebaut, auch auf mehreren Seiten, und es klappt anstandslos. Irgendeinen Fehler wirst Du vermutlich machen/haben ...
Ich wuesste auch nicht, wieso das Modul auf der 1. Seite etwas deklarieren soll, was auf der 2. vorhanden sein soll. Das Modul 'weiss' doch nicht, dass Du mehrere Seiten hast.

dddanny
Beiträge: 15
Registriert: Sa 13. Mär 2004, 18:56
Kontaktdaten:

Beitrag von dddanny » Mo 9. Aug 2004, 16:55

Der Fehler scheint gelöst zu sein.....

Das war eine Tortour..... Contenido und das PHP auf dem Server scheinen keine Bilder zu nehmen, die größer als die waren, die ich hatte. Dementsprechend hat sich das Script immer nur bei der 2. Seite aufghängt, wo die großen Bilder waren. Jetzt mußte ich zwar die Bilder alle per Hand erstmal resizen, aber jetzt klappts :-)))))

Also doch nicht nur das Modul. Aber da muß man erst mal drauf kommen......

Gesperrt