問題タブ [symfony-routing]
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 - Symfony2 の MenuBuilder クラスから整形式のルートを生成する
コントローラーでこのルートを定義しました:
そして、KNPMenuBundle MenuBuilder クラスで正しいルートを設定する必要があります。私は次のようにやっています:
ルートは正しいページを表示し、正しいコードを実行するため、環境に対しては機能しdev
ますが、離れてdev
ライブに移動すると、この場合、何が間違っていますかprod
? クラス404 Not found
内でルートを生成する正しい方法は何ですか? MenuBuilder
これに関するアドバイスはありますか?
php - ルートを Ajax 呼び出しに制限します。Symfony 2.6+ では可能ですか?
Ajax 呼び出しに対する「自動」ルーティング制限を実現する最善の方法を探しています。現在、私は次のようにやっています:
これを回避するために、代わりにこれを使用できますか?
私はjQueryをJSフレームワークとしてのみ使用しているのでXMLHttpRequest
問題ありません。route が Ajax 呼び出しで実行されない場合、どのような例外がトリガーされますか? それをキャッチしてユーザーにメッセージを表示できますか? または、ある種の 404 ページを表示しますか?
ここで同様の質問を見つけましたが、まったくわかりません
php - Symfony2 はカスタム Route Loader で Route を見つけることができません
私はsymfony2がここで説明しているのと同じ問題を抱えています
これは、バンドルがあるが、バンドルのルートを に手動で追加したくない場合に便利です
app/config/routing.yml
。これは、バンドルを再利用可能にしたい場合に特に重要です。
TLDR; symfony2 ドキュメントのこの部分を使用してカスタム ルート ローダーを実装しようとしています http://symfony.com/doc/current/cookbook/routing/custom_route_loader.html#more-advanced-loaders
ただし、機能していないようです。ルートが見つかりません。
これは私がこれまでに試したことです: ローダー:
ここに私のrouting.ymlがあります
routing.yml
ルートをメインの app/config/routing.yml ファイルに戻さない限り、バンドルのルートが見つかりません。これを修正するにはどうすればよいですか?
編集:
FileLoaderImportCircularReferenceException: "/app/config/routing_dev.yml" ("/app/config/routing_dev.yml" > "/app/config/routing.yml" > "." > "@GabrielAdminPanelBundle/Controller/" で循環参照が検出されました> "/app/config/routing_dev.yml")。
php - カスタムの routing.yml 設定を読み込むように symfony に指示する方法
私はこれを達成しようとしています http://symfony.com/doc/current/cookbook/routing/custom_route_loader.html#more-advanced-loaders
バンドルの登録時にバンドル ルーティングを自動的にアクティブ化する必要があります
だから私はこのファイルをパスに作成しました
src/Gabriel\AdminPanelBundle\Routing\AdvancedLoader.php
内容とともに
この構成をコピーしました
から
それを自分の構成ファイルに貼り付けました
問題:
Symfony2 は私の AdvancedLoader.php ファイルを完全に無視します。構文エラーを入れることができ、サイトはエラーをスローしません。また、router:debug はバンドル内で定義されているルートを表示しません。構成を元の router.yml ファイルに戻します。
PS: キャッシュをクリアしても何も変わらない
編集: サービスとリソースを追加すると、このエラーが表示されます
FileLoaderImportCircularReferenceException: "/app/config/routing_dev.yml" ("/app/config/routing_dev.yml" > "/app/config/routing.yml" > "." > "@GabrielAdminPanelBundle/Controller/" で循環参照が検出されました> "/app/config/routing_dev.yml")。
javascript - Javascript|jQuery および Symfony2 プロジェクトで URL から値を取得する
Javascript/jQuery を使用して URL からいくつかのパラメーターを取得する必要があり、この素晴らしい関数を見つけました。
だから私は自分のコードで使い始めましたが、探しているパラメータが来るので、いくつかの問題がありますundefined
。まず、これは Symfony2 プロジェクトなので、次のProfiler
情報が得られます。
ここから必要なのはregistro
とsolicitud
です。だから私がJavascript側でやったことはこれでした:
しかし、驚いたことに、URL には存在しないが、REQUEST には存在undefined
することが原因だと思います。Javascript からとの値を取得するにはどうすればよいですか? これらのパラメーターを Ajax 呼び出しに送信する必要があります。何かアドバイスはありますか?registro
http://project.dev/app_dev.php/proceso/1/58/modificar
registro
solicitud
symfony - Symfony2 ルーティング: すべてのコントローラーのアノテーションをインポートしますが、1 つを除外します (NelmioApiDoc の重複したルート)
問題
で定義するとrouting.yml
:
と:
で重複したルートを取得しNelmioApiDoc
ます:
質問
ApiController
からのルートが重複しないようにするにはどうすればよいですか?
ApiController
「ワイルドカード」リソースのインポートから除外しますか?- 他のすべてのコントローラを個別にインポートしますか?
- 他の解決策?
php - symfony2.3 ルーティングが製品環境で機能しない
Windows 環境で symfony を使用して、自分の Web サイトに /contact ルートを作成しようとしています。routing.yml
次のようなルートをファイルに追加しました。
prod env を有効にしました: prod_env$kernel = new AppKernel('prod', true);
でページを実行しようとしています: 404 エラーを返しますが、dev_envでは連絡先ページが正しく表示されます。そのため、次の方法でルートをデバッグしようとする
と、次のようになります。http://localhost/fstn/web/app_dev.php/contact
php app/console router:debug -e=prod
Name Method Scheme Host Path
fstn_venice_homepage ANY ANY ANY /
fstn_venice_contact ANY ANY ANY /contact
コマンドラインを使用してキャッシュをクリアしようとします:
php .\app\console cache:clear --env=prod --no-debug
エラーは表示されませんが、本番環境で連絡先ページを表示することはできません。この問題を解決するにはどうすればよいですか?
--edit--- エラーの原因を見つけました。実際には、このパスを使用して製品環境で作業する必要があります: http://localhost/fstn/web/app.php/contactしかし、以前はhttp://localhostを使用しました/fstn/web/contactでテストします。
php - symfony2 ルーティングのデフォルト
注釈付きのコントローラーを定義しました
ここのように使ってみます
そして得る