问题描述
|
我想通过使用两个后备输出将字符串输出到呈现的HTML。
我的打字稿定义在顶层页面(我网站的根目录)上,并传递到下层的所有页面。
结构体:
主页
1级页面
2级页面
文件的常规输出:
该字符串来自TemplaVoila字段(页面/编辑/扩展/ MyField):field_copyright_name
要将其输出到HTML输出中的所需点,存在一个templaVoila映射(类型:Typoscript对象路径),名为:lib.copyright_name
以下打字稿可以完成这项工作:
lib.hint_copyright_name = COA
lib.hint_copyright_name.10 = TEXT
lib.hint_copyright_name.10 {
setCurrent.dataWrap = {field:field_copyright_name}
current = 1
}
这适用于字段(在页面属性中)不为空的所有级别的所有页面。
第一次后备:
如果该字段为空(在该页面的属性中,例如在2级),则打字稿应从上一页获取该值(在1级,并且如果也为空,则应从首页获取该值)。不知道该怎么做。你能帮我吗?
第二回退
如果第一次回退仍然返回一个空字符串(因为该字段在所有级别均为空),则应回退到默认值\“ copyright by me \”。
要在不使用“第一后备”的情况下启用此后备,很容易:
switchdefault_copyright_name = TEXT
switchdefault_copyright_name {
setCurrent.dataWrap = {field:field_copyright_name}
current = 1
override = \"copyright by me\"
override.if.isFalse.field = field_copyright_name
}
lib.hint_copyright_name = COA
lib.hint_copyright_name.10 < switchdefault_copyright_name
但是如何整合“第一回退”呢?
编辑:
我试过了:
setCurrent.data = {levelfield:-1,field_copyright_name,slide}
要么
setCurrent.data = levelfield:-1,slide
要么
setCurrent.dataWrap = {levelfield:-1,slide}
要么
setCurrent.dataWrap = levelfield:-1,slide
但没有成功-没有输出。
解决方法
刚刚找到了这个:http://lists.typo3.org/pipermail/typo3-english/2006-October/032764.html
它应该使您的幻灯片工作正常。
只需设置:安装>所有配置> addRootLineFields
没尝试过,但看起来像解决方案