realisierung eines (kleinen) lexikons
am 09.09.2008 - 03:48 Uhr in
liebe drupal enthusiasten,
ich hätte da eine frage. und zwar würde ich gerne ein kleines lexikon auf meinem aktuellen projekt realisieren. bitte seht euch dazu mal die screens an.
url: www.matuk.de/lexikonfrage
1. variante:
das problem dürfte hier wohl die ausgabe sein. das alphabet liesse sich ja evtl. noch irgendwie statisch machen. aber wie diese „doppelte ausgabe“ lösen? also sämtliche begriffe eines anfangsbuchstabens in der mittleren spalte und dann der spezielle, angeklickte begriff in der unteren spalte?
2. variante:
evtl. einfacher(?) aber nicht so schön. irgendwie aber selbe problematik wie unter 1.
3. variante:
lösung mittels pop-up. alle begriffe tauchen im content-bereich unter ihrem jeweiligen anfangsbuchstaben auf. spezieller begriff wird im pop-up erklärt.
4. variante:
wie 3. nur mittels „light-box“.
was meint ihr, lässt sich das irgendwie machen? und wenn ja mit welchen modulen? bitte sagt mir nicht ich müsse das so und so „coden“, bin totaler php-noob.
besten dank und grüsse vom dude
- Anmelden oder Registrieren um Kommentare zu schreiben
Hi Dude, klasse, deine Frage
am 09.09.2008 - 10:36 Uhr
Hi Dude,
klasse, deine Frage ist mir grade sehr nahe!
Bin auch totale Drupal-Anfängerin, doch befasse ich mich in der Planung für eine Drupal-Seite auf schreibimpulse.de grade mit einer ähnlichen Frage: eine kleines Lexikon mit Begriffen rund ums Schreiben. Ist noch nicht sicher, ob das realisiert wird, doch bin ich eben noch am spielen, um Drupal kennen zu lernen und probiere so allerlei aus.
Zu deiner Frage: Ich konzentriere mich mal auf die Variante 1 + 2, da ich PopUps nicht mag.
A. Die schlichte, aber nicht perfekte Lösung:
Man erschafft einen Block "Alphabet", der die Buchstaben-Links enthält. Bei Klick auf den Hauptlink "Lexikon" (der in irgend einem Menüblock steht), erscheint im Content-Bereich die Lexikon-Startseite - mit einem Intro-Text und der Alphabet-Navi oberhalb des Textes, bzw. oberhalb der Überschrift. Klickt man auf einen Buchstaben, erscheint die erste "Lexikonseite", für die ein eigener Inhaltstyp "Lexikonseite" geschaffen wird.
Das "Unperfekte" an dieser Variante:
Man behandelt den Block "Alphabet" als unabhängig von der jeweils sichtbaren einzelnen Lexikonseite (er ist also ohne STATUS-Anzeige, bei welchem Buchstaben man gerade ist). Den Block kann man links unter die Navi setzen (deine Variante 2) ODER in eine im Theme anzulegende "region" namens ContentHead (platziert im oberen Contentbereich) -> deine Variante 1.
Gleichwohl wird in meinem Plan der Block "Alphabet" nur auf den Seiten sichtbar, die erscheinen, wenn man auf Lexikon klickt (also auf dem Introtext und den Einzelseiten).
Klickt nun der User auf einen Buchstaben, erscheint die gewählte Seite, z.B. Seite "A". Das ist der Inhaltstyp "Lexikonseite", der MEHRERE FELDER enthalten müsste:
Klickt der User auf einen anderen Auswahlbegriff, erscheint entsprechend dessen Seite - ebenfalls wieder mit der Begriffsauswahl und dem ersten Text. Der Block mit dem Alphabet bleibt währenddessen unverändert.
Nachteile: keine Statusanzeige im Alphabet, zudem ist das alles "händisch/statisch" zu coden, wenn ein neuer Begriff bei "A" hinzukommt, sind händisch ALLE A-Seiten um diesen Begriffslink zu ergänzen.
Etwas bessere VARIANTE: man könnte den Menüblock "Alphabet" auch als oberstes Feld im Inhaltstyp "Lexikonseite" anlegen - also NICHT unabhängig von den Einzelseiten. Das hätte den Vorteil, dass man eine Status-Anzeige hätte, indem der jeweils aktuelle Begriff nicht verlinkt wird.
Fragen an die Gemeinde:
Eine noch recht weit voraus gedachte Zusatzfrage:
Wäre es theoretisch möglich, das Ganze auf eine Art anzulegen, die es zulässt, die Lexikonseiten zusätzlich separat anzuzeigen - also frei von den zum Gesamtprojekt gehörenden Elementen, die sich rundrum in den Sidebars etc. noch ansammeln?? Ich lese z.B. von den Views und frage mich, ob das damit machbar ist. Wär doch nett, wenn man das Ganze nicht nur als Teil des Projekts, sondern auch noch als "gefühlte stand-alone Website" anbieten könnte.
Wäre super, wenn jemand was zur einen oder anderen Frage sagen könnte!
Warum nicht einfach das Glossary-Modul?
am 09.09.2008 - 10:45 Uhr
Ich habe die Frage nur überflogen, es drängt sich mir aber das Glossary-Modul auf; bei Bedarf hätte ich eine fast fertige deutsche Übersetzung...
Viel einfacher Man baut sich
am 09.09.2008 - 11:03 Uhr
Viel einfacher
Man baut sich eine VIew mit argument Nodetitle:
Dort kann man GlossaryMode aktivieren
Dann braucht man nur noch im header sowas wie
A
usw. bauen
2.
<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
if ($node->type == 'page') {
return true;
}
}
return false;
}
?>
3. Klar geht sowas mit CCK: http://www.drupalcenter.de/handbuch/2742
4. s.h. 1
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
Warum NICHT das Glossary-Modul
am 09.09.2008 - 11:15 Uhr
Danke für deine Anregung!
Hab es überflogen und denke, dass es zumindest für mein Schreiblexikon nicht das Richtige ist, denn es ist "term-basiert" und nicht "node-basiert" - wogegen ich auf den Einzelseiten recht viel Stoff unterbringen will, der über eine Mini-Definition hinaus geht. Zudem ist mir der Bereich "Lexikon" als anzusurfender und zu durchstöbernder Bereich wichtiger als eine etwaige Verbindung der definierten Begriffe mit allüberall im Gesamtcontent auftauchenden Begriffen (als Zusatz ist das nett, aber "das Lexikon" muss es auch mit eigener Navi geben, wie ich es beschrieben habe).
Bin aber beim Forschen auf ein Modul namens G2 gestoßen, das evtl. näher am Bedarf ist, da node-basiert (hier der Vergleich mit glossary) - erstmal interessiert mich aber, wie es mit Bordmitteln geht, denn an sich ist das doch eine aus früherem Webdesign bekannte "simple zweistufige Navi mit "Binnenmenüs", deren Realisierung ich gerne nicht nur bezüglich des Lexikons lernen würde.
danke und noch eine frage
am 13.09.2008 - 16:05 Uhr
Viel einfacher
Man baut sich eine VIew mit argument Nodetitle:
Dort kann man GlossaryMode aktivieren
Dann braucht man nur noch im header sowas wie
A
usw. bauen ...
vielen dank dereine! das war schon mal eine grosse hilfe!
ein kleines problem hab ich noch: und zwar verlinken die schlagworte des lexikons ja auf die einzelnen nodes. in welchen das alphabet dann natürlich fehlt. nun war mein gedanke ich lege einen block mit dem alphabet an, der nur angezeigt wird wenn man sich im "lexikon" befindet. so weit so gut. nun möchte ich den block aber noch themen, weil mich u.a. die überschrift des blocks stört. siehe hier: http://www.matuk.de/_drupmatik/?q=node/3
hier => http://www.drupalcenter.de/handbuch/4291 wird auch gesagt, dass das geht. nur .. wie finde ich jetzt raus wie diese "region" heisst? also wie ich diese "block.tpl.php" dann benennen muss?
und jene "block-[region].tpl.php" muss ich dann einfach nur ins verzeichnis meines themes, bzw. subthemes legen, habe ich das richtig verstanden?
genau, du hast es richtig
am 13.09.2008 - 16:19 Uhr
genau, du hast es richtig verstanden
z.b. also
block-footer.tpl.php
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
der name der region
am 13.09.2008 - 16:25 Uhr
genau, du hast es richtig verstanden
z.b. also
block-footer.tpl.php
ja ja, aber wie finde ich denn raus WIE ich die "...tpl.php" benennen muss? also wie die region angesprochen werden muss?
verschiedene Ueberlegungen
am 13.09.2008 - 16:47 Uhr
@ClaudiaBerlin,
das Beste was Du fuer Deine Problemloesung tun kannst ist, Dich mit dem Modul Views und seinen enormen Moeglichkeiten (gerade unter Drupal 6) zu beschaeftigen.
Dabei einige Tipps:
Man kann Views zusammensetzen in dem man eine Anzeige an eine andere haengt. In den einzelnem Anzeigen kann man voellig unterschidlich auf Inhalte filtern.
Lenke Dein Augenmerk auch auf den Kopftext (Leertext, Fusstext) einer Anzeige.
Man kann Views auch einbetten. Dadurch kann man beispielsweise einen View innerhalb eines Blockes oder eines Nodetype Templates anzeigen.
Noch ein anderer Denkansatz.
Man kann auch eine Taxonomie-Struktur aufbauen die als Terms die Buchstaben des Alphabetes enthaelt. Diesen Terms werden die einzelnen Nodes des Lexikon zugeordnet.
In diesem Zusammenhang: Man kann einen View auch mit einem Argument aufrufen. Argument kann ein Buchstabe des Alphabetes sein.
Denkansatz fuer die Markierung des aktiven Buchstaben bei einer A - Z Navigation.
Wenn gar nix geht um jeweils den aktuellen Buchstaben in dieser Navi zu markieren, bei Drupal erfolgt dies einfacher Weise mit der CSS Klasse "active", dan koennte man auch jQyery in's Speil bringen um die CSS Klasse "active" zu manipulieren.
PS
Ja man kann die Anzeige von Bloecken steuern und ihr Erscheinen willkuerlich beeinflussen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
das geht doch in deine
am 13.09.2008 - 16:56 Uhr
das geht doch in deine richtung: http://www.rapsli.ch/drupal/drupal/glossar-mit-views2-erstellen
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
check ich grad nicht
am 13.09.2008 - 21:15 Uhr
das geht doch in deine richtung: http://www.rapsli.ch/drupal/drupal/glossar-mit-views2-erstellen
in die richtung schon. aber das mit dem alphabet im header hab ich beim dereine schon nicht verstanden. das alphabet erzeugt mir doch schon der view .. aber im node dann - also wenn ich auf den begriff klicke - fehlt es natürlich. weil wie sollte der header des views den content des begriffs beeinflussen?