使母体/嵌套Flux CE进入流体

时间:2019-02-18 11:25:38

标签: typo3 fluid

是否可以在嵌套CE中获取父CE类型/名称? 我有一个带有两列的Custom Flux Grid CE,在这些列内可以放置另一个CE。现在,我想检测孩子是否在网格内,如果可以,则执行该操作。

3 个答案:

答案 0 :(得分:0)

不管用于存储父子关系的技术如何,您都可以始终使用FLUIDTEMPLATE参数dataProcessing

通过类似的DatabaseQueryProcessor创建变量childrenparent

tt_content.mycontent.20 = FLUIDTEMPLATE
tt_content.mycontent.20 {
   file = EXT:site_default/Resources/Private/Templates/ContentObjects/MyContent.html

   dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
   dataProcessing.10 {
      # regular if syntax
      if.isTrue.field = records

      # the table name from which the data is fetched from
      # + stdWrap
      table = tt_address

      # All properties from .select can be used directly
      # + stdWrap
      colPos = 1
      pidInList = 13,14

      # The target variable to be handed to the ContentObject again, can
      # be used in Fluid e.g. to iterate over the objects. defaults to
      # "records" when not defined
      # + stdWrap
      as = myrecords

      # The fetched records can also be processed by DataProcessors.
      # All configured processors are applied to every row of the result.
      dataProcessing {
         10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
         10 {
            references.fieldName = image
         }
      }
   }
}

您可以为该DataProcessor使用select的所有参数,并且可以使用stdWrap属性来修改每个参数。 https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Select.html

只需确保将as = myrecords替换为所需的变量名,然后直接从Fluid模板中访问此变量。您可以使用<f:debug>{_all}</f:debug>来获取可用变量的概述。

来自这些文档https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Fluidtemplate/Index.html#dataprocessing

另外,您可能想看一下这段视频https://www.twitch.tv/videos/380759921,以了解一下dataProcessing的含义。

答案 1 :(得分:0)

由于FLUIDTEMPLATE方法是一种通用方法,尽管问题可能与Flux密切相关,所以这是一种将信息移交给子记录的Flux特定方法:

https://fluidtypo3.org/viewhelpers/flux/master/Content/RenderViewHelper.html

<flux:content.render 
    area="NULL"
    limit="123"
    offset="123"
    order="'sorting'"
    sortDirection="'ASC'"
    as="NULL"
    loadRegister="{foo: 'bar'}"
    render="1"
>
    <!-- tag content - may be ignored! -->
</flux:content.render>

只需在名为loadRegister的{​​{1}}处填写一些其他信息,即可在子呈现过程中通过getText方法foo使它可用。

register:foo

并在您的孩子记录呈现中使用

loadRegister="{parentRecordType: '2'}"

根据注册信息确定条件或切换对象时也是如此。 当然也适用于基于Fluid的子记录呈现。

只需使用10 = TEXT 10.dataWrap = My parent record is of type {register:parentRecordType} 即可获得可用寄存器和数据的概述。

https://docs.typo3.org/typo3cms/TyposcriptReference/DataTypes/Index.html#register

答案 2 :(得分:-1)

是的,TYPO3可以用很多方式实现一切。内容元素如何嵌套?从父母到孩子(templavoila)还是从孩子到父母(婚姻)?