web-dev-qa-db-ja.com

ドラッグ可能などの追加のjQuery UIライブラリを使用する方法

jQuery UI Framework のドキュメントによると、sortableなどのJUIライブラリを使用するには、次のコードが必要です:JHtml::_('jquery.ui', array('sortable'));

jquery.ui.sortable.jsが存在する場合、これは明らかに正常に機能しますが、他のJUIライブラリ、特にドラッグ/ドロップに対応するファイルはありません。

コアJ3.xインストールに含まれていないJUIライブラリを使用する正しい方法は何ですか?

解決策:@lodderからのガイダンスに従って、完全に機能するJUIライブラリを取得するために実行した手順は次のとおりです。

  1. JUI Themeroller にアクセスし、テーマと関連ファイルを作成/ダウンロードしました
  2. ダウンロードしたZipからのテーマとライブラリーを含むフォルダーcomponent/com_XXX/assets/jquery-ui-1.11.0.customを作成しました。
  3. 以下のコードを私のコンポーネントに追加し、「tada」... JUIのすべての機能を使用できました。

この場所はLodderなしでは同じではありません

JHtml::_('jquery.framework');
JHtml::_('script', JUri::root() . 'components/com_XXX/assets/jquery-ui-1.11.0.custom/jquery-ui.min.js');
7
GDP

追加の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を支持しています。

1
Lodder