在TYPO3中,我想在页面的内容元素中添加一些javascript代码,但我不知道是否可能。
我认为这可能是用typoscript解决的。 typoscript中是否有任何方法可以将javascript代码包含在内容元素中?
此外,什么是typoscript中的'page.jsInline'?
我在搜索过程中得到了以下代码,
page.jsInline {
4711 = TEXT
4711.dataWrap (
window.fbAsyncInit = function() {
FB.init({
appId: '',
status: true,
cookie: true,
xfbml: true
});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
)
}
我认为这可能对我有帮助......但是这个数字'4711'是什么意思?
请帮帮我..
提前致谢。
答案 0 :(得分:3)
答案在很大程度上取决于该内容元素(CE)中的内容。
如果是您的自定义插件,您可以通过f:uri.resource从插件的模板进行操作,或者更好地通过v:asset.script(您需要EXT:vhs for the that )。
如果你想将你的JS添加到现有的CE ,比如“文字”,“图片”,“带图片的文字”等,而不是全部,但是对于某些指定,我不要不知道开箱即用的方法。但是你可以通过EXT获得所需的CE create a container, which is built only from one grid element:fluidcontent。并将您的JS包含放入容器的模板中。 因此,结果您首先将容器放在页面上,然后将所需的CE放入容器中。 我建议阅读complete manual Flux-family扩展来获取想法,你在做什么:)
至于page.jsInline
我建议检查TS Reference。简而言之:有可能通过不同的选项为所有页面添加CSS / JS 全局(或者不是全部,如果你使用conditions),你可以在TS中找到它们参考(我建议使用includeJS
)。从参考文献中可以看出,所有CSS / JS包含选项都是数组,而像 4711 这样的数字只是这个数组中的索引。通常,扩展程序的开发人员尝试使用某些唯一数字来避免与TYPO3集成商重叠。所以, 4711 只是一些随机数。
正如@pgampe所指出的那样:这些数组中具有较低索引的定义包含在之前具有较高索引的那些。