6

LiferayCMSにはAlloyUIが付属しており、いくつかのjavascript関数(ドラッグ可能、並べ替え可能など)を実行できます。jQueryUIを使用するいくつかのjQueryプラグインも使用しています。また、Alloy UIの読み込みが遅く、オーバーヘッドが大きいため、Webページが大幅に遅れます。そのため、Alloy UIを削除して、jQueryUIを使用します。

Liferayはデフォルトで合金UIファイルをDOMにロードしますが、サーバー/ポートレットファイルで削除する必要があるもの(宣言など)はありますか?

4

2 に答える 2

4

簡単な答えは、私はわざわざ試してはいけないということです!これは、AlloyUIがLiferayUIに非常に不可欠であり、それがなければ、jQueryの代替品に置き換えるために多くの作業を行う必要があるためです。

Alloy UIは、ドラッグ可能なポートレットや並べ替えだけではありません。また、ポップアップ、AJAX呼び出し、および私がまだ遭遇していない他のもののロードを制御します。

ただし、本当にやりたい場合は、まずカスタムテーマを作成し、テーマからAlloy UIへの参照を削除して、代わりにjQueryをロードすることをお勧めします。

次に、1つまたは複数のフックを作成して(場合によってはEXTプラグインを使用して)、Alloy UIを参照するすべてのJSPファイルを、jQueryを使用して同じ機能を実行するコピーに置き換える必要があります。

または、別の方法として、GitHubでLiferayソースコードを作成し、ソースから独自のバージョンを作成して、AlloyUIを削除することもできます。

しかし、私はまだあなたがあなたの時間を無駄にしないことを強くお勧めします。好きでも嫌いでも、AlloyUIはLiferayに焼き付けられます。私の提案のいずれかに従うと、将来的にLiferayをアップグレードするのを効果的に阻止できます。

より良い提案は、Alloy UIをLiferayに改善する方法を提案するか、GitHubのAlloyUIリポジトリに貢献してコミュニティを支援することです。

~~編集~~

認証されていないユーザーのみに対してAlloyUIを無効にするには、portal-web \ docroot \ html \ common \themes\内のファイルを変更したHOOKでうまくいく可能性があります。特にtop_js.jspfを見てください。サインインしている場合にのみAlloyUIをロードするようにチェックを入れると、それが後の答えになる可能性があります。

于 2012-12-06T08:39:01.493 に答える
0

これは、barebone / everything.js構成を使用して実行する必要があります 。http ://www.liferay.com/documentation/liferay-portal/6.1/user-guide/-/ai/javascri-3を参照してください。

デフォルトロジックはcom.liferay.portal.events.ServicePreActionでコーディングされており、認証されていないユーザーはベアボーンJavaScriptファイルのリストを取得し、認証されたユーザーはベアボーンJavaScriptファイルのリストとすべてのJavaScriptファイルのリストの両方を取得します。

それがあなたのやりたいことだと思います。フックなどは必要ありません。

于 2013-02-12T12:28:36.727 に答える