在fedext fluidpage中的部分

时间:2014-02-27 15:40:15

标签: typo3 flux fedext

我正在尝试在我的Fluidpage扩展中添加一个部分。

<f:section name="Configuration">
    <flux:flexform id="default" label="Gallery Page" icon="{f:uri.resource(path: 'Icons/DefaultPage.png')}">
        <flux:flexform.section name="images">
            <flux:flexform.field.file name="ls" label="Landscape image" maxItems="1" minItems="1" required="1" showThumbnails="1" />
            <flux:flexform.field.select name="lsAlign" label="Alignment of the landscape image" items="left,right" />
            <flux:flexform.field.file name="pt" label="Portrait image" maxItems="1" minItems="1" required="1" showThumbnails="1" />
            <flux:flexform.field.select name="ptAlign" label="Alignment of the portrait image" items="left,right" />
        </flux:flexform.section>

        <flux:flexform.grid>
            <flux:flexform.grid.row>
                <flux:flexform.grid.column colPos="0" name="Main Content" />
            </flux:flexform.grid.row>

            <flux:flexform.grid.row>
                <flux:flexform.grid.column colPos="1" name="Gallery Images" />
            </flux:flexform.grid.row>
        </flux:flexform.grid>
    </flux:flexform>
</f:section>

如果我尝试这个,如果我尝试顶部打开页面属性,后端将保持空白。一旦我删除该部分一切都很好。还尝试在部分

中的字段周围放置一个felexform.object
<flux:flexform.section name="images" label="images">
            <flux:flexform.object name="imageObject" label="image object">
                <flux:flexform.field.file name="ls" label="Landscape image" maxItems="1" minItems="0" required="0"
                                          showThumbnails="1"/>
                <flux:flexform.field.select name="lsAlign" label="Alignment of the landscape image"
                                            items="left,right"/>
                <flux:flexform.field.file name="pt" label="Portrait image" maxItems="1" minItems="0" required="0"
                                          showThumbnails="1"/>
                <flux:flexform.field.select name="ptAlign" label="Alignment of the portrait image"
                                            items="left,right"/>
            </flux:flexform.object>
        </flux:flexform.section>

这也没有运气。

马库斯

2 个答案:

答案 0 :(得分:2)

如果您当前正在预览TYPO3 6.2(当前主分支,在撰写本文时尚未发布),那么您可能会遇到此错误:http://forge.typo3.org/issues/56405

如果您使用的是TYPO3 6.1,那么此功能应该可以使用,您不应该受到上述链接中的错误的影响。我将在本回复的其余部分中假设您使用6.1或者有问题的错误以某种方式在您的本地存储库中修复,例如通过查看链接到该URL的合并请求。

您有点不清楚删除哪个“部分”以恢复后端 - 如果它是您要移除的名为f:section的{​​{1}},则会导致Configuration忽略模板。如果您要移除fluidpages以使其正常工作,则可能有一些原因导致其失败:

  • 在Flux表单中使用flux:flexform.section内的文件引用(注意:Objects是必需的,您不能将字段直接放在Flux Object中)可能会对使用FAL的系统产生负面影响。 FAL使用的TCA很容易被操作变得与flexform字段不兼容(Flux字段仍然像TYPO3的flexform字段一样),这可能导致错误发生。
  • Section模板中使用SectionObject有一个限制:由于TYPO3当前正在处理默认值的方式,您存储的对象无法继承到子页面。未来版本的Flux可能会以某种方式解决这个问题,但目前是您必须解决的限制。

如果您对第一个可能出现的问题产生影响,系统会报告错误并将其放入您的fluidpages devlog中(请参阅devlog扩展名)在TYPO3安装工具中配置)或PHP错误日志(由Web服务器或PHP设置配置)。如果您不确定如何检查这些日志,则可以通过在Flux的扩展配置(Extension Manager内部)中启用“调试模式”来读取相同的消息。将此值设置为“2”应确保您只能看到错误,而不是一般反馈消息。错误消息可以帮助您解决问题 - 或者欢迎您将其添加到此问题中,我将在编辑中将其考虑在内。

最后,如果您希望将此syslogSection继承到子页面,那么您将面临阻止程序 - 目前这是不可能的。 Object应该可以在定义的同一页面上使用,但不能在子页面上访问(至少没有解决方法,例如使用Flux的数据获取ViewHelper和手册页UID解析)。

如果您以这种方式被阻止,我建议:

  • 创建一个sysfolder或重用您的常规存储系统文件夹
  • 将内容元素插入此sysfolder,并将该内容元素设为包含所需Object的FCE。
  • 使用页面模板的配置字段,引用此内容元素(例如Object类型为relation或带有浏览向导的输入字段。)
  • 在页面模板的输出中,使用tt_content和参数v:content.render通过UID手动呈现此特定内容元素,其中contentElementUids="{0: myFieldName}"是页面配置字段的名称。请注意,UID列表是一个数组!

替代:

  • 添加特殊页面内容列
  • 使用myFieldName设置slide配置此列的呈现 - 例如,使用值v:content.render将首页的特殊内容列滑动到前三个子页面。

希望这有助于Markus - 如果没有,请随时添加有关所需实施的更准确信息。

答案 1 :(得分:1)

该部分必须包含一个包含以下字段的对象:

<flux:flexform.section name="images" label="images">
    <flux:flexform.object name="foo2" label="foo2">