Uni-Seite mit Taxonomy
am 06.11.2006 - 08:56 Uhr in
Liebe Mit-User,
bitte entschuldigt, dass ich mich nun doch an Euch wenden muss, aber bei manchen Sachen fehlt es mir noch an Kenntnissen über Drupal. Damit auch andere User (Anfänger) von meiner Suche nach einer Lösung profitieren können, beschreibe ich mein Projekt hier so genau wie möglich.
Ich mache gerade eine Internetseite für meine Uni, bei der es zunächst darum gehen wird, Erfahrungen über Auslandssemester auszutauschen. Lange habe ich gezögert, ob ich nun Drupal und Joomla nehmen soll, dann schien mir aber Drupal die stabilere Lösung zu sein.
Die Struktur der Seite wird zunächst einmal diese sein, wird aber sicherlich später erweitert werden:
Auslandssemester an meiner Uni
- Tips über Wohnungssuche
- Tips über...
Auslandssemester für hier studierende
- Ort 1
-- Tips über Wohnungssuche
-- Visaangelegenheiten
-- ...
- Ort 2
-- Tips über Wohnungssucher
-- usw.
Da ich gerne klare Strukturen mag, würde ich gerne alles mit Taxonomie machen. Das Modul Category kommt leider nicht in Frage, da es noch kein Rechtemanagement erlaubt. Dabei ist der erste Punkt immer eine Kategorie, die Unterpunkt jeweils verschachteltes Vokabular.
Das Rechtemanagement übernimmt das Modul Taxonomy Access Control. Das Lite Modul schien manche Probleme zu haben, und das erstere scheint verbreiteter und kompatibler zu sein.
Die Frage der Navigation bereitete mir erste größere Schwierigkeiten. Ich wollte eine einfache Navigation an der Seite, die Taxonomie berücksichtigt, und hätte nie gedacht, dass das in so viel Arbeit ausarten würde. Der Grund: das Modul Taxonomy Menu zeigt bei einer Kategorie immer alle Unterpunkte an. Das ist natürlich unschön, und ich habe auch den „Workaround“ gesehen, aber dadurch werden dann viele andere Taxonomiefunktionen verfälscht, das ist ärgerlich. Taxonomy DHTML macht auch ein Menu, aber leider nur als Block, und nicht „collapsabel“, was natürlich einen großen Platzverbrauch mit sich zieht. Diesen kann man teilweise vermeiden, wenn man die Blöcke mit dem entsprechenden Modul im „Outlook“-Look zusammenfasst, was aber Probleme mit sich bringt, wenn Javascript nicht verwendet wird. SiteMenu und Taxonomy HTML (oder so ähnlich) machen auch Blöcke, das Problem bleibt, und ist bei diesen noch schlimmer weil die Schrift dort mehr Platz verbraucht (was also CSS-Bearbeitung erforderlich macht).
Meine Lösung, wenn jemand eine bessere würde ich sie gerne hören, ist die folgende: das Modul Taxonomy Context macht hervorragende Blöcke und fügt auch noch eine Brotkrümelnavigation (breadcrumb) oben ein, sieht toll aus, und in den Blöcken sind die Menüpunkte „collapsable“. Der Nachteil: diese Blöcke erscheinen nur, wenn man auf einer Seite ist, die Taxonomy verwendet (schwer zu beschreiben, es muss also eine Seite sein, in der Form /term/nummer) Also habe ich in den Header ein Menü eingefügt, dass Zugang zu den Kategorien verschafft, dann erscheint links das dazugehörige Taxonomy Context Menu und alles ist gut. Ein weiterer großer Vorteil von Taxonomy Context ist, dass es auch auf den Kategorieseiten eine Übersicht der Unterpunkte anzeigt, die CSS-Datei relativ leicht zugänglich ist, und dass es im Gegensatz zum Taxonomy Menu nicht eine eigene Adressstruktur verwendet, sondern die urpsrüngliche mit /term/id. Das ist also schon einmal perfekt.
Jetzt kommt meine erste (bzw. zweite, wenn einer einen besseren Vorschlag für weiter oben hat) Frage: diese Seiten werde alle eine Art Übersichtsseiten sein, und wenn jemand ins Ausland geht wird er sicherlich manche mitnehmen wollen, in Papierform. Dazu braucht er aber ein Druckansicht. Dazu entstehen jetzt zwei Probleme:
- Erstens zeigt das Modul Taxonomy Context immer nur die genauen Unterpunkte an, also nicht die der „Kinder“ (in meinem Beispiel würde also bei Ort 1 nichts erscheinen, was ärgerlich ist). Ein anderes Modul, was eine Übersicht ermöglicht, Taxonomy Browser, zeigt das gleiche Verhalten. Nur Taxonomy Menu macht es richtig, und natürlich das Views Modul, dieses macht aber leider nicht automatisch ein Menu, was ein Problem ist. Da Taxonomy Context die normalen Seiten überschreibt, weiß ich leider nicht so genau, wie ich automatisch (d.h. ohne die Menüpunkte per Hand anlegen zu müssen, Übersichtsseiten generieren kann). Vielleicht geht es mit dem Views Modul, ich habe es leider noch nicht geschafft.
- Zweitens muss man dann, (auch wenn der obere Punkt nicht ginge, das wäre dann nicht so schlimm), eine Druckansicht generieren. Für einen Eintrag erledigt das das Modul Printer (oder das PDF Modul, was aber mehr Ressourcen verbraucht), aber für eine ganze Seite geht das nicht. Irgendwie müsste man alles Header und Footer mit einem Klick loswerden können, und noch dazu mit einem Klick, der auf allen Seiten erscheint. Vielleicht so etwas wie ein Theme-Wechsel, den man dann aber irgendwie auch wieder rückgängig machen können muss. Hat dazu jemand eine Idee? Leider beherrsche ich php nicht und CSS so gut wie nicht (also „passiv“ verstehe ich es, ich kann ein paar Sachen verändern, aber selbst schreiben ist schwer).
Meine nächste Frage wäre die Folgende: da für jeden Ort die Unterpunkte die gleichen sind, gibt es eine Möglichkeit, diese zu kopieren oder „batchartig“ zu verändern? Ich habe Taxonomy XML probiert und versucht, die XML-Datei zu bearbeiten, leider erfolglos.
Weiterhin würde ich gerne die Editoren zwingen, ihrem Artikel eine Taxonomy zuzuweisen. Bisher mache ich es so, dass jeder User einfach nur bei einer Taxonomy schreiben darf, dann setze ich diese Kategorie als „zwingend“, und dann hat er keine andere Wahl. Ich als Administrator kann aber dann schlecht schreiben, weil ich ja sonst meinen Artikel in mehrere Kategorien hineinstellen müsste... Das dementsprechende Modul, das auf der Drupal.org-Seite zu finden ist, macht das gleiche. Gibt es da eine Möglichkeit?
Bitte entschuldigt, dass mein Post so lang geworden ist, aber ich freue mich immer, wenn andere User im Internet genau beschreiben, was sie weshalb verwendet haben, dann erspart man sich das testen manchmal. So hat vielleicht jemand, der auf Google sucht, jetzt ein kleines Tutorial.
Vielen Dank im Voraus, einen schönen Tag noch,
Felix.
- Anmelden oder Registrieren um Kommentare zu schreiben
Vielleicht war mein Post zu lang
am 09.11.2006 - 07:27 Uhr
Hallo,
vielleicht war mein Post zu lang, bitte entschuldigt das dann, ich wollte nur meine Erfahrungen teilen.
Als Kurzfassung hier meine fünf Fragen:
1) Was ist die für User einfachste Methode, Inhalte einzugeben, die einer Kategorie angehören und die automatisch im Menü erscheinen? Bisher verwende ich dafür Taxonomie.
2) Wie kann man auch die Unterpunkte einer Taxonomie anzeigen, also auch die nodes der "Kinder"?
3) Wie erstellt man eine Druckansicht eine Liste von Nodes zu einem Taxonomiebegriff?
4) Kann man Taxonomiebegriffe schneller bearbeiten als mit dem Taxonomie-Editor im Administrationsbereich?
5) Kann man User zwingen, mindestens einen Taxonomiebegriff anzuzeigen?
Falls ich einen anderen Formfehler begangen habe, bitte sagt es mir.
Vielen Dank im Voraus,
Felix.
Kein Formfehler
am 09.11.2006 - 11:58 Uhr
aber m.E. nach werden Forumsbeiträge schneller beantwortet, wenn in Ihnen eine Frage steht. Bei mehreren Fragen wird der Thread auch schnell sehr unübersichtlich.
Also, zu 1: du schreibst, dass du Taxonomy benutzt damit Inhalte die zu einer Kategorie gehören automatisch im Menü erscheinen?
Kannst du da mal näher erläutern? Dies geschieht nämlich standardmäßig nicht automatisch.
Oder meinst du das Modul Taxonomy-Menü oder etwas ähnliches.
Du siehst, es ist gar nicht einfach Fragen zu beantworten, welche nicht ganz eindeutig sind.
md - drupalcenter
--
www.mdwp.de :: www.go-with-us.de
Danke - ich werde die Fragen auf mehrere Threads verteilen
am 09.11.2006 - 14:04 Uhr
Danke für den Tipp zu den Fragen. Ich werde meine Fragen jetzt dann auf mehrere Posts verteilen. Ursprünglich hatte ich sie in einem Post gelassen, damit man leichter den Zusammenhang sieht, und vielleicht jemand eine passende Gesamtlösung zur Hand hat.
Ja, ich mache genau das, was Du gesagt hast. Wie ich oben etwas ausführlicher erläutert habe, habe ich mich in diesem Zusammenhang für das Modul Taxonomy Context entschieden, weil es die "schönsten" Menüblöcke macht (sie sind "reduzierbar"), auch wenn sie nicht überall erscheinen.
Ein User gibt dann einen Inhalt ein, wählt eine bestimmte Kategorie und ein Vokabular, und die Seite landet dort, wo sie landen soll.
Ich habe gehört, dass die Aufrufe über Taxonomiebegriffe generell rechenaufwändiger sind, als andere Sortiermethoden (also mehr statische), daher dachte ich, dass es vielleicht eine einfach zu bedienende Alternative gibt. Bisher finde ich aber nichts, was den Autor zwingen würde, seinen Artikel richtig einzusortieren, daher dachte ich an Taxonomie. Daher auch Frage 5, aber diese werde ich jetzt in einen neuen Thread einfügen.
Vielen Dank für Deine Hilfe und einen schönen Tag noch,
Felix.
Taxonomy
am 09.11.2006 - 14:30 Uhr
Es gibt nichts besseres, um eine Site zu ordnen (kategorisieren) als das Drupal Taxonomy-System.
Das ist ein Alleinstellungsmerkmal von Drupal.
Zu Frage 5: im Vokabular kannst du einstellen, dass der Benutzer mindestens eine Kategorie auswählen muss (Checkbox: "Erforderlich")
md - drupalcenter
--
www.mdwp.de :: www.go-with-us.de
Gerade war ich dabei...
am 09.11.2006 - 14:35 Uhr
...einen neuen Thread zu Frage 5 zu erstellen:
Nun stehe ich aber vor dem Problem, dass man einen User zwar zwingen kann, einen Begriff aus einer bestimmten Kategorie auszuwählen, nicht aber aus irgendeiner Kategorie.
D.h. wie oben beschrieben, wenn ich einen Eintrag als erforderlich kennzeichne, und der Benutzer die erforderlichen Rechte für mehrere Kategorien hat (das Modul Taxonomy Access Control regelt den Zugang), dann muss er den Artikel in mehrere Kategorien einordnen, was nicht im Sinne des Erfinders ist.
Gibt es da einen eleganten Lösungsweg?
Vielen Dank für Deine Hilfe, md! Viele Grüße
Felix
Re: Gerade war ich dabei...
am 09.11.2006 - 15:22 Uhr
...einen neuen Thread zu Frage 5 zu erstellen:
Nun stehe ich aber vor dem Problem, dass man einen User zwar zwingen kann, einen Begriff aus einer bestimmten Kategorie auszuwählen, nicht aber aus irgendeiner Kategorie.
D.h. wie oben beschrieben, wenn ich einen Eintrag als erforderlich kennzeichne, und der Benutzer die erforderlichen Rechte für mehrere Kategorien hat (das Modul Taxonomy Access Control regelt den Zugang), dann muss er den Artikel in mehrere Kategorien einordnen, was nicht im Sinne des Erfinders ist.
Felix
Nur damit wir sicherstellen, dass wir nicht aneinander vorbei reden, sollten wir die Begriffe Vokabular und Kategorie klären.
Ein Vokabular kann beliebig viele, hierachisch angelegte Katagorien haben.
Du kannst den Benutzer nicht zwingen einen "Begriff" (Kategorie) aus einer bestimmten Kategorie auszuwählen, sondern mind. eine Kategorie aus einem Vokabular auszuwählen.
Hilft dir jetzt nicht zwingend bei deinem Problem - ist aber wichtig für das Verständnis.
Auch für die anderen.
md - drupalcenter
Re: Gerade war ich dabei...
am 09.11.2006 - 15:31 Uhr
Du kannst den Benutzer nicht zwingen einen "Begriff" (Kategorie) aus einer bestimmten Kategorie auszuwählen, sondern mind. eine Kategorie aus einem Vokabular auszuwählen.
Ja, genau das meinte ich, verzeihe (meine Installation ist auf English, da heißt es "Term" anstatt Kategorie, deswegen habe ich es wohl durcheinandergebracht).
Bis jetzt kann ich dieses Problem nur dadurch umgehen, dass ich alle Vokabulare als erforderlich setze und jedem Benutzer nur die Erlaubnis für ein Vokabular gebe. Das ist aber unpraktisch, weil ich dann als Administrator nicht posten kann und keinem Benutzer die Rechte für mehr als ein Vokabular geben kann. Die Rechteverteilung erfolgt, wie gesagt, mit dem Modul Taxonomy Access Control.
Danke nochmals,
Felix
Lösung zu 3)
am 09.11.2006 - 16:45 Uhr
Darüber gibt es auch einen eigenen Thread, aber als ihn umbenannt habe ist er erstmal verschwunden. Falls er nicht wieder auftaucht, hier die Lösung.
Man erstelle eine Datei print.css im Ordner des Themes. Ein möglicher Inhalt ist der folgende:
#sidebar-left, #sidebar-right {
display:none;
}
Anschließend, den folgenden Code in die Datei page.tpl.php im Themenordner einfügen:
<?php
print theme('stylesheet_import', base_path() . path_to_theme() . '/print.css', 'print'); // FOR PRINTING
?>
So, dass die Datei danach so aussehen könnte (hier für das Standardtheme bluemarine):
<head>
<title><?php print $head_title ?></title>
<?php print $head ?>
<?php
print theme('stylesheet_import', base_path() . path_to_theme() . '/print.css', 'print'); // FOR PRINTING
?>
<?php print $styles ?>
<script type="text/javascript"><?php /* Needed to avoid Flash of Unstyle Content in IE */ ?> </script>
</head>
Diese Information habe ich von:
http://drupal.org/node/64144
Danke!
Felix.
Re: Taxonomy
am 10.11.2006 - 05:12 Uhr
Es gibt nichts besseres, um eine Site zu ordnen (kategorisieren) als das Drupal Taxonomy-System.
Das ist ein Alleinstellungsmerkmal von Drupal.
Die Frage hatte ich mir gestellt, nachdem ich solche Schwierigkeiten mit dem Druck, speziell auch dem Druck von Übersichtsseiten zu Taxonomiebegriffen gehabt habe. Daher hatte ich an das Modul book gedacht, vielleicht auch ein anderes. Leider lässt das Modul book kein Rechtemanagement zu, kommt also für mich nicht in Frage. Mit dem Modul categories verhält es sich ähnlich.
Frage 5 werde ich nun auch im englischen Forum posten, aber sobald ich eine Lösung habe, stelle ich sie natürlich hierher. Genauso anders herum, falls wir hier eine Lösung finden sollten.
Danke für Deine Hilfe, md,
Felix.
Toll! Es wird immer besser: Lösung zu Frage 5)
am 10.11.2006 - 13:12 Uhr
Also, hier die vorgeschlagene Lösung auf drupal.org, auf der folgenden Seite:
http://drupal.org/node/93989#comment-170767
Anhand des Moduls CCK erstelle ich pro Vokabular einen Inhaltstyp.
So kann man jedes Vokabular als erforderlich angeben, da aber jeder Inhaltstyp nur mit einem Vokabular verknüpft ist, landet jeder Artikel auch nur in einem Vokabular.
Perfekt! Danke für Eure Gedanken und Anregungen,
Felix.