Как использовать собственную версию jQuery в Silverstripe - PullRequest
2 голосов
/ 05 октября 2011

Мы разрабатываем некоторые веб-приложения с использованием Silverstripe и хотим использовать последнюю версию jQuery.

Sapphire, среде, на которой работает Silverstripe, требуется их (более старая) версия jQuery с использованием следующего кода:

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

Включает ссылку на этот файл на всех созданных веб-страницах.Мы можем заблокировать это требование, используя следующий код за пределами каркаса в классе Page_Controller:

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

Это удаляет включение из всех сгенерированных веб-страниц, но также удаляет включение из CMS Silverstripe - вызывая егоперерыв.

(почти) простое исправление для этого - скопировать нашу версию jQuery в /sapphire/thirdparty/jquery/jquery.js - но мы стараемся не трогать и очищать среду Sapphire.будущие обновления.

Это также создает проблемы, поскольку использование собственных требований Silverstripe означает, что jQuery почти загружается в последнюю очередь на странице, что нарушает некоторые из наших функций.

Есть ли способ заблокировать загрузку Silverstripe?jQuery на веб-сайтах, но разрешить это в CMS?

1 Ответ

4 голосов
/ 05 октября 2011

SilverStripe включает jQuery на ваших страницах, потому что у вас либо $SilverStripeNavigator в вашем файле .ss, либо модуль, который вы используете, требует его.Кроме того, добавление Requirements::block(); к Page_Controller не должно влиять на CMS.

...