我把头发拉过来 .
我使用Extension Builder创建了一个T3-Extension - 后端模块 . 现在我想为用户提供链接向导,因此她/他可以从T3-Tree中选择内部链接 .
我为此创建了一个TCA-Entry:
'url' => [
'label' => 'Link',
'exclude' => 1,
'config' => [
'type' => 'input',
'size' => '50',
'max' => '256',
'eval' => 'trim',
'renderType' => 'inputLink',
'fieldControl' => [
'linkPopup' => [
'options' => [
'blinkLinkOptions' => 'mail,page,spec,url,folder',
'blindLinkFields' => 'class,params,target,title',
'allowedExtensions' => 'html,php'
],
],
],
'fieldWizard' => [
'localizationStateSelector' => [
'disabled' => false,
]
]
],
],
在流体模板(视图)中,我只是使用它:
<f:form.textfield property="url" />
根据文档,TCA-config应在输入字段后添加一个按钮 .
但事实并非如此 .
我做错了什么或者这根本不起作用?
我也尝试在我的模板中使用flux(它有一个链接浏览器视图帮助器),但是当我使用 <flux:...>
时,表单中没有呈现任何内容 .
使用Typo3 8.7
1 回答
我终于找到了解决方案 .
这是我的扩展控制器
其中«mytable»是控制器使用的表,«editform»是表单名称,«url»是用于存储值的数据库字段 .
出于某种原因,您需要将表单命名为«editform»,因为sysext-JS指的是它 .
您需要将其添加到控制器才能使其正常工作:
在流体模板中,您必须使用:
因为它返回html代码 .
现在初始化FormEngine
将其添加到
<f:be.container...>
部分的Default.html中:我也包括了ckeditor .
现在,您需要初始化FormEngine . 我在main.js中这样做了:
第一行很重要,否则JS会抛出错误 .
希望这有助于某人 .