View-Typ mit automatischer Menü Erstellung
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 16.09.2013 - 08:57 Uhr in
Hallo Drupal Community,
ich bin leider noch ein völliger Drupal-newbie und würde euch darum bitten mich zu berichtigen, falls ich meinen Beitrag im falschen Bereich angelegt habe.
Zu meinem Problem: ich habe für meine Seite Views angelegt, jede erstellte View des gleichen View-Typs soll ein eigenes Menü bekommen, damit sich durch die View navigieren lässt. Da es, finde ich, leider sehr umständlich ist, jedes mal für diesen View-Typ ein eigenes Menü von Hand anzulegen, wollte ich fragen, ob es denn möglich ist die Menüs automatisch, bei erstellen einer View, zu erzeugen, welches dann nur dieser einen View zur Verfügung steht. Ist das ganze überhaupt möglich, wenn ja wie und, falls notwendig, welche Module werden benötigt?
Liebe Grüße
Leiseliesel
- Anmelden oder Registrieren um Kommentare zu schreiben
Erkläre bitte genauer, was Du
am 16.09.2013 - 12:17 Uhr
Erkläre bitte genauer, was Du damit meinst. Du mußt beim View in einem Page-Display einen Pfad angeben. Direkt darunter kannst Du definieren, in welchem Menü dieser Pfad mit welchen Anzeigetext eingetragen werden soll.
Wenn Du aber denselben View mit unterschiedlichen Argumenten im Menü eintragen willst, mußt Du es wohl "zu Fuß" eintragen, denn woher sollen sonst die Infos über die Argumente kommen? Wenn Du Die Argumente aber über eine Taxonomie definieren kannst, kann man mit dem Modul Taxonomie Menü aus der Taxonomie heraus automatisch ein Menü aufbauen lassen, bei dem Du auch auf die zu bildenden Pfade Einfuß nehmen kannst.
Beste Grüße
Werner
Ok, ich habe mich wohl sehr
am 16.09.2013 - 12:32 Uhr
Ok, ich habe mich wohl sehr missverständlich ausgedrückt, tut mir leid.
Es geht um folgendes: ich habe mehrere Views angelegt, ein paar dieser Views sollen eine eigene Navigation erhalten (ein komplett eigenes Menü um zu den dort angezeigten Inhaltstypen zu springen, die auf dieser View angezeigt werden. Ich möchte keine Links irgendwo hinzu fügen, sondern einfach ein Menü nur für diese bestimmten Views mit jeweils unterschiedlichen Links (abhängig von den Inhaltstypen die auf dieser View angezeigt werden)).
Momentan löse ich es so: ich lege jedes mal, wenn ich eine neue View erstellen muss, die eine eigene Navigation benötigt, ein eigenes Menü für diese an. Das ist aber leider unpraktisch, da ich so auch alle Links selbst setzen muss.
Aber so wie es sich aus deiner Antwort heraus lesen lässt, ist das leider nur zu Fuß zu bewerkstelligen.
Vielen Dank für deine Antwort
Leiseliesel
Na erklär doch erstmal
am 16.09.2013 - 13:24 Uhr
Na erklär doch erstmal genauer, was die Views anzeigen und was die Navigation anzeigen soll?! Klingt für mich so, als wenn die Views irgendeinen Inhaltstypen auflisten?? Und die "Navigation" - vermutlich in der Sidebar - soll auf genau diese Inhalte verlinken oder auf irgendwelche anderen Inhalte? Dann wäre das nämlich gar kein Menü im Sinne von Drupal - Du kannst dann einfach eine Block-Ansicht statt einer Page-Ansicht erzeugen, die listet dann genau die Inhalte auf, die Du per View auswählst - und den Block fügst Du dann in die Sidebar... sieht aus wie eine Navigation, ist es aber im Sinne von Drupal nicht...
So vielleicht?
Views zeigen jeweils
am 17.09.2013 - 12:12 Uhr
Views zeigen jeweils ausgewählte Inhaltstypen an , Menü enthält die Anker(Links) die zum jeweiligen Inhaltstypen innerhalb der View verweisen.
Das ist ja alles noch kein Problem, mein Problem war, dass ich für jede View ein eigenes Menü von Hand erzeugen muss. Da dieses leider etwas umständlich ist, wollte ich nur wissen ob es eine Möglichkeit gibt entweder Drupal zu sagen, es soll das Menü von selbst für diese View anlegen oder es die Möglichkeit gibt ein Menü von Hand mit allen Ankern an zu legen und zu bestimmen welche Anker (Links) in welcher View angezeigt werden sollen... ich weiß leider nicht wie ich es noch besser erklären könnte, tut mir leid aber danke für eure Hilfe.
Irgenwie verstehe ich jetzt
am 17.09.2013 - 15:33 Uhr
Irgenwie verstehe ich jetzt vermutlich, was Du willst, aber Du hast Views noch nicht verstanden. Dafür brauchst Du in Views nur einen View, der als Kontextfilter den Datentyp übergeben bekommt. Dann legst Du jetzt in Menü für einen neuen Datentyp einen zusätzlichen Menüpunkt an, der als Pfad den path für den View mit dem Parameter bekommt. Das macht man pro Datentyp einmal. Einen gewaltigen Aufwand sehen ich da wirklich nicht. Aus diesem Grunde hat sich da auch noch niemand Gedanken über eine Optimierung gemacht.
Beste Grüße
Werner
Vielen Dank für deine
am 17.09.2013 - 16:47 Uhr
Vielen Dank für deine Antwort,
allerdings habe ich das Gefühl, dass ich dich entweder, da ich leider auch ein ziemlicher Neuling bin, nicht richtig verstanden habe, oder meine Erklärung mal wieder für die Tonne war :(.
Ich versuche es mal anders zu erklären: Ich habe mehrere Views, die jeweils eine Produktart darstellt, angelegt und einen Contenttype mit dem Namen Produkt. Produkt hat von mir ein Feld erhalten mit dem Namen Produktart. So kann ich Produkte anlegen und meinen Views sagen, dass sie nur Produkte dieser Produktart anzeigen sollen. Das ist meine Struktur. Da es aber viele Produkte innerhalb einer Produktart geben kann, möchte ich, dass jede View, die eine Produktart darstellt, ein Menü hat, in der die Anker zu den, in der aktiven View, angezeigten Produkten enthalten sind. Momentan lege ich für jede Produktart ein Menü an, welches dann auf der jeweiligen View angezeigt wird. Wenn das ganze überhaupt viel schöner Lösbar wäre, wäre ich über Verbesserungsvorschläge nicht abgeneigt.
Damit man es sich etwas besser Vorstellen kann, hänge ich hier mal zwei .png's an.
Vielen Dank für eure Hilfe, ich weiß, dass es anstrengend ist, ich weiß leider noch nicht ganz wie ich was benennen oder verständlich beschreiben kann und ich hoffe, dass sich das bald geben wird.
Liebe Grüße
Leiseliesel
Dann kommen wir der Sache
am 17.09.2013 - 17:12 Uhr
Dann kommen wir der Sache jetzt näher. Was Du möchtest, nennt sich Produktkatalog und wird in Drupal mittels einer hierarchischen Taxonomie auf die Produktgruppen gelöst. Das Produkt bekommt also ein Feld als Referenz auf das Vokabular Produktkategorie. Bei einem einfachen Beispiel habe ich das sogar ohne Views gelöst. Einfach bei den Begriffen in der Taxonomie einen URL-Alias eingetragen (Katalog/Oberbegriff/Begriff) und die Taxonomie sorgt für die Anzeige aller mit diesen Begriff gekennzeichneten Produkte. Für die Erstellung des Menüs habe ich das Modul Taxonomie-Menü benutzt. Ich habe ein Menü namens Katalog definiert und in der Konfiguration von Taxonomy-Menu (das passiert im Vokabular Produktkategorie unter bearbeiten) gesagt, das die Menüpunkte im Menü Katalog eingehängt werden sollen.
Beste Grüße
Werner
Taxonomie wäre mir auch eigefallen, aber...
am 17.09.2013 - 17:27 Uhr
es geht sicher auch nur mit views.
Leg in deinen Produkten ein Feld für den Ankernamen an (Ich geh mal davon aus, dass die Produktnamen sich eher nicht eignen).
In den Listen kannst du dann sowas wie
<a name=[ankername]>
an die passende Stelle setzen.
Für's Menü dann einen Block mit
<a href=#[ankername]>Produktname</a>
anlegen.
Das sollte klappen....
Grüsse aus dem nOrden
Don
Gefiltert nach produktgruppen hast du's ja schon....
Vielen Dank für eure
am 18.09.2013 - 08:57 Uhr
Vielen Dank für eure Antworten, ihr seid klasse, genau so wollte ich es :) und danke für die tolle Erklärung!
Liebe Grüße
Leiseliesel
Also es ist doch genau das,
am 18.09.2013 - 09:01 Uhr
Also es ist doch genau das, was ich beschrieben habe - erstelle einfach einen Block aus Deiner Ansicht und ändere dann eben die Verlinkung - statt auf das eigentliche Produkt verlinkst Du auf den Anker, so wie DonQ das gerade beschrieben hat.
Nur mit einer Änderung: nutze bitte keinen
<a name="">
, sondern gebe der View-Zeile oder der Überschrift im View vom jeweiligen Produkt eine Id... ist saubereres und moderneres HTMLOk danke für den Tipp
am 18.09.2013 - 09:57 Uhr
Ok danke für den Tipp
recht hat er...
am 18.09.2013 - 10:01 Uhr
der tobi
ID ist besser
lg
Ihr seid klasse :)...
am 18.09.2013 - 11:56 Uhr
vielen dank