タグ付けされた質問 「forms」

フォームAPIに関する質問に使用します。エンティティまたはエンティティフィールドフォームには使用しないでください。

3
お問い合わせフォームのtextareaフィールドのmaxlengthを実際に設定する方法
コアモジュールの連絡フォームのtextareaメッセージを特定の文字数に制限する必要があります。 ここに事実があります Form APIは、textareaフィールドタイプにmaxlengthを設定することを許可しません[プレーンHTMLは許可します] MAXLENGTHのモジュールは、あなたが実際に最大長を設定することはできません。各コンテンツタイプのフィールド管理セクションで定義されているフィールドの最大長から最大長を取得します hook_element_infoを使用して新しいフォーム要素タイプを作成しても、textareaに追加できる保証はありません#maxlength。その上、私が成功した場合、コンタクトフォームモジュールを再度変更して、実際のメッセージテキストエリアフィールドを私のもので上書きする必要があります。 だから私はそれを単純明快に変更できますか? Webサイトのすべてのtextareaフィールドを変更する最良のアイデアは何ですか?
11 forms  emails 


9
フォーム要素のdivラッパーのクラスを変更する
フォームAPIを使用してクラスをフォームラッパー(DIV)に追加または変更する方法はありますか? それとも、テーマ機能だけで行われますか? もしそうなら、それを変更するためにどのテーマ機能が使用されますか?
11 6  forms 

