問題タブ [knpmenubundle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - RequestVoter を介して MenuBuilder から Container または securityContext または EntityManager にアクセスする
Gist で共有されているこのコードを見つけました (どこかでリンクを失った)。そのようなものが必要だったので、アプリケーションで使用し始めましたが、まだ完全には理解していないため、いくつかの問題が発生しています。
KnpMenuBundle と動的手段を使用して動的メニューを作成しようとしています。ある時点で、データベースを介してアクセス許可を確認する必要があり、コントローラーからルートを読み取ることができれば理想的ですが、これは別のタスクであり、おそらく注釈を作成することができますその時が来たら、別のトピックを開きます。
現在、SecurityContext にアクセスして、ユーザーがログに記録されているかどうかを確認する必要がありますが、その方法はわかりません。
私はメニューをレンダリングしていますがRequestVoter
(私は思う)、これがコードです:
に関連するすべてのコードsecurityContext
は、menuBuilder
. これは、メニューを作成しているコードです。
しかし、メソッドに渡していないため、これは完全に間違っていsecurityContext
ます。方法がわからず、このエラーが発生しています。
テンプレートのレンダリング中に例外がスローされました (「通知: 未定義のプロパティ: PlantillaBundle\Menu\MenuBuilder::$securityContext in /var/www/html/src/PlantillaBundle/Menu/MenuBuilder.php 12 行目」) / var/www/html/src/PlantillaBundle/Resources/views/menu.html.twig の 2 行目。
投票者は次のように定義さservices.yml
れます。
では、どのように注入securityContext
し (同じ手順になると思われるので、EntityManager は要求しません)、menuBuilder からアクセスしますか?
更新: コードのリファクタリング
したがって、@Cerad の提案に従って、この変更を行いました。
services.yml
MenuBuilder.php
Abd ib 私のテンプレートはメニューをレンダリングするだけです{{ knp_menu_render('frontend_menu') }}
が、FontAwesome 部分が失われ、機能する前に、なぜですか?
symfony - symfony-cmf でサブメニューをレンダリングする方法
私は必死に symfony-cmf でサブメニューをレンダリングしようとしています。
例
構造:
page1
現在のページが階層内のどこかにあるときはいつでも、メニューをレンダリングするために使用する必要があります。階層p1-subpage*
内にいるときは、メニューをレンダリングするために使用する必要があります。技術的には、現在のアイテムを第 1 レベルの親に設定し (まだ存在しない場合)、ノードの 1 つのレベルをレンダリングする必要があることを意味します (例: )。page2
p2-subpage*
knp_menu_render('main', { depth: 1 })
この問題は、次の 2 つの部分に分けることができます。
- 特定のノードから (サブ) メニューをレンダリングする
- 現在のノードの取得
思考と試練
- TWIG : KnpMenu 自体の機能としてサブメニューのレンダリングをサポートすることが提案されていますが、まだ実行されていません。小枝拡張機能を登録する回避策として、問題の誰かによって提供されています。ただし、この拡張機能は、KNP-Menu 2.0 で削除され
getCurrentItem
たメソッドに基づいています。cmfは現在 knp-menubundle の v1.1 を使用していますが、これはまもなく変更される予定です - TWIG : CnertaBreadcrumbBundleはこの機能を復活させますが、KNP-Menu 2.0 にも依存します。
- TWIG :ここで提案されているのと同様のハックを使用します。現在の URI をチェックし、スラッシュの数を数え、それに基づいて何を使用するかを決定します。これはおそらくうまくいくでしょう。ここでの問題:
cmfMainContent
変数が定義されておらず、同様のものを見つけることもできません{{ dump() }}
(メニューを含むものもありません)。 - RouteVoter : cmf 自体には MenuVoters 自体がいくつかあります。小枝でその機能にアクセスする方法はないと思いますし、メニュー構築を傍受する方法も知りません。
助けてくれてありがとう。
php - Symfony2 の MenuBuilder クラスから整形式のルートを生成する
コントローラーでこのルートを定義しました:
そして、KNPMenuBundle MenuBuilder クラスで正しいルートを設定する必要があります。私は次のようにやっています:
ルートは正しいページを表示し、正しいコードを実行するため、環境に対しては機能しdev
ますが、離れてdev
ライブに移動すると、この場合、何が間違っていますかprod
? クラス404 Not found
内でルートを生成する正しい方法は何ですか? MenuBuilder
これに関するアドバイスはありますか?
twitter-bootstrap - MopaBootstrapBundle と FontAwesome でアイコンが表示されない
各要素のアイコンを使用してメニューを作成しようとしています。
私は使用しています(または使用しようとしています)
- MopaBootstrapBundle
- KnpMenuBundle
- フォント素晴らしい
メニュー構造は表示され、正常に機能していますが、アイコンが表示されていません。誰かが私をここで正しい軌道に乗せることができますか?
これまでに行ったことは次のとおりです。
config.yml のセットアップ:
私のブートストラップスタイルを含める/app/Resources/MopaBootstrapBundle/views/layout.html.twig
メニューの作成:
ページのソースを見ると、すべてのクラスが正しく設定されていることがわかりました。ただし、リンクされたスタイル シートでは、次のことがわかりました。
私のセットアップにはパス../../bundles/mopabootstrap/fonts/
が存在しないようです。これにより、アイコンが欠落していることが説明されます。ただし、どのように変更できるかわかりません。
ドキュメントで、@icon-font-path
変数定義への参照を見つけました。それをどこでどの値で定義するかについて、私は少し途方に暮れています。
注意: フォント ファイルは私のweb/fonts
フォルダーにあります。これはすべて Windows マシンで行われています。
アップデート:
次の場所に FontAwesome ファイルがあります。
<my_project_path>\web\bundles\mopabootstrap\fonts\fa4
<my_project_path>\web\fonts
Glyphicon フォント ファイルのみが次の場所にあります。
<my_project_path>\web\bundles\mopabootstrap\bootstrap\fonts
.
また、結果のCSSファイルのパスを定義する@icon-font-path: "../fonts/";
と、/src/<my_bundle>/Resources/public/less/mystyles.less
src: url('../fonts/fontawesome-webfont.eot?v=4.2.0');
ただし、アプリをロードして、assetic によってダンプされた CCS ファイルを呼び出すと、パスは次のようになります。src: url(../../Resources/public/fonts/fontawesome-webfont.eot?v=4.2.0);
php - Symfony2、KnpPaginatorBundle で URL にエイリアスを使用しないでください
私は KnpPaginatorBundle を使用していますが、このようにエイリアス ( t .country)なしで URL を取得できるかどうかを知りたいです
このようではない
これは次の形式です。
これはコントローラーです:
解決策はありませんか?
symfony - KnpMenuBundle の子オブジェクトは、他のものを最新のものにします
私は次の構造を持っています:
そしてまた
/list
詳細ページの1つが選択され、もちろん実際のリストが選択された場合、ナビゲーションをアクティブな要素にする必要があります。
私のナビゲーションは次のようになります。
他のいくつかの質問を読んでいましたが、正しい答えを見つけることができませんでした。私は説明するメニュー項目を持っていないのでList Detail
symfony - KNP メニュー バンドル翻訳ドメイン
Symfony 2.3とKnpMenuBundleを使用しています。
メニュー項目に翻訳ドメインを使用することはできますか?
このような: