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

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

2
チェックボックス:デフォルト値を設定したり、フォームAPIを使用してユーザー定義値を表示するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? Drupal Answersのトピックとなるように質問を更新してください。 6年前休業。 私は、Drupal 7用に開発を開始したモジュールのフォーム内で、checkboxes要素を使用しています。これは、モジュール開発とForm APIを使用する最初の試みです。特定のサイトのすべてのコンテンツタイプをリストするチェックボックスのリストを作成しています。すべてのコンテンツタイプの配列は、以下を使用して取得できます$nodeTypesRaw=node_type_get_names();。キーとしてコンテンツタイプのマシン名を含み、値として人間が読める名前を含む配列が取得されます。 デフォルトでは、すべてのチェックボックスをオンにして、フォームが送信されるようにします。どうすればそれを達成できますか?drupalサイトのForm APIページは、チェックボックスのデフォルト値の設定に関してはあまり役に立ちません。 $nodeTypesRaw=node_type_get_names(); $nodeMachineNames=array_keys($nodeTypesRaw); $form['process_comments']['custommod_published_comments_select_node_types']['custommod_published_comments_node_types_checkboxes']=array( '#deafult_value'=>$nodeMachineNames, '#options'=>$nodeTypesRaw, '#type'=>'checkboxes', ); 最初は上のコードから始めましたが、機能しません。チェックボックスのリストは表示されますが、デフォルトではチェックされていません。ただし、変数はフォームの送信時に取得されます(drushとvar_dumpで確認)。
7 forms 

4
特定のラジオボタンのdivラッパーを追加/変更しますか?
デフォルトでは、ラジオボタンのHTMLマークアップは(Drupal 7)のようになります。 <div class="form-item form-type-radio form-item-SOME_ID"> <input id="edit-SOME_ID" class="form-radio" type="radio" value="SOME_VALUE" name="SOME_NAME" /> <label class="option" for="edit-bla-bla">MY LABEL</label> </div> 外側の一部のcssクラスを変更または追加するか<div>、ラッパーを追加する必要があります<div>。それ、どうやったら出来るの?
7 7  theming  forms 

3
フォームAPIを使用してjquery.ui.datepickerウィジェットをフォーム要素に添付できますか?
一般的なフォーム要素があります: $form['date'] = array( '#type' => 'textfield', '#title' => t( 'Date' ), ); この要素にjquery ui datepickerを追加したいこと。フォームapiを使用してこれを行う方法はありますか、またはdrupal_add_jsを使用して以下を追加する必要がありますか? $('#edit-date').datepicker(); それとも、もっと良い方法がありますか?
7 7  forms  javascript 

1
Memcacheとフォームキャッシュ-フォームキャッシュ用のデータベースを指定する必要がありますか?
Drupal 7では、Memcache APIと統合の一般的な設定は、これをsettings.phpに追加することでした。 $conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc'; $conf['lock_inc'] = 'sites/all/modules/memcache/memcache-lock.inc'; $conf['memcache_stampede_protection'] = TRUE; $conf['cache_default_class'] = 'MemCacheDrupal'; // The 'cache_form' bin must be assigned to non-volatile storage. $conf['cache_class_cache_form'] = 'DrupalDatabaseCache'; // Don't bootstrap the database when serving pages from the cache. $conf['page_cache_without_database'] = TRUE; $conf['page_cache_invoke_hooks'] = FALSE; 引き続きデータベースを使用するように指示されているフォームキャッシュの重要性に注意してください。 Drupal 8の場合、READMEには次の追加のみが記載されています。 $settings['cache']['default'] = …
7 8  forms  caching 

2
通常の送信の「入力」タイプを「ボタン」タグ付きの「ボタン」タイプに変更する
Drupal 8では、通常のフォーム送信ボタンをDrupalからボタンタグに変更できますか? これは私が達成する必要がある出力です: <button type="button" class="search-box__button"> <svg class="icon search-box__open"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/build/img/svg-sprite.svg#icon-search"></use> </svg> </button>
7 theming  8  forms 

