image image


Worknote: Next-Prev-Links

Für die Navigation auf die nächsten und vorherigen Seiten werden vier Bilder verwendet. Jeweils die schwarzen Pfeile, die die Navigation auf die vorherige resp. nächste Seite anzeigen und eine angegraute Version, die bedeuten soll, daß es (noch) keine vorherige oder nächste Seite gibt:

image image image image

Ursprünglich hatte ich die grauen Pfeile weggelassen, dann aber sprang auf der jeweils ersten und letzten Seite der aktive Pfeil auf eine andere Position und erschwerte so die Navigation.

Das Ruby-Skript, das die Navigation erzeugt, ist ziemlich simpel:

def nextprevlinks()
  p, n = html.getNextPrev(adrObject)
  ntitle, npath = html.getTitleAndPaths(n) if n
  ptitle, ppath = html.getTitleAndPaths(p) if p
  rel_to_top = adrsiteroottable.relative_uri_from(adrobject)
  s = ""
  if p
    s << "<a href=" + rel_to_top + ppath + ">" + imageref("arrow-left") + "</a>"
  else
    s << imageref("arrow-left-grey")
  end
  s << " &nbsp; "
  if n
    s << "<a href=" + rel_to_top + npath + ">" + imageref("arrow-right") + "</a>"
  else
    s << imageref("arrow-right-grey")
  end
  "<p>#{s}</p>\n"
end

Erst wird mit html.getNextPrev(adrObject) abgefragt, ob vorherige und nächste Seiten existieren, wenn ja werden Pfad und Titel in entsprechende Variablen abgelegt und dann wird schlicht und einfach abgefragt, d.h. wenn sie existieren wird der Link mit dem schwarzen Pfeil gesetzt, wenn nicht kommt der angegraute Pfeil zum Einsatz.

[Update]: Nach dem Update auf RubyFrontier 1.1.2 waren ein paar kleine Änderungen an dem Makro notwendig, die ich hier dokumentiert habe.

(Kommentieren)  Next-Prev-Links bitte flattrn




Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!

Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.


Werbung


Werbung


image  image  image
image  image  image