Ich bin gerade dabei, eine Website zu entwickeln. Als Teil der Anforderungen, muss ich Dropdown-Menü/Untermenü von einigen der Hauptmenüpunkte enthalten. Ich kann Hauptmenüpunkte mit KeystoneJS erstellen, aber ich finde kein Tutorial, wie man Untermenüs einrichtet. Wie soll ich vorgehen?Dropdown/Untermenüs in KeystoneJS
Antwort
Ihre Frage ist ein wenig unklar, aber ich nehme an, Sie sprechen über die Aktualisierung der Navigationsleiste, die Sie nach dem Ausführen des Generators erhalten, und nicht über die Admin-Benutzeroberfläche selbst?
Wenn ja, hängt es davon ab, welche Templat-Engine Sie verwenden. Ich habe das selbst mit der Lenkerschablonenmaschine gemacht. Ich habe gerade eine locals.subsection
, ähnlich locals.section
hinzugefügt.
ich dann routes/middleware
aktualisiert wie folgt aussehen:
locals.navLinks = [
{ label: 'Home', key: 'home', href: '/' },
{ label: 'About Us', key: 'about', pages: [
{ label: 'What We Do', subkey: 'whatwedo', href: "/whatwedo" },
{ label: 'Our Journey', subkey: 'journey', href: "/journey" }
] },
{ label: 'Blog', key: 'blog', href: '/blog' }
];
wo in dem obigen Beispiel das „Über uns“ Menüpunkt nach unten ein Tropfen sein, und die anderen beiden wird nicht sein. Dann müssen Sie auf den Routen für Ihre einzelnen Seiten die section
und auch die subsection
angeben, wenn Sie möchten, dass es ein Dropdown ist. Im obigen Beispiel hat die Route whatwedo
locals.section: about
und locals.subsection: whatwedo
.
Sie müssen dann Ihr Standardlayout aktualisieren. Für mich ist es in Lenker geschrieben, und sah so wie folgt aus:
{{# each navLinks}}
{{#if href}}
<li {{#ifeq ../../section key}}class="active"{{/ifeq}}>
<a href="{{ href }}">{{ label }}</a>
</li>
{{else}}
<li class="dropdown{{#ifeq ../../section key}} active{{/ifeq}}">
<a href="#" class="dropdown toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ label }} <span class="caret"></span></a>
<ul class="dropdown-menu">
{{#each pages}}
<li {{#ifeq ../../../subsection subkey}}class="active"{{/ifeq}}>
<a href="{{ href }}">{{ label }}</a>
</li>
{{/each}}
</ul>
</li>
{{/if}}
{{/each}}
Ich weiß, Sie wahrscheinlich verwenden Jade statt Lenker, aber hoffentlich werden Sie in der Lage sein, diesen Code ‚übersetzen‘.
Entschuldigung, wenn ich Ihre Frage falsch interpretiert habe. Hoffe das hilft.
- 1. Keystonejs Sitzung
- 2. Standardvorgabe für Types.Money in KeystoneJS
- 3. KeystoneJS: Cors Ausgabe
- 4. wie keystoneJS Beziehung
- 5. keystoneJS als child_process
- 6. keystoneJS Beziehung zu Selbst
- 7. KeystoneJS, Tracking updatedBy/updatedAt
- 8. PassportJS + Auth0 + KeystoneJS
- 9. KeystoneJS CloudinaryImage Upload über API
- 10. Keystonejs 4.0 Dateisystem-Speicheradapter Bildvorschau
- 11. KeystoneJS Liste Paginierung von Aggregatergebnissen
- 12. Mongo-Verbindung geschlossen in keystonejs App
- 13. So erstellen Sie eindeutige Keys in KeystoneJS
- 14. "OR" Abfrage in KeystoneJS Relationship Filter
- 15. 'dependsOn' für verschachtelte Felder in keystoneJS setzen
- 16. KeystoneJS: Siteweite Konfigurationsvariablen in der Datenbank
- 17. Code Syntax Hervorhebung in KeystoneJS TinyMCE Editor
- 18. Keystonejs Cors Fehler mit Middleware
- 19. PM2 Neustart keystonejs app wiederholt
- 20. KeystoneJS bearbeiten Datei vor dem Hochladen AmazonS3
- 21. KeystoneJS: Wo sind CallHook-Hooks definiert?
- 22. Konfigurieren der KeystoneJS-App mit LetsEncrypt & Heroku
- 23. Node Keystonejs unerwarteter Token-Export/-Import
- 24. undefiniert ‚Modell‘ Eigenschaft Keystonejs List-Objekt
- 25. Fehler bei dem Installieren KeystoneJS auf OSX
- 26. Deployment KeystoneJS Website ohne Generator-Keystone
- 27. KeystoneJS get ObjectID von einem anderen Wert
- 28. KeystoneJS: Wie kann ich Daten in ein Element füllen?
- 29. Flash-Nachricht erstellen, wenn die Validierung in KeystoneJS fehlschlägt
- 30. Dynamisch Feld zum Modell Keystonejs und Mongodb hinzufügen
Direkt dran, danke. Das habe ich gesucht. Ich stieß auch auf [Keystone-Menüs] (https://www.npmjs.com/package/keystone-menus). Obwohl ich es noch nicht ausprobiert habe. –
Ich würde das vorher auch nicht finden. Scheint das eher mit den adminUI-Menüs zu tun zu haben als mit Ihrer öffentlich zugänglichen Webseite? –
Es sollte am Frontend funktionieren. Ich kann es einfach nicht zur Anzeige bringen. –