私は現在ウェブサイトを開発中です。要件の一部として、私はいくつかのメインメニュー項目のドロップダウンメニュー/サブメニューを含める必要があります。私はKeystoneJSでメインメニュー項目を作成することができますが、サブメニュー項目を実装する方法についてのチュートリアルを見つけることはできません。それについてどうすればいいですか?KeystoneJSのドロップダウン/サブメニュー
0
A
答えて
3
あなたの質問は少し不明ですが、私はあなたがジェネレータを実行した後に与えられたナビゲーションバーを更新することを話していると仮定しています。
もしそうなら、使用するテンプレートエンジンによって異なります。私はハンドルバーのテンプレートエンジンでこれを自分でやっています。私はちょうどlocals.section
に似たlocals.subsection
を追加しました。
私は、このように見えるroutes/middleware
を更新:上記の例では、「お問い合わせ」メニュー項目がドロップダウンになり、他の2つはなりません
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' }
];
。その後、個々のページのルートで、ドロップダウンにしたい場合は、section
とsubsection
を指定する必要があります。上記の例では、whatwedo
ルートはlocals.section: about
とlocals.subsection: whatwedo
です。
デフォルトのレイアウトを更新する必要があります。私にとって、それはハンドルバーに書かれているので、このように見えた:
{{# 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}}
私は、あなたはおそらく、むしろハンドルバーよりもヒスイを使用していますが、うまくいけば、あなたはこのコードを「変換」することができます実現しています。
私はあなたの質問を誤解している場合はお詫び申し上げます。お役に立てれば。
関連する問題
- 1. ドロップダウンサブメニューの問題
- 2. KeystoneJS
- 3. のCss + jQueryのドロップダウンサブメニューのオーバーフロー
- 4. cssドロップダウンサブメニューのフォントサイズを変更
- 5. KeystoneJSフォームビルダーアイデア?
- 6. Keystonejsセッション
- 7. KeystoneJSのコメント
- 8. KeystoneJS GETのObjectID
- 9. ドロップダウンサブメニューがホバーで消える
- 10. ブートストラップを使用したドロップダウンサブメニュー
- 11. KeystoneJS、updatedBy/updatedAt
- 12. KeystoneJS:コルス発行
- 13. keystoneJS as child_process
- 14. Keystonejs 4.0ファイルシステムストレージアダプターイメージプレビュー
- 15. PassportJS + Auth0 + KeystoneJS
- 16. jsドロップダウンサブメニューの項目の位置付け
- 17. 小さな画面デバイスのドロップダウンサブメニュー
- 18. Check KeystoneJS Google Maps Config
- 19. KeystoneJSのTypes.Moneyのデフォルト設定
- 20. KeystoneJSでのマルチテナントの実装
- 21. Keystonejs - リレーションシップのアイテムのクエリ
- 22. 出力jsonファイルを持つng-repeatドロップダウンサブメニュー
- 23. ドロップダウンサブメニューが動作しません
- 24. KeystoneJS httpsServerプロパティが未定義
- 25. KeystoneJS管理UIの日時フォーマット
- 26. KeystoneJSを使用した複数のテンプレートエンジン
- 27. KeystoneJSリスト集計結果のページング
- 28. ドロップダウンサブメニューの自動幅が機能しない
- 29. KeystoneJSより具体的なフィルタリング
- 30. KeystoneJS:生成された管理UI
ありがとうございます。それが私が探していたものです。私も[keystone-menus](https://www.npmjs.com/package/keystone-menus)に出くわしました。私はまだそれを試していないが。 –
私はまたそれを前にしていないだろう。あなたの一般公開されているWebページではなく、adminUIメニューに関連するように見えますか? –
フロントエンドで動作するはずです。私はそれを表示することができません。 –