我创建了一个TYPO3插件,用于向tt_content添加新的内容列.
我需要后端的预览页面的页眉和页脚内容.一旦我得到页眉和页脚,我可以在这之间显示我的内容.我想在内容区域中插入一些编辑功能.这就是为什么我需要将html渲染输出到php变量.
我正在使用templavoila.
我试过这个 - 但是收到了一个错误:
$this->cObj = t3lib_div::makeInstance('tslib_cObj');
$conf = array('userFunc' => 'tx_templavoila_pi1->main_page');
$content = $this->cObj->USER($conf);
Run Code Online (Sandbox Code Playgroud)
#1316104317:无法确定扩展名"myplugin"和插件"ContentRenderer"的默认控制器.请检查ext_localconf.php中的TYPO3\CMS\Extbase\Utility\ExtensionUtility :: configurePlugin().
我有一个在TemplaVoila中映射的字段作为"元素容器",它在"数据处理"中生成一些Typoscript:
10= RECORDS
10.source.current=1
10.tables = tt_content
# my new added wrap
10.wrap = <div class="someClass"> | </div>
Run Code Online (Sandbox Code Playgroud)
有没有办法让我的新包装依赖于填充这个容器?我需要与以下功能相同的功能:
10 = TEXT
10.wrap = not empty: |
10.required = 1
Run Code Online (Sandbox Code Playgroud)
编辑:我设法检查容器中是否有任何内容:
10= RECORDS
10.source.current=1
10.tables = tt_content
10.stdWrap.wrap = <div class="someClass"> | </div>
10.stdWrap.if {
isTrue.field = field_contenttop
}
10.stdWrap.debugData = 1
Run Code Online (Sandbox Code Playgroud)
即使内部的内容被隐藏,它也可以包装容器.我需要仅依赖于可见元素.
我目前正在将我的FCE映射到Templavoila.用户有一个输入字段,应输入文本.如果未输入任何文本,则不应显示该元素.因此我有这个Typoscript代码:
10 = TEXT
10.value.field = field_member_tel
10.wrap = T: <span class="team-member-tel-content"> | </span>
10.if.isTrue.field = field_member_tel
Run Code Online (Sandbox Code Playgroud)
10.value.field不管用.我的输出只是T:.如何从现场获得价值?
也许我应该提一下,如果这个元素有所不同,那么这个元素就在容器中.
编辑:
这导致了相同的结果:
10 = TEXT
10.value = {field_member_tel}
10.insertData = 1
10.wrap = T: <span class="team-member-tel-content"> | </span>
10.if.isTrue.field = field_member_tel
Run Code Online (Sandbox Code Playgroud)
这是有效的,但我不需要在这里使用typolink:
10 = TEXT
10.typolink.parameter.field = field_member_email
10.typolink.title.field = field_member_name
10.wrap = E: <span class="team-member-email-content"> | </span>
10.if.isTrue.field = field_member_email
Run Code Online (Sandbox Code Playgroud) 到目前为止,我曾经使用模板自动解析器.我喜欢这样的事实:我可以使用typoscript修改模板的任何元素,而无需更改初始HTML文件.我也喜欢这样的事实:我可以直接在Web浏览器中呈现html模板,用虚拟元素填充它以查看菜单和内容元素的示例.最后,通过新的后端模板,我现在可以将内容元素放置在网格上的任何位置,以模仿网站的真实方面.
我知道还有TemplaVoila.我从来没有花时间去学习它.我的感觉是它与某些扩展不太兼容,但也许我错了.
现在,有流体,将在下一版本的Typo3中使用.虽然使用模板标记显然更好地使用它,但我真的不明白为什么我应该使用Fluid比使用模板自动解析器或TemplaVoila更好.我不喜欢的是它需要用特殊标签修改html模板,这意味着网页设计师必须知道Fluid,或者Typo3集成商每次执行修改时都必须修改设计师的模板.
我的问题是:我应该将表单模板自动解析器迁移到Fluid for my website template吗?使用Fluid有什么好处?为什么要更好?Typo3应该使用什么模板系统?