Drupal 8.を使用しています。
私がやろうとしているのは:
field_test
の値を取得し、変数に割り当てます私のコンテンツタイプでは、コードで参照するフィールドであるfield_test
フィールドを作成しました。ブロックは、このコンテンツタイプのページに配置されます。
これは私が使用しているJavaScriptコードです。
custom:
version: 1.x
js:
js/custom.js: {}
dependencies:
- core/jquery
- core/drupalSettings
(function ($, Drupal, drupalSettings) {
Drupal.behaviors.mycustomblock = {
attach: function (context, settings) {
var testMe = drupalSettings.mycustomblock.test;
alert(testMe);
}
};
})(jQuery, Drupal, drupalSettings);
私がJavaScriptコンソールから得るエラーはこれです。
エラーメッセージはこの行を参照しています。
なぜかっこ内のDrupalのインスタンスがこのエラーをスローするのですか?
コアライブラリを追加する必要がありますcore/drupal
をライブラリの依存関係に追加します。これにより、カスタムモジュールのJavaScriptが実行される前に、DrupalコアJavaScriptがロードされることが保証されます。
したがって、mycustomblock.libraries.ymlは次のようになります。
custom:
version: 1.x
js:
js/custom.js: {}
dependencies:
- core/jquery
- core/drupal
- core/drupalSettings