Probleme mit Bildergallerie...

BillaBong

Erfahrenes Mitglied
Hallo,

Ich habe bei meiner hp eine Bildergallerie eingebaut. Die Gallerie ist so aufgebaut das man im oberen Teil die Ordner auswählen kann im unteren Teil werden die Bilder in kleiner Vorschau angezeigt. Jetzt kommen wir zu dem Problem: Ich habe die Gallerie in ein Iframe gesetzt was soweit auch alles gut funktioniert jedoch laufen mir die Überordner aus dem Iframe raus wenn ich mehrere hinzufüge. Ich bräuchte also einen zeilenumbruch so das ich die Überordner in dem Iframe untereinnander stapeln kann. Ich habe da jetzt auch schon wie wild rumgebastelt und bin zu der annahme gekommen das in dem Ordner php die class.gallery.php was damit zu tun hat und zwar der Abschnitt hier.

PHP:
function menulisting(){
        global $PHP_SELF;
        $liste = $this->get_dir("galleries");
        if(!empty($liste)){
            for($i=0; $i<sizeof($liste); $i++){
                list($id,$name) = split("-",$liste[$i]);
                $pstr = ($i<sizeof($liste)-1) ? "" : "";
                $op.="<td><div align=\"center\"><a href=\"$PHP_SELF?gallery=$id\" onfocus=\"if(this.blur) this.blur()\"><img src=\"../../gfx/stern+bg.jpg\" border=\"0\" width=\"20\ height=\"20\" title=\"".ucfirst($name)."\"><br><br>".ucfirst($name)."</a>&nbsp;&nbsp;</div></td>".$pstr;
            }

Wenn man hier werte verändert dann ändert sich auch der Abstand. Aber was ich genau machen muss das ich einen Umbruch bekomme raff ich net.

Hier könnt ihr die Gallerie Downloaden:

http://www.saarfunny.de/Gallerie/index.php
 
Nein mit den Bildern das kann man ja in der config.gallery.php einstellen. Das Problem sind die Überordner. Also z.B. da steht oben


-=Bilder Weinachtsfeier=- -=Bilder Ostern=- -=Bilder Fashing=- | Umbruch
-=Bilder Ferien=- -=Bilder Urlaub=- | Umbruch
-------------------------------------------------------------------------------------------------------------

Darunter sieht man dann die Bild vorschau. Der umbruch soll alle 4 Überordner stattfinden.
 
Würde ja gerne helfen, aber mit deinen Angaben ... raff ich nicht, was du willst.

wenn du dein Menü in einer Tabelle listen willst, dann ist das einfach <tr><td..... </td></tr>
Wenn du jeweils zwei Spalten haben willst, in die forschleife

PHP:
<?php
$x = 4;
$p = 0;
for() {
 //....blabla
 //.....blabla
 //... hier die html-ausgabe welche mit <tr> beginnt!
 if($x%2) { echo "</tr>"; $p++; }
}

// verhindern, das die Tabelle zerschossen wird
if($p%2!=0) { 
 // var $p ist ungerade, somit kann der tag geschlossen werden
 echo "</tr>";
}
?>
 
1.)
Also im ersten Link zeige ich wie es aussieht wenn wenige Menü Ordner (rot umkreist) eingefügt sind.

http://www.saarfunny.de/Gallerie/1.php
------------------------------------------------------------------------------------------------------------

2.)
Im zweiten Link wird dargestellt was mein Problem ist. Das die Menü Ordner (rot umkreist) über den Iframe (rote Balken links+rechts wo Iframe dransteht) hinausgehen.

http://www.saarfunny.de/Gallerie/2.php
------------------------------------------------------------------------------------------------------------

3.)
Der dritte und letzte Link zeigt wie es aussehen soll. Und zwar soll wenn die Menü Ordner (rot umkreist) über den Iframe (rote Balken links+rechts wo Iframe dransteht) hinaus geht ein Umbruch stattfinden damit die Menü Ordner (rot umkreist) nicht aus dem Iframe (rote Balken links+rechts wo Iframe dransteht) rauslaufen.

