問題タブ [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 - KnpMenu で RouteVoter を削除する
エクストラネットの各バンドルは、独立したアプリケーションです。私のメニューにはすべてのアプリがリストされており、実際のルートプレフィックスに応じて現在のアプリをマークするのが好きです.
最初に base.html.twig の twig コード:
ビルダー関数:
私の BundleVoter クラスは正しく動作し、現在のメニューが見つかった場合は true を返します。しかし、HTML では、現在の要素に「アクティブな」クラスが含まれることはありません。
KnpMenuBundle をもう少し読み、Knp\Menu\Matcher クラスにデバッグ コードを追加しました。
そして、この出力を得ました:
神秘的な RouteVoter はどこから来たのですか? 現在の要素の BundleVoter 選択を上書きしますか? どうすれば非アクティブ化/上書きできますか?
php - PHP Symfony2 knp メニュー バンドル: foreach を使用して子を生成すると、無効なオフセット タイプの例外が発生する
私たちは Symfony2 を使用して旅行 Web サイトを開発しています。私は現在、メニューに行き詰まっています。現在のデザインは、次のように編成された複数レベルのメニューです。continents-> countries -> regions.
国のサブメニューは大陸ごとにグループ化され、国ごとに地域がグループ化されています。Knp メニュー バンドルを使用しています。各メニュー項目を手動で生成したくないため、foreach ループを使用してサブメニューを動的に生成したいと考えています。このために、文字列変数を配列キーとして使用する必要がありますが、これは機能しません... エンティティ Continent および Country には、 getSlug().
Clearlyを返す toString メソッドがあります
。$menu['south-america']
$menu[$continent]
エラーメッセージは次のとおりです。
テンプレートのレンダリング中に例外がスローされました
メニュービルダーのコードは次のとおりです。
ご提案いただきありがとうございます。
見つかった解決策:
投稿してから数分後に解決策が表示されたため、この質問を投稿するのが少し速すぎた可能性があります(何時間ものテストの後)配列キーとして使用する場合。$menu[$continent->getSlug()] を使用するとうまくいきました。私の悪い。
symfony - Symfony2.6 、 SonataUserBundle 、クラス "Knp\Menu\MenuItem" でメソッド "setCurrentUri" を呼び出そうとしました。
現在 SonataUserBundle を使用していますが、 /profile/ page を読み込もうとすると、次のエラーが発生します。
いくつかの投稿で、多くの人が knplabs/knp-menu-bundle:1.1.* を要求することでこのエラーを解決したことを見てきました。
でもやってみると
次のエラーが表示されます。
ここに私のcomposer.jsonがあります
/profile/ ページを機能させるにはどうすればよいかわかりません... この問題を解決する方法を知っている人はいますか?
ありがとうございました
php - KnpMenu: MenuItem クラスに属性を追加
KnpMenuBundle を通じて Symfony2.3 で KnpMenu を使用しています。
MenuItem
最も簡単な方法で、属性を追加してクラスをカスタマイズしたいと思います。
目的は、アプリケーションのエンティティのいずれかにリンクしMenuItem
、後でそれを取得できるようにすることです。
たとえば、私はこれをしたい:
簡単だが醜い方法は、Knp\Menu\MenuItem.php
これを編集して追加することです:
それが適切な方法ではないことはわかっているので、上書きしようとしましKnp\Menu\MenuItem
たKnp\Menu\MenuFactory
が、十分ではありません...
もっと色々なものを上書きしないといけない気がするので、ここでアドバイスをお願いします。バンドルは非常に複雑で、この機能 (MenuItem にクラス属性を追加する) は既にバンドルによって管理されているように感じますが、その方法はわかりません。
何か案が?
symfony - Symfony2, Sonata : Sonata バンドルによって生成されたメニューからアクションを削除します
クライアントのニーズに合うように、管理者側をきれいにする必要があります。
Sonata の NewsBundle を使用していますが、実際にはコメントを使用する必要がないので、管理者側から削除したいと考えています。少なくともメニューから。設定で無効にする方法はありますか?これに関するドキュメントにはヒントがありません。
ここで、もう表示したくない特定の領域:
ところで、メニューは KnpMenu で生成されるかもしれません
php - Symfony 2 KNP メニュー: CSS クラスをリンクに追加
Symfony2 に KnpMenuBundle を使用していますが、メニューで生成されたリンクから css クラスを追加する方法が見つかりませんでした。
class を child 属性に設定しようとしましたが、それはリンクには与えられず、可能性のある子メニュー (サブメニュー) に与えられます。
これにより、次の HTML が生成されます。
しかし、私はこのようにそれが必要です:
これどうやってするの?