Neuigkeiten:

moziloCMS verwendet Cookies. Wenn Sie auf unserer Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu Datenschutzerklärung
moziloCMS Layouts
moziloCMS Plugins

Hauptmenü

Fußnoten mit Anker und Link...

Begonnen von Karsten Meyer, 07. Dezember 2011, 11:02:20

« vorheriges - nächstes »

Karsten Meyer

Hallo zusammen,

ich möchte in einem längeren Text gern anklickbare Fußnoten erstellen, ähnlich wie in der Wikipedia. Zumindest möchte ich erreichen, dass man von der Referenz-Zahl "oben" zur Fußnote runter springen kann. Der Gipfel des Luxus' wäre natürlich, wenn man von der Fußnote unten auch (wieder) hoch springen könnte, aber eins nach dem anderen.

Das Aussehen war einfach. Dazu habe ich mir ein benutzerdefiniertes Syntaxelement erstellt, das den Wert (bei mir eine Ziffer) hochstellt und in eckige Klammern setzt:
FNZahl = <sup>[{VALUE}]</sup>

Nun kann ich "oben", wo ich auf eine Fußnote referenzieren möchte, schreiben [FNZahl|1] - was [1] ausgibt. Sehr schön.
"Unten", bei der Fußnote, schreibe ich erstmal das gleiche.

Nun benötige ich "unten", also bei der Fußnote, einen Anker - folglich habe ich das Plugin "individuelle Anker" installiert, mit der Einstellung: Art der Ausgabe: Nach dem leeren Anker.
Also schreibe ich unten:
{anker|[FNZahl|1]} Fußnotentext...

(Mit dem FireFox-AddOn "WebDeveloper" kann ich mir die Anker einblenden und ich sehe, dass der heißt: #a__sup__1___sup_ )
Wenn das mal gut geht... ;-)

Oben brauche ich den Ankerlink, wofür es auch ein Plugin gibt. Laut Syntax schreibe ich daher:
{ankerlink|[FNZahl|1]}

Und - ich hätte es nie geglaubt - das funktioniert! Ich kann auf die Referenznummer oben klicken und der Browser springt zur Fußnote!

Das ist so großartig, dass ich dem Macher Arvid "azett" ein dickes Lob, verbunden mit einem großen Dankeschön aussprechen möchte.

An die Umkehrung, den Link von unten nach oben, wage ich mich jetzt nicht ran, erst muss ich noch ein paar Inhalte schreiben...

Schönen Gruß,
Karsten

hausl78

#1
Du kannst dem body Tag direkt im template.html eine id geben (<body id="..">) - sofern er noch keine hat - und diese ist dann auch direkt "anspringbar" ;-)

LG

Karsten Meyer

#2
Zitat von: "hausl78"Du kannst dem body Tag direkt im template.html eine id geben (<body id="..">) - sofern er noch keine hat - und diese ist dann auch direkt "anspringbar" ;-)

Danke für den Tipp - den ich in der Form noch nicht kannte. Aber mit "oben" meinte ich natürlich die Fußnotenziffer, über die ich nach unten kam!

Guck mal, wie fein das in der Wikipedia gemacht ist, als beispiel bei //de.wikipedia.org/wiki/Konstanz_(1928). Dort gibt es (unten) neben den Fußnotenziffern einen kleinen senkrechten Pfeil, der einen nach oben zur Referenz bringt.

Schönen Gruß,
Karsten

_ric_

#3
Kannst du nicht das Verfahren umkehren, also oben im Text bei der Fußnotenzahl einen (unsichtbaren) Anker setzen und unten, am Ende der Fußnote zu diesem Anker verweisen?
VG,
Erich

Karsten Meyer

#4
Ja, irgendwie so wird das gehen müssen, aber auf jeden Fall braucht der Rück-Verweis einen anderen Anker, denn jeden Anker darf es ja nur einmal geben...

wasp

