問題タブ [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.
symfony - KnpMenuBundleと提案されたチュートリアルの例:何か問題がありますか?
KNP MenuBundleは、非常に動的な方法でメニューを処理するためのSymfony2バンドルです。バンドルには、ここで提供されている簡単なチュートリアルの例が含まれています。提案された例では、Builderクラス内で、作成者は関数setCurrentUri()を$menuオブジェクトで呼び出す必要があると想定していました。ただし、$ menuはMenuItemクラスのインスタンスであり、上記の関数を実装していません。
答えを自己完結型にするために、ここで提供されているサンプルクラスのコードを報告します。
PS:この例では重要なインポートが欠落していることに注意してください。完全を期すために、以下で報告します。
symfony - KnpMenuBundleをカスタマイズする
KNPMenuBundleをカスタマイズする方法は?
KnpMenuBundleを使用して画像またはスパンタグを追加する方法がわかりません。
私は単にこれが欲しい:
MenuBuilderでは、これは次のように始まります。
<li>
ステートメントに画像を追加するにはどうすればよいですか?
編集:簡単な方法
バンドル内でこれを行う簡単な方法が実際にあります。
1 テンプレート vendor\KnpMenu\src\Knp\Menu\Resources\views\knp_menu.html.twig
をにコピーし、Acme\AcmeBundle\Resources\views\Menu\knp_menu.html.twig
次のように拡張します。
2 必要に応じてテンプレートを変更します。たとえば、を使用するたびにスパンタグを追加する場合は、次の間にスパンタグを $menu->addChild('Your Title');
追加するだけ<a></a>
です。
3 メニューを使用するときに、カスタムレイアウトを選択できるようになりました。
php - Knp メニュー バンドル 現在のアイテム Symfony 2
Symfony2 の KnpMenu Bundle のレンダリングに関して質問があります。私が読んだことから、一致したルート項目に「現在の」クラスがあるはずです。Knp のドキュメントを読みましたが、RouteVoter について何か言っていますが、機能させることができません。何か案は?
ビルダーコード:
symfony - symfony2.1バンドルバージョンの混乱、symfonyとsonataの管理者/knpメニューバンドル
新しいプロジェクトにsymfony2.1を使いたいです。私はcomposerでsymfony2をインストールしようとしています。しかし、複数のエラー/問題があったので、太字のフォントスタイルで各問題についても質問があります。時々私はそれを正しい方法で行うかどうかわからない。
安定バージョンを使用したいので、dev/masterではなく2.1.0バージョンを選択しました。
結果はこれでした:
だから私はそうします、php composer.phar update
そして依存関係はエラーなしでインストールされました。
しかし、ほとんどのバンドルには安定バージョンがないことに気づきました。たとえば、doctrine / common(2.3.x-dev)、ここに完全なリストがあります
1a)これは正しいですか?または別の解決策はありますか?安定していて開発モードではないバンドルを使用することを意味します
翌日、コンポーザーの更新を再度実行すると、一部のライブラリが更新されていることに気付きました。最終日以内に新しい変更が加えられたdev-masterブランチのすべてのライブラリです。
1b)では、アプリの開発中、新しいバグ修正をマージするために、定期的にコンポーザーの更新を行う必要がありますか?
別の解決策が見つからないため、この行をcomposer.jsonに追加して、FOSUserBundleをインストールし続け"friendsofsymfony/user-bundle": "*"
ます。私はすべてのインストール作業を行い、それは完全に機能します。
次に、composer.jsonに追加して、SonataAdminBundleのインストールを開始し"sonata-project/admin-bundle": "dev-master"
ます。http://packagist.org/packages/sonata-project/admin-bundleでバージョン2.0.x-devがsymfony2.1用ではないことがわかったので、dev-masterバージョンを選択しました。
さらに、AdminBundleにはknplabs /knp-menu-bundleの依存関係があります。1.1。* http
:
//packagist.org/packages/knplabs/knp-menu-bundleバージョンv1.1.0には、別の依存関係があることがわかります。 knplabs / knp-menu:1.1。*
次に、http ://packagist.org/packages/knplabs/knp-menuで、1.1で始まる4つのバージョンを見つけました。
- 1.1.x-dev
- v1.1.2
- v1.1.1
- v1.1.0
v
2a)バージョン番号の前に先頭がある場合、違いはありますか?
2b)依存関係が1.1 *の場合、これら4つのバージョンのうちどのバージョンが使用されますか?
admin bundle depsのロードを開始すると、次の結果が表示されます。
さらにいくつかのソナタバンドル(doctrine-orm-admin-bundle、user-bundle、page-bundle、media-bundle)をインストールしましたが、エラーが発生しました
3)しかし、この手順を繰り返すと、エラーはなくなりました。これは正常ですか?
次に、sonataadminバンドルの構成を続行しました。投稿エンティティとPostAdminの作成を追加し、そのサービスを構成した後(ところで、サービス構成が少し貧弱です)、Knpメニューのインストールを忘れていることに気付きました(エラーはnon-existent service "knp_menu.factory
:)
https://github.com/KnpLabs/KnpMenuBundle/blob/master/Resources/doc/index.mdにアクセスし、インストールの手順の詳細を確認します。でも時代遅れでした。smyfony2.1以降。$loader
autoload.phpのは、registerNamespaces
これがUniversalClassLoaderクラスではなく、composerクラスローダーであるため、機能がなくなりました。したがって、独自のUniversalClassLoaderインスタンスを作成する必要があります。また、パスは完全に異なり、親knplabs
ディレクトリがあり、サブディレクトリも変更されています。
4)KnpMenuのインストール構造が古くなっているのはなぜですか?また、githubにマスターブランチしかなく、http://packagist.orgに存在するバージョンには何もないのはなぜですか?
私はsymfony2と作曲家に不慣れで、このすべてを理解するのは時々本当に難しいです。
symfony - KnpMenu (Symfony2.1) に div を追加する方法
KnpMenuBundle を使用してメニューを生成し、誰かがメニュー ボタンにカーソルを合わせるたびに、ドロップダウン ボックスを作成したいと考えています。
私が取得したいのは、次のような構造です。
可能であれば、div 内からコントローラーをレンダリングしたいと思います。
これはできますか?
ドキュメントで何かを見逃した場合は、何時間も検索しているため、リンクを投稿してください...
symfony - matchigルートに応じて、現在のアイテムを実行に移します(KnpMenuBundle)
私はこのビルダーを持っています
現在のアイテムを設定するためのアクションでこのメニューを取得するにはどうすればよいですか?
php - knpmenu バンドルを使用して symfony 2.1 でブレッドクラムを作成する
symfony 2.1.x で knpmenu バンドルを使用してブレッドクラムを作成する最良の方法は何ですか? サードパーティのバンドルを使用する以外に。
アップデート:
こんにちは、theunraveler さん、返信が遅くなってすみません。今、私はあなたの例に従ってきましたが、ある瞬間に立ち往生しています。ここで、以下のコードは例外をスローします。
「アイテム」変数を受け入れないのはなぜですか?
php - 管理ページの列の並べ替え
管理セクションには Sonata バンドルを使用しています。ユーザーが管理画面の任意のセクション (たとえば製品) に移動し、特定の列で並べ替えようとすると、次のページの並べ替え順序が記憶されず、ユーザーは一方向にしか並べ替えることができません。それを修正する方法を知りませんか?
Sonata admin クラスを拡張するコードは次のとおりです。
twigファイルにsort_byを追加したところ、1ページから11ページ、9ページから10ページと行っても1ページから9ページしか動作せず、次のページのソート順を覚えていません。
小枝ファイル:
symfony - 関数/拡張機能が定義されているかどうかを確認します
私の Symfony2 バンドルでは、関数 (拡張機能) が定義されているかどうかを確認する必要があります。より具体的には、KnpMenuBundle がインストールされている場合は、バンドルでそれを使用します。それ以外の場合は、プラグインを自分でレンダリングします。
私はこれを試しましたが、もちろんこれはうまくいきません:
関数が定義されているかどうかを確認するためのテスト/関数/フィルターはありますか? そうでない場合、KnpMenuBundle がアプリケーションにインストールされているかどうかを確認する別の方法はありますか?
php - Symfony2 KnpMenuBundle: メニューにない場合でもメニュー項目をアクティブに設定
メニュービルダーを作成しましたが、動作します。私のルートの1つは
しかし、これには子ルートがあります:
IDがないと機能しないため、ビュールートをメニュー項目に入れたくありません。
しかし、ユーザーがビューにいるときにデータベースルートをアクティブにしたいのです。
これどうやってするの?