6
CSSクラスをフォームラベルに追加するにはどうすればよいですか?
Drupal 8フォームAPIを使用しているページのラベルにCSSクラスを追加したいのですが。それを適用する方法についての参考文献をオンラインで見つけることができませんでした。次の回避策を使用しましたが、奇妙な結果が生じます。 public function buildForm(array $form, FormStateInterface $form_state) { $form['label1'] = array( '#type' => 'label', '#title' => $this->t('QUESTIONNAIRE'), '#id' => 'lbl1', '#prefix' => '<div class="caption1">', '#suffix' => '</div>', ) ; レンダリングされるHTMLは次のとおりです。 <div class="caption1"><label for="lbl1" class="control-label"> <div class="caption1"></div>QUESTIONNAIRE </label> divステートメントが間違った場所にあるだけでなく、2回レンダリングされます。 私は数年前にこれが不可能であることを示す投稿を見つけましたが、それ以降、D8で修正されたことを期待しています。接頭辞/接尾辞ではなく、個別の配列要素として実行したいと思います。 PS:このサイトはDrupal 8.0.0-rc2です
11 forms  8 

4
テキストフィールドのオートコンプリートを追加する
カスタムモジュールのdrupal 8のテキストフィールドにオートコンプリートを実装しようとしました 私が欲しかったのは、autocompleteを介して入力した可能性のあるタイトルを取得して表示することだけだったので、フォルダディレクトリ-> mymodule / src / Controller / DefaultController.phpのDefaultController.phpのクラス内でパブリック関数autocompleteを宣言しました <?php namespace Drupal\mymodule\Controller; use Drupal\Core\Controller\ControllerBase; use Symfony\Component\HttpFoundation\JsonResponse; class DefaultController extends ControllerBase { public function autocomplete($string) { $matches = array(); $db = \Drupal::database(); $result = $db->select('node_field_data', 'n') ->fields('n', array('title', 'nid')) ->condition('title', '%'.db_like($string).'%', 'LIKE') ->addTag('node_access') ->execute(); foreach ($result as $row) { $matches[$row->nid] …
10 8  forms 

2
GETフォームの作成方法
たとえば、管理領域のフィルターフォームはGETフォームにするのが最適です。これにより、ブックマークが可能になり、ページャーページ間でフィルターを維持できます。 このようなフォームにform_apiを最適に使用するにはどうすればよいですか?_validateフックは送信されますか?_submitフックは省略できますか? たとえば、ビューに公開されたフィルターはこのように機能します。しかし、これを処理するビューのコードは複雑で複雑であり、複雑すぎて、単純なフィルターフォームでカスタムインターフェイスを開発する場合の良い例として使用できません。
10 forms 

3
hook_form_alter実行順序
モジュールの重みを変更したり、Drupal Coreをハッキングしたりせずに、Drupal 7でhook_form_alterの実行順序を変更する方法はありますか? translation_form_node_form_alterに追加された要素を翻訳モジュールから変更しようとしています。フォームをデバッグするときに要素が見つからないため、翻訳モジュールのフックが実行される前にフックが実行されていると思います。
10 7  forms  hooks 

3
マルチステップ/ウィザードフォーム
Drupal 8のマルチステップ/ウィザードフォームを作成しようとしています。 ユーザーは名、姓のフィールドに入力します 次のボタンをクリックします 詳細情報を記入 送信ボタンをクリックする このようにDrupalの7のための多段階またはウィザード形式に専念多くのリソース現在ありません1と、これは。 一方、Drupal 8のマルチステップ/ウィザードフォームを作成する「Drupal」の方法を理解するのに問題がありました。 私はいくつかの調査を行い、いくつかのアプローチがあると考えました: 新しい構成システムで値を保存する ウィザードフォームインターフェイスを使用する(コアにはまだありません) drupalセッションオブジェクトに値を格納する(存在するかどうか不明) Drupal 8に有効なアプローチはありますか?
10 forms  8 


2
カレンダーポップアップでクリックできる日をカスタマイズする
Drupal 7でフォームAPIを使用してフォームを作成しています。現在、次のコードで通常のカレンダー入力フィールドを作成できます。 $form['services_tab']['schedule_datepicker'] = array( '#title' => t('Pick the desired date'), '#type' => 'date_popup', '#date_year_range' => '0:0', '#date_format' => 'Y-m-d', '#prefix' => '<div id="datepicker-schedule">', '#suffix' => '</div>', ); 現在、美しいカレンダーポップアップを表示できます。私が達成しようとしているのは、次のようなルールに基づいて特定の日付を有効または無効にすることです。すべての土曜日と日曜日を無効にします。または、祝日のリストに基づいて特定の日付からクリック状態を削除する... これはPHPコーディングで実現できるものですか、それともjQueryで実行する必要がありますか?jQueryが解決策である場合、私はそれを行う方法についてのヒントをいただければ幸いです...カレンダーはテーブルですが、テーブルセルには、ルールに基づいてそれらを見つけて無効にするのに役立つIDまたは何かがありません。 .. ありがとうございました。
10 forms  datetime 


3
CToolsコンテンツタイププラグインでのAJAX呼び出し?
CTools Panels Content Type(つまり、ノードのタイプではなく、コンテンツを追加するときにパネルに挿入するもの)を構築していて、フォーム項目の#ajax属性を使用していくつかのデフォルト値を設定しようとしています。以下のコードを参照してください。 my_module_content_type_edit_form($form, &$form_state)ちなみに、これはすべてコンテンツタイプの呼び出しの内部です。 $form['link_type'] = array( '#type' => 'radios', '#title' => t('Link Type'), '#ajax' => array( 'callback' => 'my_module_set_target' ), '#default_value' => empty($conf['link_type']) ? '_blank' : $conf['link_type'], '#options' => array('none'=>t('No Link'), 'internal'=>t('Internal Link'), 'external'=>t('External Link'), 'document'=>t('Document Link')), ); 私のコールバックは次のとおりです。 function my_module_set_target($form, $form_state) { watchdog("Test", "Testing callback", array(), …

8
#ajaxボタンをクリックしたときにJS確認ポップアップを追加する方法
#ajaxが有効になっている基本的なFAPIボタン入力があり、それは正常に機能していますが、JSを追加しますか?「本当によろしいですか?」コードが実際に実行される前にボタンをクリックすると確認ポップアップが表示されます。FAPIのJSは、何をしようとそれに到達する前にクリックを食べているようなので、その方法はわかりません。 私は次のようにインラインのonclickハンドラーを追加しようとしました: $form['search_filters']['channels']['channel_delete_' . $channel->nid] = array( '#type' => 'button', '#name' => 'channel_delete_' . $channel->nid, '#value' => 'Delete', '#attributes' => array( 'class' => array('confirm'), 'onclick' => "return confirm('Are you sure you want to delete that?')" ), '#button_type' => 'no-submit', '#ajax' => array( 'callback' => 'delete_channel_callback', 'wrapper' => 'channel_container_' . $channel->nid …
10 7  forms  ajax  javascript 

1
フォームのテーマとして、データが正しく投稿されない、または正しく表示されないのはなぜですか?
管理者でフォームを作成しました。 $form['things'] = array( '#prefix' => '<div id="things">', '#suffix' => '</div>', '#tree' => TRUE, '#theme' => 'table', '#header' => array(t('Field Label'), t('Field Name'), t('Location'), t('Stuff')), '#rows' => array(), ); 次に、各行を次のように追加します。 foreach ($type_fields as $field_name => $attrs) { $stuff = array( '#type' => 'textfield', '#default_value' => $attrs['stuff'], ); $form['things']['#rows'][] = array( …
10 7  forms 

3
プログラムでフィールドのデフォルト値を設定する
Drupal 6では、PHPを使用してデフォルト値を設定できましたが、Drupal 7では同じコードを使用できません。 私はこれをを通じて試みていますhook_form_alter()が、コードが機能しません。 function my_form_alter(&$form, &$form_state, $form_id) { dsm($form); switch($form_id) { case 'accounts_node_form': $form["field_accounts"]["und"]['#default_value'] = $default; // … break; } }
10 7  forms 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.