#5
Hallo!
Wenn es um optionalen bzw. erklärenden Zusatztext auf der gleichen Seite geht, finde ich statt hin- und herhüpfen, tooglen effektiver aber das ist Geschmackssache... TOOGLE ist ein Plugin von stefanbe, das auch die IDs automatisiert setzt und Bilder,Tabellen etc. enthalten darf... ("Aha!"-Effekt)
DEMO:
http://www.fransch.de/index.php?cat=Rechtsschutz&page=FAQ%20Rechtsschutz
oder mit Tabelle drin, ab "Übergangsgebührnisse"
http://www.holst-security.de/cms/index.php?cat=HOLST-Academy&page=F%C3%B6rderungsoptionen

 :arrow:  Zurück zur Frage & Ggf. (einfachste) Lösung  :idea:
Ansonsten wäre ggf. Syntaxelement wie dies hilfreich:
backlink = <a href="javascript:window.back()">Zurück</a>Damit sollte der Browser an die letzte Linkposition zurückkehren ...
Hintergrund/Definition siehe http://de.selfhtml.org/javascript/objekte/window.htm#back

Der JS-Aufruf an sich ist bzgl. "window" m.E. somit etwas irreführend...

Rainer

#6
Mei, was(p) sag ich da nur  :o
Sollte wohl öfter mal ins Plugin-Archiv schauen, was einem da sonst noch alles neu und unbekannt ist.  :lol:
moziloCMS über Facebook bekannt machen
•• moziloCMS auf GitHub
••• Nichts ist einfacher, als das, was uns fremd ist, zu verachten.
•••• Mein moziloCMS

_ric_

#7
Zitat von: "wasp"... TOOGLE ist ein Plugin von stefanbe, das auch die IDs automatisiert setzt und Bilder,Tabellen etc. enthalten darf... ("Aha!"-Effekt)
Das ist ja mal ein cooles Plugin.
Kannte ich gar nicht. Gleich mal vormerken für später!

wasp

#8
... und für beide Wege sprechen "100% eingeschaltetes Javascript" bei den letzten Projekten (...) mit doch recht vielen Besuchern eine deutliche Sprache: JS hat offenbar sein Stigma verloren, bzw. ohne geht nix mehr (richtig) ... dennoch sollten beide Lösungen "fallback-safe" sein.  :)
Achtung Abschalter: Bin da etwas dickfellig ... Extra Abschalten gilt nicht - Werde dsbzgl. auch kaum antworten...

Karsten Meyer

#9
Zitat von: "wasp"Wenn es um optionalen bzw. erklärenden Zusatztext auf der gleichen Seite geht, finde ich statt hin- und herhüpfen, tooglen effektiver aber das ist Geschmackssache... TOOGLE ist ein Plugin von stefanbe, das auch die IDs automatisiert setzt und Bilder,Tabellen etc. enthalten darf...
Das ist ja wirklich mal eine tolle Idee! Klar, dass sowas nur mit JS geht, und früher hätte ich sowas abgelehnt, aber die Zeiten ändern sich - was ich durchaus auch bemerkt habe!

Das schönste ist (in meinen Augen): Selbst beim Druck (zumindest in der Vorschau) bleibt das offen, was offen war. Bei meiner Klientel muss ich nämlich von einigen Internet-Ausdruckern ausgehen... ;-)
Und so Dinge wie Tooltips o.ä. gehen da wirklich nicht.

Zitat von: "wasp"Ggf. (einfachste) Lösung  :idea:
Ansonsten wäre ggf. Syntaxelement wie dies hilfreich:
backlink = <a href="javascript:window.back()">Zurück</a>Damit sollte der Browser an die letzte Linkposition zurückkehren ...
Hintergrund/Definition siehe http://de.selfhtml.org/javascript/objekte/window.htm#back]

Auch das klingt sehr interessant - und vor allem viel einfacher zu implementieren. Werde ich auf jeden Fall probieren.

Ganz, ganz herzlichen Dank, wasp!


