問題タブ [craueformflow]
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 - 別のエンティティからの値を持つ Symfony エンティティ タイプ
私はまだ Symfony を使い始めたばかりで、(私が思うに) 一般的なことを試しています。
私はいくつかのエンティティを持っています: 製品、テーマ、イベント、1 対多および多対 1 の接続。私はproducts_in_theme、products_in_eventと呼ばれる他のエンティティを持っています。テーマとは、ある種の製品 (色、紙など) を使用する一種のパーティーです。イベントを作成したとき、その商品のすべてまたは一部が必要になり、その商品を products_in_event に保存する必要があります。CraueFormFlowBundleを使用して、フォームを作成しました (ステップ 1: テーマと日付の選択、ステップ 2: 製品の選択)。問題は、EntityType の「Product in Event」(それを永続化するために)、「Product In Theme」の値を表示する必要があることです。「テーマ内の製品」のみではなく「イベント内の製品」から検索しているため、クエリは機能しません
クエリは次のとおりです。
0 エントリを返します (product_in_event が空であるため)
これは共通の接続です。イベント内の製品には、イベントと製品に関連するいくつかの FK があります。
次のような状況を表示できます: カテゴリと製品。何かを購入すると、「product_in_category」が「product_in_order」になりました
php - 検出フォームの検証
ダイナミックなフォルムをしています。
たとえば、フォームに FormType1 が含まれている場合、フォームに FormType2 または FormType3 が含まれている場合 ....
私のフォームが変更されているかどうかを検出します。
フォームが完成しvalid()
たらメソッドを適用し、フォームにエラーがあれば返すか、エラーがなければリダイレクトを適用します。
私はそれを行う方法を知っています。
ただし、フォームが変更なしで (新しい値なしで) 送信された場合、検証が必須フィールドで false を返すため、検証なしで他のリダイレクトを適用したいと考えています。
フォームにコンボボックス、ブール値、または初期値がある可能性があるため、すべての値がnullかどうかをテストできません...
JavaScriptと2つの送信ボタンを備えたソリューションがあります。
ボタン送信の値が「just_redirection」の場合は検証を適用しません。それ以外の場合は検証を適用します。
Symfony2 (または完全な PHP)に、送信されたフォームが最初のフォームと同じかどうかを知る方法はありますか?
apache - symfony/Apache 内部サーバー エラー
私は Symfony 3.1.9 (localhost) に取り組んでおり、マルチステップ フォーム用に CraueFormBundle をインストールしました。フォームにアクセスすると、500 internal server error
long には何もありません (Symfony は発生した問題を処理しません)。
私はApacheエラーログにこれを持っています:
では、その 64 個のワーカー スレッドとは何でしょう?! フォームが機能しないのはなぜですか?
編集 !アクセスログにこれがあります:
私のコード: formData クラス。
フォーム フロー クラス:
ステップ1 :
ステップ2 :
ステップ 3:
サービス :
そしてコントローラーアクション:
編集番号2 :) symfony dev.log
編集番号 3 ! dbrunmann のおかげで、次の場所でこれを見つけましたwamp->PHP->PHP error log
:
ご覧のとおり、Symfony はフローのフォームを作成できません。どこに問題がありますか?
doctrine-orm - CraueFormBundle : 複数のエンティティからフォーム フローを作成する
CraueFormFlow で複数ステップのフォームを作成しようとしています。CraueForm にはハイドレートするためのクラスが必要ですが、いくつかのエンティティがあるため、次のようなプロパティとして必要なエンティティがすべて含まれる addChildWizard クラスを削除します。
次に、フロークラスがあります:
各ステップに 1 つのフォームを使用。たとえば、ステップ 1 は次のとおりです。
アクションは次のとおりです。
これは完全に機能しますが、最後に次のエラーが発生します。
クラス "VS\CrmBundle\Entity\AddChildWizard" は、有効なエンティティまたはマップされたスーパー クラスではありません。
doctrine は @Entity アノテーションと Identifier を持つエンティティを必要とし、友人の Doctrine は識別子をデータベースに保存したいと考えています ....
データベースにIDを保存せずにこれを行う別の方法はありますか、それとも友人の Doctrine に耳を傾ける必要がありますか?
php - Symfony4 FormEvent onChange フィールドを craue/CraueFormFlowBundle ステッパーで使用してフォームを更新または検証する方法は?
- 環境 :
Symfony4 アプリケーションでcraue/CraueFormFlowBundleバンドルを使用して基本的な SYmfony4 フォームからステッパーを生成していますが、フォームイベントを導入してフォームの変更に応じてフォームを変更するまでは正常に動作します。
- コード :
コントローラー:
AddUserFlow.php
FormEvent を含む私のステップ 3 フォームは次のとおりです。
これが私のadd_user.html.twig
見解です:
step_3.html.twig ビューは次のようになります。
- 質問/問題:
私の問題は、CraueFlow が FormEvent で使用している方法で機能することを意図しているかどうかわからないことであり、ドキュメントが見つかりませんでした。
この質問で提示した方法を試していると、フローの最初のステップを含む Ajax 呼び出しから結果が得られます。その結果$('#add_employe_step_3_container').replaceWith($(html).find('#add_employe_step_3_container'));
、コンテナが見つからないため、コンテナに何もロードされません。
次のステップに進んでから 3 番目のステップに戻るとcompany
、ステップ 3 に新しいフィールドが表示されます。これは、グローバル フォームが更新されたように見え、formEvent が正しく機能しているためです。
アイデアや例はありますか?