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


7

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

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

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

解決策: @lodderのガイダンスに基づいて、JUIライブラリーを完全に機能させるために私が従った手順は次のとおりです。

  1. JUI Themerollerに行って、テーマと関連ファイルを作成/ダウンロードしました
  2. component/com_XXX/assets/jquery-ui-1.11.0.customダウンロードしたzipからテーマとライブラリーを含むフォルダーを作成しました。
  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');

回答:


1

追加のJSライブラリをインポートするには、次のJHtmlようなメソッドを使用する必要があります。

JHtml::_('script', JUri::root() . 'path/to/the/file/script.js');

私が別のjQueryUIウィジェットについて知っている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');

ただし、これはお勧めできません

アップデート2:

ドキュメントを見た後、独自のライブラリを追加し、次を使用してそれらを呼び出すこともできます。

JHtml::_('mylibrary.myloader');

これまで試したことがないので、これがどのように機能するのか正確にはわかりませんが、これも別の代替手段であり、Update 1を支持しています。


では、JUIライブラリ全体を置き換える必要があることを理解できますか?もしそうなら、Joomlaはデフォルト/実行中のバージョンを指定された必要なバージョンに置き換えることを「知っていますか」?
GDP

@GDP-私は私の答えを更新しました。これがより良い洞察を提供することを願っています
Lodder

ああ...あなたの元の答えで回避策を見つけました、そしてそれはうまくいきました、しかし今これを調べます...私は迅速な作成を支持して物事を行う「正しい方法のみ」に固執しようとしています仕事のアプローチ、笑。
GDP

私の回答の最初の部分とUpdate 2はどちらも正しい方法です:) Update 2の方法を使用することにした場合は、正確にどのように行うかを共有していただければ幸いです。これに関するドキュメンテーションとしての将来の参照はあまり詳細ではありません
Lodder

@GDP-使用した最終結果/方法に関するニュースはありますか?
Lodder 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.