【问题标题】:How can we add javascript file to the front-end of typo3 from extensions我们如何从扩展将javascript文件添加到typo3的前端
【发布时间】:2019-11-15 15:58:53
【问题描述】:

我只想在渲染所有前端页面而不是后端页面时添加要添加的 javascript 文件。我试过了:

if (TYPO3_MODE=="FE" )   {
   $pageRenderer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRenderer::class);
   $pageRenderer->loadRequireJsModule('EXT:eyebase/Resources/Public/JavaScript/testinjectEyebaseJS.js','code');
}

但是这段代码在 CDATA 中添加了我的 js 文件,例如:-

<script type="text/javascript">
/*<![CDATA[*/
/*RequireJS-Module-EXT:eyebase/Resources/Public/JavaScript/testinjectEyebaseJS.jse6fb06210fafc02fd7479ddbed2d042cc3a5155e*/
require(["EXT:eyebase/Resources/Public/JavaScript/testinjectEyebaseJS.js"], code);

/*]]>*/
</script>

请指导我如何做到这一点。提前致谢。

【问题讨论】:

  • TypoScript 制作它有什么问题?为什么要用 PHP 来做呢?
  • RequireJS 通常只用在后端。您也可以在前端使用它,但设置完全取决于您,然后 TYPO3 没有任何标准。

标签: javascript typo3


【解决方案1】:
【解决方案2】:

您可以将其放入 TypoScript(“设置”部分):

page {
  includeJS {
    testinjectEyebaseJS = EXT:eyebase/Resources/Public/JavaScript/testinjectEyebaseJS.js
  }
}

在这里查看选项https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Setup/Page/Index.html#includejs-array

【讨论】:

  • 感谢 Jonas 的回复,但我的扩展名是用于后端的,我尝试为 TypoScript 制作所有必需的文件,但没有成功。我遵循以下文件结构:- site_package/Configuration/TCA/Overrides/sys_template.php site_package/Configuration/TypoScript/constants.typoscript site_package/Configuration/TypoScript/setup.typoscript 但它不会为前端加载我的 js 文件,因为 Bootstrap_Package扩展名用于 FE。我想从我的自定义扩展中为所有 FE 页面添加 Js 文件。我希望你明白我的问题。请指导我并提前致谢。
  • 它甚至可以使用 bootstrap_package。显然你的 TypoScript 没有加载。您是否将其包含在您的根页面中? (模板 -> 编辑 -> 包含在后端)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多