3
プログラムでエンティティフォームを生成するにはどうすればよいですか?
プログラムでカスタムエンティティのエンティティフォームを生成する必要があります。基本的に、呼び出し時に発生するのと同じ出力を取得します \Drupal::formBuilder()->getForm('form namespace') 私のエンティティフォームでそれをやろうとすると、エラーが発生します: Call to a member function getEntityTypeId() on null in Drupal\Core\Entity\EntityForm->getBaseFormId() (line 77 of core/lib/Drupal/Core/Entity/EntityForm.php). 本当に進む方法に本当に困惑しました。 ここに私が使用しているコードの難読化されたバージョンがあります エンティティの定義: /** * Defines the My Entity entity. * * @ingroup my_module * * @ContentEntityType( * id = "my_entity", * label = @Translation("My Entity"), * handlers = { * "view_builder" …
7 forms  8 

2
ユーザーログインフォームをカスタマイズする方法は?
/user/loginページのユーザーログインフォームをカスタマイズしようとしています。ユーザーログインフォームのhook_form_alter各フィールドに素晴らしいスタイルとプレースホルダーを追加し、「管理者のユーザー名を入力」と「付随するパスワードを入力」を削除または非表示にする機能を使用したいと思いますあなたのユーザー名」の各テーマの下の説明表現。 この問題を解決するために、以下のコードをThemeName.themeに追加しました。 function ThemeName_form_alter(&$form, $form_state, $form_id) { if ( $form['#form_id'] == 'user_login_form' ) { $form['actions']['submit']['#attributes']['class'][] = 'button glow button-primary expanded'; $form['keys']['#attributes']['placeholder']['name'] = t('User name'); $form['keys']['#attributes']['placeholder']['password'] = t('Password'); } } いろいろな方法で試してみましたが、結果が出ません。最後に私は下の画像のようなものを達成したいと思います: 私はこのページを読みましたが、Drupal 8では何も機能しないよう です。ユーザー登録フォームとユーザーログインフォームのフィールドを変更する方法は? デフォルトのユーザー登録ページの変更 ユーザーログインブロックのカスタマイズ
7 8  forms  theming 

2
/ user / login以外の代替ログインページの作成
私は、Drupal 7で次のコードを使用してこれをなんとかしました。 function my_special_paths_menu() { $items['authenticate'] = array( 'title' => 'Log in', 'page callback' => 'drupal_get_form', 'page arguments' => array('user_login'), 'access callback' => 'user_is_anonymous', ); return $items; } 私の質問、このコードは完全ですか、それともメニュー項目配列の一部の構成が不足していますか?コードは安全ですか?
7 7  forms  users 

1
埋め込みコントロール8 #table要素?
Drupal 8の#table要素を使用してフォームのテーブルにデータを入力していますが、静的データを表示するのに最適です。 foreach ($entries = getData() as $entry) { $row = array_map('Drupal\Component\Utility\SafeMarkup::checkPlain', $entry); $rows[] = $row; } $form['table'] = array( '#type' => 'table', '#header' => $headers, '#rows' => $rows, '#attributes' => array('id' => 'my-module-list'), '#empty' => t('No entries available.'), ); ただし、次の例のように、テーブルの各行にコントロールを埋め込みます。 foreach ($entries = getData() as $entry) { $row = …
7 forms  8 

3
追加の引数/パラメーターをajaxコールバック関数に追加するにはどうすればよいですか?
drupal 7を使用しています。ajaxコールバック関数に引数を追加する必要があります。私のフォームには5つのフィールドセットがあり、それらすべてに同じ要素があり、IDが異なるだけです。例えば; group-1、group-2...その1,2,3..部分をコールバック関数に引数として含める必要があります。そうしないと、変更が必要なフィールドセット要素を予測するロジックを構築するのが複雑になります。 たとえば、そのような実装は可能ですか? function mymodule_form($form, $form_state) { $group = 1; // Some form elements... $form['button'] = array( '#type' => 'button', '#ajax' => array( 'callback' => 'my_callback_function', 'wrapper' => 'my_target_area', 'arguments' => array($group1, ...) // Is such a thing possible or another way? ), ); } function my_callback_function($args, $form, $form_state) …
7 7  forms  ajax 

1
フォームコンポーネントに基づくwebforms / entityformsで複数ステップの承認を実装する方法は?
WebformまたはEntityformのいずれかを使用してマルチステップ送信ワークフローを呼び出すことは可能ですか?ワークフローのシナリオは次のとおりです。 従業員がフォームを送信します スーパーバイザーは通知を受け取り、フォームを確認した後、フォームを承認するか、同じ送信の要求を拒否します。 承認されると、メール通知がDirectorに送信され、Directorが同じ提出を承認または不承認にします。 上司によって拒否された場合、メールが従業員に送信されます。 このシナリオには、同じリクエストに対する複数の役割による提出が含まれます。従業員の役割に対して承認フィールドを非表示にすることはできますが、通知目的のルールを介してWebフォーム承認フィールドコンポーネントにどのようにアクセスしますか?フォームの状態をどのようにフリーズしますか? すべてのフォームコンポーネントが公開されているため、エンティティフォームを使用する必要がありますか?最後の手段として、forms_apiを使用して独自のソリューションを実装する場合があります。しかし、Webフォームまたはエンティティフォームを使用して可能かどうかを最初に知りたいと思います。

3
AJAXコールバック後にフォームがレンダリングされるときにすべてのAJAX機能をエミュレートするにはどうすればよいですか?
Drupalフォームがありますが、AJAXコールバックの結果としてページに追加しています。 新しいコールバックをトリガーするには、このフォームが必要です。以下の私のコード: $form['#suffix'] = '<div id="form-return-message-box">this is the return box</div>'; $form['#attached']['js'] = array('misc/ajax.js'); $form['markup'] = array( '#type' => 'markup', '#markup' => '<h2>This is a form</h2>' ); $form['button'] = array( '#type' => 'button', '#value' => t('Submit'), '#ajax' => array( 'callback' => 'module_myform_callback', 'wrapper' => 'form-return-message-box', 'method' => 'replace', 'effect' => 'fade', …
7 ajax  forms 

1
約50のフィールドを持つノード追加フォームを高速化する方法は?
約50のフィールドを持つノード追加フォームがあり、ほとんどが1つのフィールドコレクション(別の5つのフィールドを持つ)を持つテキストと、いくつかのエンティティと用語参照があります。 ページの読み込みに約30秒かかり、使用できなくなります。 いくつかの遅いクエリがあります(99.28-DrupalDatabaseCache :: getMultiple、34.21-views_plugin_query_default :: execute、20.51-DrupalDefaultEntityController :: load、18.46-DrupalDatabaseCache :: getMultiple、17.46-DrupalDatabaseCache :: getMultiple .. Cache :: getMultipleクエリには1087のプレースホルダーがあり、EntityController :: loadには1084のプレースホルダーがあります。 完了までにさらに30秒かかるフィールドコレクションの[別のアイテムを追加]をクリックした場合。 ページの読み込み時間を短縮するにはどうすればよいですか? 編集:私はAPCをインストールしましたが、すべてのキャッシュクエリが削除されましたが、問題は解決しませんでした-まだ約30秒の読み込み時間です。遅いロード時間はキャッシングに関連しているとは思いません。約280MBのメモリロードを使用してページを構築しています。 編集:フィールドコレクションを削除し、memcacheとentitycacheをインストールすると、読み込み時間が20秒短縮されました。ただし、最初にページをロードするのに10秒かかり、ajaxリクエストごとにさらに10秒は許容されません。多数のフィールドでWebフォームはどのように機能しますか?多分それはより良いオプションでしょうか?

2
ajaxコールバックが実行された後にフォームを再構築します
ボタンが付いたフォームがあり、これを押すとajaxリクエストを介してフォームの別の部分が再構築されます。 ボタンをクリックするとフォームが再構築され、フォームの値を保存してフォームの一部を返す私のajaxコールバックが呼び出されます。 問題は、値を保存するコールバックの前にフォームが再構築され、フォームの構築方法が変更されることです。 もう一度ajaxボタンをクリックすると、フォームがビルドされたときの前回のajaxリクエストの値と同じように正しく機能します。 フォームが再構築される前にコールバック関数を実行するにはどうすればよいですか? function emtr_shift_plan_form($form, &$form_state) { ddl('build'); // log that this function is being called $form['save'] = array( '#type' => 'button', '#submit' => array('emtr_shift_plan_form_ajax_submit'), '#value' => 'Save', '#ajax' => array( 'callback' => 'emtr_shift_plan_form_ajax_submit', 'wrapper' => 'postions', ), '#id' => 'ajax-save-form-values', ); $form['postions'] = array( '#type' => ' …
7 7  forms  ajax 

1
フォームで許可される要素の最大数はいくつですか?
この質問をググググ鳴らしてヤフーしましたが、答えが見つからないようです。800以上のフィールドを含むフォームで作業していましたが、フォームの送信機能が実行されませんでした。フォームを縮小した後、送信機能が実行されました。ですから、実際に組み込まれている要素の最大数があるかどうか知りたいです。
7 7  forms 

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