我正在使用Extbase / Fluid为typo3 6.1.4构建天气小部件扩展。 扩展框架是使用extension_builder
创建的我的问题是:如何将css和js文件包含在模板中?
当试图添加一个viewHelper时,我得到了这个神秘的错误
1297645190: Ext Direct error in "TYPO3\CMS\Core\ExtDirect\ExtDirectApi" with namespace: "TYPO3"
Try to clear the TYPO3 cache and / or use paramater no_cache=1 as parameter in URL typo3/ajax.php
Check also the following points:
- configuration in ext_localconf.php: registration key should be like TYPO3.MyExtension.Sample"
- URL typo3/ajax.php: namespace parameter should be like: "TYPO3.MyExtension"
- javascript: method\'s name should be like: "TYPO3.MyExtension.Sample.myMethod
我还有另一个密切相关的问题
为什么后端模块和前端插件使用相同的模板文件?
如何区分两者?
答案 0 :(得分:1)
对于您的FrontendPlugin,您可能希望使用TypoScript添加JavaScript和CSS。在extbase扩展中,这通常在Configuration / TypoScript / setup.txt中完成:
page.includeCSS.myExtension = EXT:my_extension/Resources/Public/Css/MyCss.css
page.includeJS.myExtension = EXT:my_extension/Resources/Public/JavaScript/MyJs.js
至于你的第二个问题。您为前端插件和后端模块指定了相同的默认Controller / Action。
array(
'Weather' => 'list',
),
因此两者都在使用与其模板相同的动作。
答案 1 :(得分:0)
将CSS / Javascript等放入资源公用文件夹,即Resources / Public / Css / style.css
在流体模板中,您可以使用以下方法访问它们:
<link href="{f:uri.resource(path:'css/style.css')}" rel="stylesheet" type="text/css" media="all">
答案 2 :(得分:0)
关于后端视图模板的第二个问题:
在setup.txt(.ts)中,您可以为后端定义不同的模板根,如下所示:
module.tx_foobar {
persistence < plugin.tx_foobar.persistence
view {
templateRootPath = {$module.tx_foobar.view.templateRootPath}
partialRootPath = {$module.tx_foobar.view.partialRootPath}
layoutRootPath = {$module.tx_foobar.view.layoutRootPath}
}
}