Link formartieren in Abhängigkeit vom Ziel
am 28.12.2010 - 09:01 Uhr in
Hiho,
Ich habe diverse Links in meinen Beiträgen, die auf eine Art Wiki verweisen (eigener Inhaltstyp). Diese Links sollen eigentlich nicht geöffnet werden sondern mittels des Colorbox Moduls nur drüber gelegt werden. Dazu ist es aber nötig, dass die Links angepasst werden. Leider erstellt das Modul Link Intelligence dies nur als normale Links ein, ohne spezielle CSS Klasse o.ae. wo man das anheften könnte.
Gibt es somit ein Modul, dass meine Links checkt auf deren Ziel? Gesehen hab ich schon mal die Unterscheidung nach interner und externer Link, aber ich bräuchte ja eine Unterscheidung nach Inhaltstyp.
Sprich ein Modul was prüft:
Link verweist auf Typ Wiki: formatiere Link besonders (z.B. Gelb hinterlegt) und oeffne ihn im Overlay
Andernfalls: formatiere Link wie üblich (z.B. blau unterstrichen) und oeffne ihn als neue Seite
Ich dachte eigentlich ich bin auf einem sehr guten Weg, aber diese Linkerei bringt gerade alles zum Einsturz. Hat einer ne gute Idee? Leider ist die Suche nach einem passenden Modul recht schwierig, da Link ein sehr beliebtes Wort ist und die Suche leider keine UND verknüpfung kennt :(
Da die Links "automatisch" erstellt werden (und auch sollen) scheidet leider die Möglichkeit aus dies mittels eines WYSIWYG-Editors und speziellen Link-tag zu machen. Das wäre bei meinem Vorhaben ein unendlich großer Aufwand, da einige hundert Wiki-einträge angedacht sind und noch mehr Inhaltsseiten. Wer soll das denn alles auf crosslinks prüfen? :)
Ich hoffe es wird deutlich wo mein Problem ist. Vielleicht hab ich auch nen total falschen Ansatz, aber ich komme nicht weiter.
Einen Link auf die Liveseite kann ich leider nicht bieten, da es alles noch lokal in der Testumgebung ist (und derzeit kein Drupal 6 fähiger Webspace vorliegt).
Achso das wichtigste:
Drupal 6.19
Colorbox plugin 1.3.15
MySQL-Datenbank 5.1.41
PHP 5.3.1
Webserver Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
jQuery Update 1.3.2
- Anmelden oder Registrieren um Kommentare zu schreiben
Ist das Wiki über einen
am 28.12.2010 - 10:00 Uhr
Ist das Wiki über einen bestimmten wiederkehrenden Pfad erreichbar, der sich aus der Zielurl herauslesen ließe? Wenn ja könntest du als dirty-Lösung Custom filter nutzen und einen regulären Ausdruck auf die Links setzen, der dann automatisch die benötigte Klasse für die Formatierung + Overlay mitgibt.
leider nein. Meine
am 28.12.2010 - 10:05 Uhr
leider nein. Meine Wiki-Einträge sind ganz normale Nodes und somit ist der Pfad nicht zu unterscheiden. Heißen alle node/7 node/8 etc, genauso wie die "richtigen" Seiten.
Mit Custom filter kann im
am 28.12.2010 - 11:32 Uhr
Mit Custom filter kann im "Replacement Pattern" PHP ausgeführt werden. Meine Idee: Filter mit einem regulären Ausdruck die URLs heraus inklusive Node-ID. Mittels PHP Funktion node_load() kannst du dann den Inhaltstypen des Nodes auslesen und den Link zurückgeben. Das kannst du dann in Abhängigkeit, ob nun Wiki oder nicht, setzen.
Aber vielleicht gibt es ja doch noch eine ganz andere Lösung?
Soll es das echt schon gewesen sein
am 30.12.2010 - 10:34 Uhr
Hiho,
ich danke allen die sich die Mühe gemacht haben bisher. Aber ich bin ein wenig enttäuscht von Drupal. Bisher schien wirklich alles möglich aber hier habe ich wohl etwas gefunden, wo Drupal offenbar machtlos ist (oder noch nicht weit genug entwickelt wurde).
Die Idee mit Custom Filtern zu arbeiten klingt zwar gut, fällt aber flach, weil die Links ja nicht manuell erstellt werden sondern automatisch vom Modul. Dieses gibt leider keine Möglichkeit darauf eingriff zu nehmen. Ich denke das einfachste wäre es, das Modul zu hacken und diese Möglichkeit einzubringen. Da ich aber von dem ganzen Quellcode von Drupal bisher keine Ahnung habe, überlass ich das mal dem Entwickler. Entsprechender Vorschlag ist eingereicht.
Falls jemanden doch noch etwas einfällt wie man das Problem lösen kann: ich bin nach wie vor daran interessiert es zu hören ;) Ich selbst hab leider keine Ideen mehr :(