http://www.saarfunny.de/Gallerie/3.php
-------------------------------------------------------------------------------------------------------------

Ich hoffe das ihr jetzt was damit Anfangen könnt.... und danke schon mal für die Mühe die ihr euch gemacht habt.

Ps: Der Iframe (rote Balken links+rechts wo Iframe dransteht) hat width="560px"
 
Zuletzt bearbeitet:
PHP:
<?php
function menulisting(){
	global $PHP_SELF;
    $style = "style=\"margin-left:10px;margin-right:10px;\" ";
    $liste = $this->get_dir("galleries");
    if(!empty($liste)){
    	for($i=0; $i<sizeof($liste); $i++){
        list($id,$name) = split("-",$liste[$i]);
        	$pstr = ($i<sizeof($liste)-1) ? "" : "";
            $op.="<a href=\"$PHP_SELF?gallery=$id\" onfocus=\"if(this.blur) this.blur()\"><img $style src=\"../../gfx/stern+bg.jpg\" border=\"0\" width=\"20\ height=\"20\" title=\"".ucfirst($name)."\"><br><br>".ucfirst($name)."</a>".$pstr;
        }
    }
?>

Änder dein HTML ab wie oben. die funktion muss nun zwischen <td> und </td> eingebunden werden. Deine HTML Tabelle kannst du beibehalten.
 
Zeichne das ganze einfach als Liste aus und formatiere diese mit CSS.
PHP:
function menulisting()
{
	$list = $this->get_dir('galleries');
	if( !empty($list) ) {
		$return = '<ul class="gallery-navigation">';
		foreach( $list as $item ) {
			list($id, $name) = explode('-', $item);
			$return .= '<li><a href="'.$_SERVER['PHP_SELF'].'?gallery='.$id.'"><img src="../../gfx/stern+bg.jpg" width="20" height="20">'.ucfirst($name).'</a></li>';
		}
		$return .= '</ul>';
	}
	return $return;
}
 
Also ich muss erst mal ein danke los werden...

ich bin schon mal ein bisschen schlauer als vorher aber so richtig funktionieren will das immer noch nicht. Das Problem liegt darin wenn ich ganze Gallerie in eine Tabelle stecke ändert sich nix weil sich die Tabelle ja mit weited. Ich habe es auch schon mit Overflow im Iframe probiert aber das bringt ja auch nix entweder schneidet er den rest dann ab oder macht mir die Laufleiste ins bild. wenn ich den

PHP:
$op.="<td><div align=\"center\"><a href=\"$PHP_SELF?gallery=$id\" onfocus=\"if(this.blur) this.blur()\"><img src=\"../../gfx/stern+bg.jpg\" border=\"0\" width=\"20\ height=\"20\" title=\"".ucfirst($name)."\"><br><br>".ucfirst($name)."</a>&nbsp;&nbsp;</div></td>".$pstr;

in eine Tabelle setze dann bringt mir das auch nix dann habe ich zwar meine Überordner untereinnander aber die sind dann alle einzell untereinnander. Das liegt warscheinlich daran das dieser Befehl ( ".ucfirst($name)." ) einfach den ordner einblendet. Ich müsste aber mindestens 4 Überordner nebeneinnander haben. Und das es dann nach 4 Überordner wieder Unten in dern nächsten Reihe weiter geht.

Habt ihr euch eigentlich mal die Gallerie runtergeladen und angeschaut oder versucht ihr da nur den Code zu deuten den ich oben eingestellt hatte ?

Ich komm auf jedenfall nicht weiter habe jetzt schon wieder super viele stunden dran rumgebastelt mit dem tabellen aber das geht auch nicht....... Hilfe :-(
 
Zurück