jQuery UI Framework のドキュメントによると、sortable
などのJUIライブラリを使用するには、次のコードが必要です:JHtml::_('jquery.ui', array('sortable'));
jquery.ui.sortable.js
が存在する場合、これは明らかに正常に機能しますが、他のJUIライブラリ、特にドラッグ/ドロップに対応するファイルはありません。
コアJ3.xインストールに含まれていないJUIライブラリを使用する正しい方法は何ですか?
解決策:@lodderからのガイダンスに従って、完全に機能するJUIライブラリを取得するために実行した手順は次のとおりです。
component/com_XXX/assets/jquery-ui-1.11.0.custom
を作成しました。(この場所はLodderなしでは同じではありません)
JHtml::_('jquery.framework');
JHtml::_('script', JUri::root() . 'components/com_XXX/assets/jquery-ui-1.11.0.custom/jquery-ui.min.js');
追加のJSライブラリをインポートするには、次のようにJHtml
メソッドを使用する必要があります。
JHtml::_('script', JUri::root() . 'path/to/the/file/script.js');
別のjQueryUIウィジェットについて知っているno CDNリンクがあります。これは残念ですが、そうでない場合は次のようにすることができます。
JHtml::_('script', '//cdnjs.cloudflare.com/ajax/libs/script.js');
JSファイルの場所については、「media」フォルダーにフォルダーを作成してそこに配置するか、コアファイルと同じディレクトリに追加します。
ROOT/media/jui/js
更新1:
JUIライブラリを置き換える必要はありません。現在表示されているのは、ウィジェットを含まないコアライブラリです。インポート時に別のファイルから取得され、質問で指定したコードを使用して実行されるウィジェット。 Joomlaパッケージで提供されていないウィジェットを取得するには、私の回答で説明したように行うか、公式WebサイトでJUIパッケージをコンパイルしてjquery.ui.core.min
ファイルを含めます。次に、を使用すると、コンパイルしたウィジェットとともにコアがインポートされます。
JHtml::_('jquery.ui');
ただし、これはnotをお勧めします
更新2:
ドキュメントを見た後、独自のライブラリを追加し、次を使用してそれらを呼び出すこともできます。
JHtml::_('mylibrary.myloader');
これまで試したことがないので、これがどのように機能するのか正確にはわかりませんが、これも別の代替手段であり、Update 1を支持しています。