Seite 1 von 1

Lighview mit vorhandene BBCodes verzahnen?

Verfasst: 27.08.2010 21:36
von Kampf Katze
Ich nutze schon seit langer Zeit sehr gerne das Javascript von Lightview (http://nickstakenburg.com/projects/lightview/) und habe dies auch schon erfolgreich in mein Demoforum (nicht öffentlich zugänglich) integriert. Manuell eingefügte Links mit entsprechenden HTML Befehl werden in Lightview locker verarbeitet.

Ebenfalls habe ich auch schon geschafft einen neuen BB Code über die Administration ein zu gliedern die den Lightview-Befehl auslöst. Jedoch möchte ich nun einen Schritt weiter gehen...

Ich würde gerne das alle Links die User posten in einem iFrame von Lightview geöffnet werden. Am besten wenn der User z.B. den BB Code

Code: Alles auswählen

[url]
verwendet. Aber eben auch die normalen Links in einem Beitrag (soweit möglich).

Der nächste Schritt währen auch Bilder, Filme so wie Flashgeschichten. Eben das ganze Spektrum das Lightview unterstützt. Wobei ich bei Bildern aktuell noch das problem sehe, dass phpBB keine Thumbnails generiert. Das Theme (Nose Bleed oder so ähnlich) welches ich als Grundlage genommen habe, skaliert Bilder automatisch auf die Forumsbreite bzw. beitragsbreite, es ist aber eben kein korrektes Thumbnail + Original. Also ist das mit den Bildern erst einmal sekundär. Filme und so weiter kann man ja ggf. durch links so einbinden.

Nun denn, wenn einer Ideen hat, her damit. Ich habe bisher nur heraus gefunden das die vorhandenen bbCodes offensichtlich in der /includes/bbcode.php verarbeitet werden.
Speziell dieser Part hier:

Code: Alles auswählen

'#\[url:$uid\]((.*?))\[/url:$uid\]#s'			=> $this->bbcode_tpl('url', $bbcode_id),
ist offensichtlich für den Link verantwortlich, also das er als Link korrekt angezeigt wird. Entferne ich diesen Part, erscheint der nackte bbCode im Forum ohne aktive URL. Wie ich da nun aber z.B. ein Befehl wie rel="iFrame" reinpacken kann, übersteigt mein Wissen oder Verständniss hinsichtlich Programmierung. Vielleicht bin ich dort ja aber auch total falsch in diesem Dokument.

Re: Lighview mit vorhandene BBCodes verzahnen?

Verfasst: 28.08.2010 15:18
von Kampf Katze
Also ich bin ein kleines Stück weiter gekommen.

Und zwar konnte ich über die Datei bbcode.html, welche sich im template Ordner des jeweiligen Styles befindet, ein paar relevante Definitionen für die HTML Kette hinzufügen. Allerdings ist diese Lösung mehr oder weniger erstmal nur für Links geeignet welche in einem iFrame geöffnet werden. Für den iFrame kann man eine feste Größe festlegen wie z.B. 1024 x 768 Pixeln. Mit der Standardgröße sollte fast jede verlinkte Internetseite gut sichtbar sein innerhalb des iFrames, ohne das man nach links oder rechts scrollen muss.

Sucht in der genannten html Datei nach:

Code: Alles auswählen

<!-- BEGIN url --><a href="{URL}" class="postlink">{DESCRIPTION}</a><!-- END url -->
Tauscht dies aus gegen:

Code: Alles auswählen

<!-- BEGIN url --><a href="{URL}" class="lightview" rel="iframe" title="Linkueberschrift :: Linkinfo :: width: 1024, height: 768">{DESCRIPTION}</a><!-- END url -->
Linküberschrift und Linkinfo kann man weglassen oder austauschen gegen andere Hinweise oder Infos, jedoch sind diese Infos an der Stelle fix. Ich habe in meinem Fall einen kleinen Hinweis geschrieben, dass ich für externe Links nicht verantwortlich bin. Als regeln gelten diese von Lightview aus der Dokumentation.

Sichert man nun das Dokument auf dem Server, werden in Zukunft alle Links in phpBB, welche mit dem URL Tag eingebunden wurden, in Lightview geöffnet.

Etwas ähnliches kann man dann auch bei Bildern machen, so weit der User ein Original und ein Thumbnail hochlädt und dies entsprechend ins Forum einbindet. Leider eben wie gesagt dann auch mit dem Fixwert bei der Größe, weil ich dafür noch keine andere Lösung gefunden habe. Eigentlich kann Lighview ja die Bilder automatisch skalieren auf die Fenstergröße des Browsers.

Da bei der Verlinkung des Bildes in phpBB auch der URL Tag genutzt wird, muss nichts weiter modifiziert werden. Es reicht eine typische Einbindung wie diese:

Code: Alles auswählen

[url=URL ZUM ORIGINAL][img]URL ZUM THUMBNAIL[/img][/url]