PS: Natürlich hab ich auch mal über die "ganz große" Lösung nachgedacht: Ein Plugin, das die Verwaltung der Fußnoten je einer Seite in die Hand nimmt. Sprich: man schreibt diese kodiert an die Stelle des Auftretens, und das Plugin nummeriert diese und setzt sie ans Ende. Das wäre aber vermutlich 1 Mannjahr Arbeit und dann wäre die Frage: Wer  braucht's?
Da lobe ich mir dann doch solch pragmatische Lösungen.

wasp

#10
... bzgl. PRAGMA-Denken sind dies lediglich Ansätze, die ich von stefanbe lernen durfte...   :ugeek:  ... wenn es geholfen hat, gut.  8-)

Karsten Meyer

#11
Habe folgende Idee mal eben probiert
Zitat von: "wasp"Ansonsten wäre ggf. Syntaxelement wie dies hilfreich:
backlink = <a href="javascript:window.back()">Zurück</a>Damit sollte der Browser an die letzte Linkposition zurückkehren ...
Hintergrund/Definition siehe http://de.selfhtml.org/javascript/objekte/window.htm#back
Der JS-Aufruf an sich ist bzgl. "window" m.E. somit etwas irreführend...
Eingebaut habe ich [html|<a href="javascript:window.back()">Zurück</a>]Im FireFox 8 tut's ebenso wie in Opera 11.52 (alles auf XP)
Allerdings etwas anders, als ein echter Rück-Link mit Anker funktionieren würde. Es wird nämlich exakt die letzte Fensterposition angefahren. D.h. die Sprungstelle ist nicht ganz oben im Fenster, sondern dort, wo sie beim Klick darauf auch war.
Vorteil aber: Der URL ist wieder der alte, d.h. ohne den Anker. Was ich als Vorteil empfinde, weil dann z.B. bei F5 nicht wieder die Anker-Stelle angefahren wird. Oder wenn man sonstwas mit dem URL machen möchte.

Im IE8 tut's nicht, da meldet die Statuszeile "Fehler auf der Seite".

In Chrome 15 tut's nicht, ohne jede Meldung.

Ich fürchte, ich kann das nicht emfpehlen.

Schönen Gruß,
Kasten

hausl78

#12
Nur als Info...

Du kannst JS anweisen wenn ein # im URL ist, das es dann zB zwei Seiten zurück geht. Ich hab das mal bei einem anderen Projekt verwendet wenn jemand zuerst über /index.php#top nach oben ging und dort dann auf Zurück klickte dann passierte nicht viel weil /index.php#top -> /index.php.
(könnte man theor. zB auch ao umbauen das, das "er" zurückgeht bis kein Hash mehr in der URL ist (rekrursiv).)

JS-Funktion:
// Funktion für Zurück-Link, damit auch das mit #top funktioniert.
function goBack() {
    if (location.hash) {
        return history.go(-2);
    } else {
        return history.back();
    }
}

Link in der Seite:
<a href="javascript:goBack()">Zurück</a>
LG

wasp

#13
@Karsten: Wenn Du als (Rück-)Sprungziel einen Bereich z.B. "über"/"unter"(/"neben"...) dem Ursprungslink haben willst, sollte nichts dagegensprechen es via <a name="MEINTARGET">leerodername</a> ... zu definieren (Gerne auch innerhalb des Links die Submenueüberschrift) und via <a href="MEINTARGET"></a> wieder anzusprechen ... oder verstehe ich Dich falsch ?
Sollten beide dann ggf. auch als Syntaxelemente mit je 1 Var. funzen. Das allerdings diverse neuere Browser dies lt. Deiner Info offenbar anders interpretieren, bedarf bei Zeiten Nachforschung - Das wäre ja schlimm... P.S.: Aber "der hausl" hat das was ... glaube ich! siehe auch http://de.selfhtml.org/javascript/objekte/history.htm - JS ist komplex, vielfältig und die neue,alte Macht!


@(der)hausl: :idea:  :!:  Ahhh... thx!  :lol: