2

Silverstripeを使用していくつかのWebアプリケーションを開発しており、最新バージョンのjQueryを使用したいと考えています。

Silverstripeが実行されるフレームワークであるSapphireには、次のコードを使用する(古い)バージョンのjQueryが必要です。

Requirements(SAPPHIRE_DIR .'/thirdparty/jquery/jquery.js'); 

これには、生成されたすべてのWebページ上のこのファイルへのリンクが含まれます。Page_Controllerクラスのフレームワークの外部で次のコードを使用して、この要件をブロックできます。

Requirements::block(SAPPHIRE_DIR .'/thirdparty/jquery/jquery.js'); 

これにより、生成されたすべてのWebページからインクルードが削除されますが、SilverstripeCMSからインクルードも削除されます。

これに対する(ほぼ)簡単な修正は、jQueryのバージョンを/sapphire/thirdparty/jquery/jquery.jsにコピーすることですが、将来のアップグレードのためにSapphireフレームワークをそのままにしてクリーンに保つようにしています。

ネイティブのSilverstripe要件を使用すると、jQueryがページの最後にほぼ読み込まれるため、機能の一部が破損するため、これも問題を引き起こします。

とにかく、SilverstripeのjQueryのWebサイトへのロードをブロックし、CMSでは許可する方法はありますか?

4

1 に答える 1

4

$SilverStripeNavigatorSilverStripeは、.ssファイルにjQueryが含まれているか、使用しているモジュールがjQueryを必要としているため、ページにjQueryを含めています。さらに、に追加Requirements::block();してPage_ControllerもCMSには影響しません。

于 2011-10-05T00:14:33.273 に答える