TYPO3 - 将javascript代码添加到内容元素中 - 我不知道它是否可行

时间:2015-08-21 05:34:51

标签: typo3 typoscript typo3-6.2.x

在TYPO3中,我想在页面的内容元素中添加一些javascript代码,但我不知道是否可能。

例如: enter image description here

我认为这可能是用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'是什么意思?

请帮帮我..

提前致谢。

1 个答案:

答案 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所指出的那样:这些数组中具有较低索引的定义包含在之前具有较高索引的那些。