namelesscoder/newsflux

提供Flux API与EXT:news的集成

安装: 7

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 1

分支: 1

开放问题: 0

类型:typo3-cms-extension

1.0.0 2016-09-12 21:39 UTC

This package is auto-updated.

Last update: 2024-09-12 04:31:03 UTC


README

为EXT:news提供Flux表单集成 - 允许在EXT:news控制器模板中定义<flux:form>以添加/修改EXT:news使用的FlexForm。

它做什么?

本质上:将编辑器在插入EXT:news插件实例时使用的表单字段定义放入控制器渲染的模板中。当你的覆盖EXT:news模板需要默认EXT:news FlexForm中不包含的额外用户可配置选项时,这很理想 - 允许你直接在需要此类值的模板中定义这样的表单字段。

集成是通过标准Flux集成构建的,并在关键位置进行了最小化调整。它由一个类文件(约25行代码)和一行注册此类的代码组成,这是连接Flux到EXT:news所需的所有内容。

安装

此扩展只能通过composer/Packagist获取

composer require namelesscoder/newsflux

之后,执行以下操作之一:

./typo3/cli_dispatch.phpsh extbase extension:install newsflux

或在扩展管理器中激活扩展。

没有其他官方支持的安装方法。

配置

此扩展没有配置。集成仅在您实际上在覆盖EXT:news的模板中定义表单时才会触发,并且此表单将包含所有配置。

要在表单中使用TypoScript变量,这些变量必须添加到plugin.tx_news.settings作用域 - 这也是您定义将在EXT:news模板中作为{settings}使用的变量的地方,包括EXT:news定义之外的额外变量。

如何使用此功能

集成通过在插件实例将要渲染的模板文件和显示在“插件选项”FlexForm字段中的表单之间建立连接来实现。然后,如果模板中定义了flux:form,Flux可以读取它。

这意味着您的集成点是您覆盖的模板,您像通常那样将其添加到EXT:news的模板路径。这也意味着,如果您需要通过该控制器操作渲染的Partial模板中的变量,则必须覆盖控制器模板。换句话说:您不能在Partial模板或Layout中定义flux:form,它必须位于List.htmlDetail.html等模板之一中。

定义了flux:form后,此集成将自动将您在flux:form中定义的表格/字段添加到EXT:news提供的数据结构。合并是通过递归替换任何现有字段来完成的,例如,如果您定义了一个存在于默认数据结构中的表格或字段,则该表格或字段将被您定义的覆盖。

示例

flux:form集成到List.html模板中,允许选择CSS类名

{namespace n=GeorgRinger\News\ViewHelpers}
{namespace flux=FluidTYPO3\Flux\ViewHelpers}
<f:layout name="General" />
<!--
	=====================
    Templates/News/List.html
-->

<f:section name="Configuration">
	<flux:form id="extended">
	    <flux:form.sheet name="extended" label="Extended fields">
		    <flux:field.select name="settings.myCssClass" label="Special CSS class"
		                       items="normal,special,awesome" />
        </flux:form.sheet>
	</flux:form>
</f:section>

<f:section name="content">
    <div class="{settings.myCssClass}">
        ...
    </div>
</f:section>

简要说明此模板

  • 在覆盖的模板中添加了Configuration部分
  • Configuration部分添加了一个flux:form,该flux:form有一个名为/标记为“Extended fields”的单个表格
  • 编辑器将在此字段中输入的变量可以在标准输出部分使用

可以从Flux ViewHelper API已知的所有功能中使用,并且将像在fluidcontentfluidpages等扩展中一样表现。