Zum Inhalt springen

Probleme mit Gallery2 Implementierung

Erstellt am 26. Oktober 2005 · 21 Antworten · letzte Antwort am 17. Oktober 2007 · Seite 1 von 2

Tags: Frage

tinoweb ·

Hi Mike,

nein, konnte ich nicht ...

Aber ich habe mir zwischenzeitlich die "jm_gallery" ein wenig zurecht gebastelt, die Pixaco Photobridge mit eingebunden wegen Onlinebestellung (quasi als Bilderservice) usw., den "Kopierschutz" mit transparentem GIF eingebaut (quasi das eigentliche Bild als Hintergrund und drüber ein trans.gif - ich weiss, kein echter Schutz, aber die faulen Kopierer schreckt es ab) und ein Javascript eingebaut, welches beim Klick auf das Bild eine Popup-Seite mit dem Originalbild und dessen Größe öffnet... Mehr Funktionalität wollte ich eigentlich auch nicht.

Die aktuelle Version der gallery2-ext (0.0.16) macht das gleiche Problem.
Ich wollte es jetzt die Tage mal mit einer neueren php-Version versuchen (habe derzeit die stable-Version aus der Sarge Distribution laufen), aber sehe wegen der o.a. Lösung jetzt nicht so die Eile geboten ;-)

Kommt Zeit, kommt Rat ... und vielleicht auch eine Lösung.

Grüße

Tino

konkret ·

Hallo!

Habe es mit der Version 0.0.17 geschafft, musste allerdings einige Änderungen vornehmen. Hier mein Weg:

1. Menalto Gallery2 in den Webroot meines Servers installiert, Ordener "/gallery2"

2. die EXT gallery2 in Typo3 installiert, und als Pfad zu Gallery2 folgendes eingegeben:

../../../../gallery2

3. das EXT-Template in mein Template integriert, unter "include static template"

4. Eine neue Seite erstellt und dort das Plugin der EXT eingebaut

5. die Datei "typo3conf/ext/gallery2/pi1/static/setup.txt" folgend abgeändert:

plugin.tx_gallery2_pi1 {
    view = random
    showItem = 0
    nocss = 0
    galleryPage = gallerie.html /*Hier die Seite auf der das Plugin eingebaut ist angeben, kann auch index.php?id=xyz sein, wenn keine statische Simulation*/

    count = 3
    show = title
    maxSize =
    failures = 5
}

6. in der datei "typo3conf/ext/gallery2/mod1/index.php" Zeile 77 so geändert:

$this->g2Path = '../../../../'.$this->api->g2RelPath;

kann auch sein das die sowieso so aussieht.

7. in der Datei "typo3conf/ext/gallery2/lib/class.tx_gallery2_api.php" Zeile 125 so geändert:

if(!$g2path) $g2path = 'gallery2'.$this->api->g2RelPath;

8. Den von der EXT angelegten User "be_xyz" in der Gallery2 zur Admingruppe hinzufügen, damit man im BE auch alles bearbeiten kann.

War ein etwas aufwendiger und steiniger Weg aber bei mir hat es funktioniert.

mfg konkret

holliday ·

Hallo konkret

zunächst herzlichen Dank für Deine Arbeit!

Ich habe alles genau so geändert wie Du es hier vorgeschlagen hast.

Dazu eine Frage:

Mit welchen "Installations-Typ" hast Du die gallery2 installiert?

Standard oder Multiinstallation?

Ich habe die gallery2 als Multiinstallation konfiguriert.

Welche Pfandangabe muß bei der Extension gallery2 zur meiner konf. eingetragen werden? Oder funktioniert diese Extension nur mit der Standard-Installation?

Vielen Dank

Gruß Mike

tim_deluxe ·

hallo zusammen,

ich hab das hier mal überflogen, da ich auch probleme hatte die extension vernünftig zu implementieren.

ich liste mal das auf, was ich alles machen musste, unabhängig davon obs hier schon genannt worden ist oder nicht.

rahmenbedinungen:

  • - gallery2-multisite installation (version weiss ich grad nicht, müsste 2.1 sein)
    - typo3 (4.0.2) als nicht utf8 installiert
    - nutzung der realurl extension
    - extension version 0.0.17

und nun meine änderungen:

anlegen eines symlink im gallery verzeichnis, "modules" muss auf das gleichnamige verzeichnis in der gallery2 codebase zeigen. anlegen mit "ln -sf quelle ziel"

ändern von "typo3conf/ext/gallery2/pi1/class.tx_gallery2_pi1.php an folgenden stellen:

