我们正在使用Silverstripe开发一些Web应用程序,并希望使用最新版本的jQuery。
Sapphire,Silverstripe运行的框架需要使用以下代码的(较旧的)jQuery版本:
Requirements(SAPPHIRE_DIR .'/thirdparty/jquery/jquery.js');
这包括所有生成的网页上此文件的链接。我们可以使用Page_Controller类框架之外的以下代码阻止此要求:
Requirements::block(SAPPHIRE_DIR .'/thirdparty/jquery/jquery.js');
这将从所有生成的网页中删除包含,但它也会从Silverstripe CMS中删除包含 - 导致其中断。
(几乎)简单的解决方法是让我们将我们的jQuery版本复制到/sapphire/thirdparty/jquery/jquery.js中 - 但我们正在努力保持Sapphire框架不受影响并保持清洁,以便将来升级。
这也会产生问题,因为使用原生的Silverstripe要求意味着jQuery几乎在页面上最后加载 - 破坏了我们的一些功能。
是否有阻止在网站上加载Silverstripe的jQuery但在CMS中允许它?
答案 0 :(得分:4)
SilverStripe在您的网页中包含jQuery,因为您的$SilverStripeNavigator
文件中有.ss
或您正在使用的模块需要它。此外,将Requirements::block();
添加到Page_Controller
不应影响CMS。