web-dev-qa-db-ja.com

ノード/編集ページにhook_library()で定義されたライブラリをどのようにロードしますか?

モジュールがhook_library()を使用して機能するために必要なJavaScriptファイルとCSSファイルのライブラリを定義しました。

このライブラリをノード/編集ページにロードするにはどうすればよいですか?

2
Camsoft

私は drupal_add_library()hook_form_alter() 実装で次のように呼び出します:

function MODULE_form_alter(&$form, &$form_state, $form_id) {
  if (isset($form['#node_edit_form']) && $form['#node_edit_form') {
    drupal_add_library('MODULE', 'LIBRARY');
  }
}

これにより、ノードフォームが表示されるたびにライブラリが読み込まれるようになります。

そして、Berdirからのヒントを使用して hook_form_BASE_FORM_ID_alter およびkiamlalunoから使用するには #attached

function MYMODULE_form_node_form_alter(&$form, &$form_state) {
  $form['#attached']['library'][] = array('MODULE', 'LIBRARY');
}
6
Pierre Buyle

フォームを変更または出力する場合は、- #attached 属性を使用できます。これは、「フォームの作成時にCSS、Javascript、ライブラリ、またはカスタムタイプの読み込みを許可する」と説明されています。

0
kiamlaluno