in der function init_gallery

                $ret = GalleryEmbed::init(array(
-                                        'g2Uri' => $this->api->g2DocPath.'/'.$this->api->g2RelPath.'/',
+                                        'g2Uri' => '/gallerypfad/',

-/+ soll verdeutlichen was ich ausgetauscht habe

der pfad der gallery installation sollte bei real url nutzung sinnigerweise auch ausgenommen werden, so dass man im standalone bereich der gallery vernünftig arbeiten kann. also in der generellen .htaccess das hier hinzufügen (ich habe die kurzen url in der gallery installation abgeschaltet, das geht bestimmt auch irgendwie, aber das wollte ich später erst versuchen):

RewriteRule ^gallerypfad$ - [L]
RewriteRule ^gallerypfad/.*$ - [L]

da ich meine typo3 installation leider nicht als utf8 installiert hab, bin ich natürlich über das zeichendarstellungsproblem gestolpert. der hier angesprochene typoscript-tipp stellt zwar die gallery zeichen wunderbar dar, aber zerstört dafür das übrige erscheinungsbild (menütexte etc)

also schleuse ich die komplette gallery ausgabe durch die gallery eigene funktion um die entsprechenden entities zu erzeugen. also wieder in der o.g. extension klasse, aber diesmal bei der function main:

                        default: # gallery
-                                $out .= $this->gallery();
+                                $out .= GalleryUtilities::utf8ToUnicodeEntities($this->gallery());
                                break;

wer die anderen ansichten auch nutzt (random o.ä.) sollte die funktion auch vor jene stellen setzen... aber wie gesagt nur bei einer nicht-utf8 typo3 installation!

den gallery pfad im typoscript habe ich einfach leergelassen, weil dummerweise in zusammenhang mit real url immer die falschen pfade erzeugt wurden, und keine bilder angezeigt wurden:

galleryPage =

in zusammenhang mit oben hart eingehängten pfad funktioniert nun alles wunderbar.

ich werde mich die tage mal daran begeben, die optionen für die gallery auch in ne lesbare url zu stecken (entweder über die gallery oder real url)

das ist alles was mir jetzt eingefallen ist. wer das in aktion sehen möchte bitte mich kurz kontaktieren (möchte die url hier ungerne spreaden)

konkret ·

Hallo holliday!

Hab gallery2 als Standard installiert.

Typo3 Version 4.0 in UTF-8.

Kann leider nicht sagen was bei der Multisite Inst. zu ändern ist.

mfg konkret

Unbekannter Benutzer ·
tinoweb schrieb

Beim Einbinden von neuen Inhalten (Plugin - Gallery2) bekomme ich den Fehler

Warning: implode(): Bad arguments. in /var/www/web0/html/tinocc/typo3conf/ext/gallery2/class.tx_gallery2_albumview.php on line 109

Etwas späte Antwort, aber für die Nachwelt ...
Ich denke (bin mir eigentlich sicher), dass das daher rührt, dass Gallery2 eine andere Datenbank benutzt als typo3.

In class.tx_gallery2_albumview.php steht das hier (in Funtion getAlbumArray):

$data = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows($select,$from,$where,$groupBy,$orderBy,$limit,'g_id');

Die Abfrage geht an die typo3-Datenbank, und wenn da nix ist mit Gallery2, bleibt sie leer bzw. fehlerhaft.

Ich habe die Funktion ein wenig erweitert und bei mir funktioniert's:

function getAlbumArray($parentid=0){
		$select = 'a.g_id,i.g_title';
		$from = '('.$this->g2table['album'].' a INNER JOIN '.$this->g2table['childentity'].' c ON a.g_id=c.g_id) INNER JOIN '.$this->g2table['item'].' i ON c.g_id=i.g_id';
		$where = 'c.g_parentid='.$parentid;
		$orderBy = 'c.g_id';
		//$data = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows($select,$from,$where,$groupBy,$orderBy,$limit,'g_id');
		
		// Änderungen START
		// Parameter anpassen
		$g2db_link = mysql_connect('DATABASE_HOST', 'DATABASE_USER', 'DATABASE_PASSWORD');
		// Parameter anpassen -> Gallery2-Datenbank angeben
		$g2db = mysql_select_db('DATABASE', $g2db_link);
		$g2_out = mysql_query('SELECT '.$select.'	FROM '.$from.' WHERE '.$where.' ORDER BY '.$orderBy, $g2db_link);
		$data = array();
		while($tempRow = mysql_fetch_assoc($g2_out))	{
			$data[$tempRow['g_id']] = $tempRow;
		}
		mysql_close($g2db_link);
		// Änderungen END		

		$out = array();

		if($data) {
			foreach($data as $k=>$v) {
				$out[$k]=$v;
				$out[$k]['sub']=$this->getAlbumArray($v['g_id']);
				unset($out[$k]['g_id']);
			}
		}

		return $out;
	}

Parameter anpassen, dann sollte es funktionieren.

Blackgentoo ·

hallo, ich hab da auch nochn prob mit gallery2
also, wenn ich in
pi1/static/setup.txt
galleryPage = fotos.html
eintrage, dann funktionieren die ganzen stylesheet und foto links einwandfrei und ich seh meine gallery normal, aber wenn ich dort aufn link klicke, wird das nicht korrekt verlinkt, es kommt dann nur ?g2_itemId=46 anstatt fotos.html?g2_itemId=46

wenn ich das galleryPage = fotos.html weglasse, wird zwar alles korrekt verlinkt, aber ich sehe keine fotos und die stylesheets werden auch nicht eingebunden, weil er dann den pfad für die teile falsch setzt... da setzt er dann noch meine unterordner, welcher hp heißt davor, wodurch dann wieder nichts geht...

derFuzzy ·
Blackgentoo schrieb

hallo, ich hab da auch nochn prob mit gallery2
also, wenn ich in
pi1/static/setup.txt
galleryPage = fotos.html
eintrage, dann funktionieren die ganzen stylesheet und foto links einwandfrei und ich seh meine gallery normal, aber wenn ich dort aufn link klicke, wird das nicht korrekt verlinkt, es kommt dann nur ?g2_itemId=46 anstatt fotos.html?g2_itemId=46

wenn ich das galleryPage = fotos.html weglasse, wird zwar alles korrekt verlinkt, aber ich sehe keine fotos und die stylesheets werden auch nicht eingebunden, weil er dann den pfad für die teile falsch setzt... da setzt er dann noch meine unterordner, welcher hp heißt davor, wodurch dann wieder nichts geht...

dito!

Was mir aufgefallen ist

wenn man über links auf ein Album gehen will ist das der Link
index.php?id=28&g2_highlightId=14
Wenn man über ein Bild in das Album geht ist das der Link:
index.php?id=28&g2_itemId=14

EDIT2:
Im Backend funktuniert das mit den BreadCrumb.

elTorito ·

Hallo,

ich bin der Anleitung von "konkret" gefolgt und soweit gekommen das ich im Backend unter Benutzer den Menüpunkt Galelry2 habe, dort klicke und auch die Gallerie zur Ansicht bekommen. Alles wunderbar scheinbar.

Meine Problem faengt derzeit bei der Darstellung im Frontend an, ich bind das Plugin in eine Seite ein, und erhalte im Browser eine Leere Seite , im FireFox wird mir kein QUelltext angezeigt und im IE (6.0) Bekomme ich die Meldung das Die Seite nicht angezeigt werden kann.

Nun hab ich ein bischen gegoogelt und das ganze irgendwie mit FlexForm in Verbindung gebracht, liegt hier mein Problem?

Hier der Link auf welchen das Backend verweist: http://mb-freunde-nrw.de/typo3conf/ext/gallery2/mod1/index.php?g2_itemId=14

Hier der Link zur Frontendseite wo das ganze dargestelltwerden sollte:
http://mb-freunde-nrw.de/index.php?id=343

Meine Setup.txt

plugin.tx_gallery2_pi1 {
	view = gallery
	showItem = 0
	nocss = 0
	galleryPage = index.php?id=343 /*Hier die Seite auf der das Plugin eingebaut ist angeben, kann auch index.php?id=xyz sein, wenn keine statische Simulation*/
	count = 3
	show = title
	maxSize =
	failures = 5
}

Localconf.php:

...
// Updated by TYPO3 Extension Manager 15-10-2007 22:15:15
$TYPO3_CONF_VARS['EXT']['extConf']['gallery2'] = 'a:2:{s:9:"g2RelPath";s:8:"gallery2";s:9:"g2mainMod";s:3:"User";}';       //

Mir fällt grad nichts ein wie ich den Fehler weiter eingrenzen soll weil ich keinerlei Fehlermeldungen erhalte. 🙁 #angry#

Danke...

elTorito ·

Bekomme jetzt mein Normales Template zu sehen.
Fehler mal wieder keine, aber auch keine Gallery Ansicht.

Gallery Extension ist installiert.
Im Backend kann ich unter dem Menü Benutzer den Gallery Link anklicken und wird angezeigt.

Habe Gallery2 im template bei Include Static Template Gallery2 eingefügt.

Nun ist wieder guter rat teuer.

#paralyzed#

Danke.

PS: EDIT:
Hmm. Wenn ich nun im Plugin die Eigenschaft Anzeige auf "Galerie" setze, bekomme ich wieder eine Leere Seite zu sehen. Setze ich die Eigenschaft "Anzeigen" auf Neuste Bilder oder was anderes bekomm ich wieder mein "normales" Template zu sehen...

Strange ... 😢 #angry#