フォームAPIを使用してフォームを定義するとき、次のように自分のCSSとJSをアタッチできます。
$form['#attached']['css'] = array(
drupal_get_path('module', 'my_module') . '/my_css_file.css',
);
$form['#attached']['js'] = array(
drupal_get_path('module', 'my_module') . '/my_js_file.js',
);
Drupal.orgのこのページ は、システムライブラリを同じ方法でアタッチできることを示唆し、この例を示しています。
$form['#attached']['library'][] = array('system', 'jquery.cookie');
ただし、この行をフォームに追加すると、次のようになります。
$form['#attached']['library'][] = array('ui.droppable');
その後、ライブラリは追加されません。
私が古い方法で行くと:
drupal_add_library('system', 'ui.droppable');
その後、追加されます。
何が悪いのですか?
実際の例から言えば、これが必要なものだと思います。
$form['#attached']['library'][] = array('system', 'ui.droppable');
モジュール名がないと、Drupalは、ライブラリフックの場所を知ることができません。
ただし、sites/all/libraries/myAwesomeLibrary
からカスタムライブラリを追加する場合は、これが正しい方法です。
$form['#attached']['libraries_load'][] = array('myAwesomeLibrary');