問題タブ [drupal-webform]
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.
design-patterns - 動的フォームの設計、保存、検索
カスタムの動的に生成されたフォームの背後にある設計は何ですか?
drupal の CCK のようなものを実装したいと考えています。
コントロール パネルで、フォームの所有者は、フォームにどのフィールドを配置するか、フォーム フィールドを配置する順序、および「必須: はい/いいえ」などのフィールドの属性を設計します。
フォームが設計されると、エンド ユーザーはフォームに入力して送信します。
現在、ユーザーにカスタム フォームを作成してもらうことができます。問題は、フォームのコンテンツの保存と取得にあります。
通常、フォームを作成すると、誰のデータが db に保存され、フォームのデータをデータベースに入力するために必要なコードも作成されます。フォームがほぼ毎回異なるフィールドで常に変化している場合、このコードはどのように記述されるのでしょうか?
基本的に、フィールドの数や種類に関係なく、カスタム フォームの保存と取得を可能にするデータベース設計を理解する必要があります。
フォームを送信するたびに新しいテーブルを作成したくはありませんし、フォームごとに手動でコードを記述したくもありません。
これらは私が必要とする主なフィールドタイプです
- テキストボックス
- リストを選択
- ラジオボタン
- チェックリスト
- 日付フィールド
- テキストエリア
以下は、私が思いついたデータベース設計です
表1
id、formid、type、position、name、value、select(foreign)、multiple
id: そのレコードの一意の ID、auto
formid: 一意のフォーム ID。特定のフォームのすべてのフィールドが同じフォーム ID を共有します。
タイプ: テキストボックス、選択リスト、ラジオなどの可能性があります。
位置: フィールドは 1 番目、2 番目、または 5 番目ですか?
name: フィールドの一意の名前
値: テキストボックスの場合、デフォルト値がここに入力されます。フィールドのタイプが値を必要としない場合は、null のままになります。
select (foreign): 選択リスト ボックスの場合、外部 ID 番号が表示されます。
複数: そのリストボックスで複数選択を許可する場合、値は 1 になります。それ以外の場合は null になります。
table2 ID、選択、値
したがって、選択リスト ボックス フィールドが必要な場合は、table1 にタイプが selectbox になり、table2 に「select」に関連する外部キーの値が表示されます。
テキスト領域が必要な場合は、table1 に入力するとテキスト領域になります。デフォルト値が必要な場合は入力します。それ以外の場合は null になります。
table1 にはすべての属性のリストが含まれているわけではありませんが、要点はわかります。必要なフィールド タイプに応じて、入力する必要がある属性が決まります。その属性が追加のデータを格納する必要がある場合、たとえば選択リスト ボックスなど、table2 で行われたように単純に関係を作成します。
フォームをレンダリングするために、システムはデータベース内のデータを解釈し、それに応じてフィールドを作成します。
ここまでは順調ですが、フィールドが常に変化している場合、どのようにしてデータをデータベースに保存するのでしょうか?
そのようなデータを保存するには、どのようなデータベース設計が必要ですか?
上記はフォームを動的に生成する正しい方法ですか?
templates - Web フォーム用の Drupal ノード テンプレート
検索と編集を容易にするために、Web フォーム ノードに読み取り可能な名前を付けようとしています。私が作成した「webform-form-12.tpl.php」というテンプレートとそのテーマを使用できますが、「node-webform-form-athlete-of-the-month_submit-your-」のようなものを使用したいアスリート.tpl.php」。私がこの Web フォームに付けたパスは、「今月のアスリート/あなたのアスリートを提出する」です。私が試した名前では機能しません。ノードの前処理関数を使用して、テンプレート ファイル名を追加しています。私はこれまでにこれらを試しました: node-webform-athlete-of-the-month_submit-your-athlete.tpl.php : 「node-athlete-of-the-month_submit-your-athlete.tpl.php」はテンプレートを使用していますが、フォームがありません。
jquery - Drupalのwebformモジュールを使用して、標準テキスト入力をjqueryカレンダーポップアップに変更しますか?
Webform モジュールを使用して作成された Drupal の簡単な予約フォームがあります。日付/時刻フィールドをテキスト ボックスからカレンダー ポップアップに変更したかったのです。これはできますか?
email - DrupalWebformの電子メールレシート
フォームに記入するユーザーに送信するメールの領収書を設定しようとしています。Webform6.x-3.1を使用しています。このWebフォームのヘルプページ「admin/help / webform」では、「フィールドの追加が完了したら、管理者に電子メールを送信するか、フォームに入力したユーザーに返信することができます。をクリックしてください。コンテンツの[Webフォーム]タブの下にある[メール]サブタブ。」 このバージョンでは「追加処理」機能がなくなったようです。
[電子メール]タブの下に非表示の電子メールフィールドを追加して、フォーム送信者に電子メールを送信しようとしましたが、機能しませんでした。私が行ったのは、「email_user」という非表示のフィールドを追加し、デフォルト値として、入力する電子メールフィールドが「email」であるため、%post[email]を指定したことです。投稿を取得しているようには見えません。
誰かがこれを機能させているか、それを行う方法を理解していますか?
html - drupal Webform HTML 電子メール フック
HTML でフォームを送信したユーザーにお礼のメールを送信しようとしています。template.php ファイルでフックを使用して、このようにヘッダーを正しく設定することがわかりました。
これは、「ありがとう」の電子メールに対してうまく機能します。サイト管理者がフォームの結果で受け取る電子メールも html ですが、この電子メールでは改行が改行に変換されていません。これにフックを使用する方法がわからないため、webform.module ファイルを編集して次のようにする必要がありました。
これは template.php のフックで実行できますか?
select - drupal Webフォーム選択リストの最初の値が空の
選択リストに空の値のデフォルト オプション、または値のない「選択」が必要です。ドキュメントでこれを行う方法についての言及はありません。// $Id: webform.module,v 1.196.2.47 2010/08/16 17:54:19 quicksketch Exp $
validation - Webフォーム検証Drupal
Drupalを介してWebフォームで特別な検証を追加したいと考えています。「詳細設定」にPHPコードを追加できる古いフォームのようです。このリンクによると、私たちはもうこれを行うべきではありません。(Drupal 6の実行)
私が持っているのは、いくつかのフィールドを非表示にし、いくつかの異なるフィールドを表示するチェックボックスです。したがって、検証では、チェックボックスがオンになっているかどうかに応じて、「存在する」フィールドのみを検証する必要があります。(JQueryでそれらを非表示/再表示させます)。最後のステップは、検証コードを変更することです。
Webフォーム検証モジュールを調べましたが、チェックボックスに基づいて特定のフィールドを指定できないため、必要なものが保持されていないようです。
どうすればこれを行うことができますか?
select - DrupalWebフォームの選択した要素のオプションを変更することはできません
Drupalは初めてです。いくつかの要素と2つの選択ボックスを使用してWebフォームを作成しました。すべてうまくいった。それは先週でした。
ここで、値を変更したいのですが、奇妙なことに、フォームコンポーネントページのどこにも値のリストが表示されません。新しい選択ボックスを作成して新しいオプションを提供する方法すらわかりません。私はこれを担当するいくつかのモジュールを殺すと思います。わからない。
それが助けになるなら、FCKEditorがインストールされています。
スクリーンショット:http ://twitpic.com/2sqytr
validation - Drupal Webフォームの検証(webform_form_alter)
webform_form_alterを使用してWebフォームの検証を行っています。「選択」フィールドで特定のコンテンツを切り替えるため、webform_form_alterを使用しています。
webform-form-317.tpl.phpで、新しいフィールドセットを定義しました。フィールドをこの新しいフィールドセットに設定し、元のフィールドセットをWebフォームから設定解除しました。
私のwebform_form_alterには、次のコードがあります。
私のValidate_form関数は次のようになります。
問題は、ユーザーがテキストフィールドに何かを入力しても何も表示されないため、$ form_values ['submitted_tree']['ContactInfo']['phone_home']が返されることです。
私が間違っていることについて何か提案はありますか?
誰かが答えた場合の2番目の質問として、これらのテキストフィールドのを変更して、クラスを「フォームテキストが必要なエラー」に設定し、残りの必須フィールドとともに赤で表示されるようにするにはどうすればよいですか。
ありがとう
java - Drupal + Content Construction Kit - Java 用の柔軟な Web フォーム作成
Content Construction Kit に相当する Java と Drupal の提供フィールドを探しています。私は、Tomcat で実行できるほぼすべてのビュー テクノロジで解決します。
次の機能は私にとって重要です。
- フォーム フィールド タイプ、ID、およびラベルを指定する
- フィールドの任意の順序
- フォームの URL とメソッドを指定する
- フィールドタイプ/正規表現による検証
- コードを簡単に記述して新しいフィールド タイプを作成する
データは、表示よりもクエリに使用されます。「ブログ投稿」よりも「イベント登録フォーム」と考えてください。
免責事項: このようなものは存在しないと確信しています。私の上司に何人かの PHP 開発者を雇うように伝えることができるように、私が正しいことを確認したいと思います。