0

我正在尝试在我的流体页面扩展中添加一个部分。

<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>

这也没有运气。

马库斯

4

2 回答 2

2

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

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

您有点不清楚要删除哪个“部分”以恢复后端 - 如果它是您要删除的f:section名称Configuration,这将导致fluidpages忽略模板。如果flux:flexform.section您要删除它以使其正常工作,则可能有几个原因导致它失败:

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

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

最后,如果您期望这一点Section并被Object继承到子页面,您将面临一个拦截器 - 目前这根本不可能。应该可以在它定义的Object同一页面上使用,但不能在子页面上访问(至少在没有变通方法的情况下,例如使用 Flux 的数据获取 ViewHelper 和手册页 UID 解析)。

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

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

选择:

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

希望这对 Markus 有所帮助 - 如果没有,请随时添加有关您所需实现的更精确信息。

于 2014-03-03T15:42:36.153 回答
1

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

<flux:flexform.section name="images" label="images">
    <flux:flexform.object name="foo2" label="foo2">
于 2014-02-28T11:32:13.490 回答