Zusätzliche Tabs in Nodes
am 19.09.2011 - 17:28 Uhr in
Hallo,
Ich stehe mal wieder vor einem kleinem Problem bei dem ich nicht weiterkomme. Beispielhaft folgende Situation:
Ich habe zwei neue Node Typen angelegt Länder und Städte.
Nun lege ich einige Länder (Deutschland) an und erstelle auch gleichzeitig einige Städte (Berlin, Düsseldorf, München). Per Taxonomy Vokabular werden die Städte den Länder zugeordnet.
Den Ländern gebe ich folgende URL: land/deutschland
Den Städten: stadt/berlin
Ich habe eine View erstellt die über folgende URL abrufbar ist: land/%/liste
Bei % wird ein Land eingetragen und für dieses Land wird eine Liste mit Städten ausgegeben.
Soweit funktioniert alles. Folgendes möchte ich nun noch zusätzlich haben:
Wenn ich auf dem Node land/deutschland bin, möchte ich das zusätzlich der Reiter Städte angezeigt wird, da wo Ansicht und Bearbeiten steht. Wenn ich auf der Seite land/deutschland/liste bin, sollen die Reiter Ansicht und Städte erscheinen, wobei hier Städte gerade aktiv ist.
Ich finde momentan keine Möglichkeit das über Views zu realisieren, habe es schon über Menu Tab probiert, aber es klappt nicht. Hat jemand irgendwelche Vorschläge wie ich das realisieren kann ohne ein eigenes Modul zu schreiben? Wenn ich doch Code schreiben muss hat jemand ein Tutorial, Snippet oder sonstige Informationen dazu?
Beste Grüße
dachkarlchen
- Anmelden oder Registrieren um Kommentare zu schreiben
Ähnliches Problem
am 20.02.2012 - 11:25 Uhr
Moin!
Ich stehe gerade bei der Umsetzung meines Projekts vor einem ähnlichen Problem. Ich möchte gerne die Tabs "Ansicht" und "Bearbeiten" anpassen/weglassen können und einen zusätzlichen Tab "nächster Datensatz" erzeugen. Leider habe ich keine Ahnung, wo ich den Hebel ansetzen könnte.
Zur genaueren Erläuterung:
Ich bin gerade von Joomla zu Drupal gewechselt und möchte als erstes Projekt eine Verwaltungsseite aufbauen. Bisher habe ich einen neuen Inhaltstyp "Bestand eingeben" mit den von mir benötigten Feldern angelegt. Danach einen neuen Menüpunkt "Eingabe" mit diesem Inhaltstyp erstellt. Zusätzlich einen View "Bestand" erstellt, in dem alle eingetragenen Waren in Tabellenform ausgegeben und sortiert werden können.
Wenn ein Benutzer nun auf "Eingabe" geht bekommt er alle Felder angezeigt und kann diese ausfüllen. Nach dem speichern wird ja jetzt ein neuer Node mit den eingetragenen Daten erzeugt. Im Anschluss wird die Erstellung des Nodes bestätigt, diese Daten noch einmal aufgelistet und die Tabs "Ansicht" und "Bearbeiten" erscheinen. Um also den nächsten Datensatz einzugeben müsste der Nutzer bisher wieder den Menüpunkt "Eingabe" anwählen.
Es wäre hier meiner Meinung nach aber um einiges benutzerfreundlicher gleich auf "nächster Datensatz" klicken zu können. Zudem ist der Tab "Ansicht" meines Erachtens an dieser Stelle vollkommen überflüssig, da eh nur nochmals die bereits angezeigten Daten nur ohne die Bestätigungsmeldung ausgeben werden.
Ich hoffe mein Anliegen halbwegs verständlich dargestellt zu haben und freue mich auf eure Hilfe. Zusätzlich zu dem Problem bin ich auch immer noch unsicher, ob das so überhaupt der richtige Weg ist oder es eine viel praktikablere Lösung für eine Online-Verwaltung umfangreicher Datensätze gibt.
LG, Sven
Schaut mal bei onenode.se rein
am 20.02.2012 - 13:30 Uhr
Da werden solche Szenarien beschrieben.
"Taming The Beast" ist eine Videoserie, die jeder gesehen und durchgearbeitet haben sollte ;)
:-( ich bin auch noch nicht komplett durch :-(
Grüße
Ronald
Danke ...
am 20.02.2012 - 13:46 Uhr
... für den Hinweis. Da werde ich nach der Mittagspause mal reinschauen und mich entsprechend einarbeiten.
LG, Sven
Edit: nodeone.se lautet der korrekte Link.
Na, ich glaube kaum, daß die
am 20.02.2012 - 13:59 Uhr
Na, ich glaube kaum, daß die Mittagspause reicht :-). Das Tutorial ist schon eine mehrstündige Veranstaltung.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
wla schrieb Na, ich glaube
am 20.02.2012 - 14:27 Uhr
Na, ich glaube kaum, daß die Mittagspause reicht :-). Das Tutorial ist schon eine mehrstündige Veranstaltung.
Beste Grüße
Werner
Ich sagte ja auch nach und nicht in der Mittagspause. ;)
Aber mal was anderes: Da geht es ja nur um das Modul Views. Bei meinem Projekt ist zwar Views beteiligt, allerdings nicht an der Stelle, an welcher genau dieser zusätzliche Tab eingebaut werden soll. Inwieweit mich das bei dem speziellen Problem weiterbringt, erschliesst sich mir im Moment noch nicht. Werde mir das jetzt trotzdem mal zu Gemüte führen, man lernt ja nie aus.
LG, Sven
Latein am Ende
am 24.02.2012 - 12:44 Uhr
Okay, ich habe die in Frage kommenden Teile des Video-Tutorials durchgearbeitet. Zudem das Kapitel über Views aus dem Buch Drupal 7 von Nicolai Schwarz (sehr zu empfehlen im übrigen) noch einmal zu Rate gezogen. Zusätzlich auf der Seite nodeone.se nach weiteren Hilfen zum Thema Tab-Menü gesucht und über den Page Manager gestolpert.
Es gelang mir bei meinem selbst erstellten View "Bestand" einen neuen Tab zu definieren, jedoch nicht für z.B. meineseite.de/node/17. Da ich das ja auch für /node/18 usw. haben möchte, müsste ich doch /node/%node bearbeiten, richtig? Dies habe ich über den Page Manager versucht und festgestellt, daß ich zwar Menü-Reiter für neue Seiten, jedoch nicht für die bereits existierende /node/%node erstellen kann. Einen ganzen Nachmittag damit beschäftigt und der Problemlösung scheinbar kein Stück näher gekommen. Entweder habe ich eine Denkblockade und sehe den Wald vor lauter Bäumen nicht oder aber die Wege über Views bzw. Page Manager sind Irrpfade.
Jemand einen neuen Weg oder einen Denkanstoss zu den bereits beschrittenen für mich auf Lager? Ich bin gerade dabei zu verzweifeln.
LG, Sven
Edit: Memo für mich selber ;) Grundsätzlich sollte es so funktionieren: Über Rules nach dem Anlegen des Datensatzes eine automatische Weiterleitung auf einen selbst erstellten View mit den eingetragenen Daten anlegen. Bei einem View ist der Weg ja klar, wie ein zusätzlicher Menü-Reiter angelegt werden kann. Wenn ich die Zeit gefunden habe es komplett umzusetzen schreibe ich hier noch eine Schritt-für-Schritt-Anleitung rein.