У меня была та же проблема, что я обнаружил, так это то, что инструменты Android Developer не очень хорошо работают с JDK 8. Я удалил свой текущий JDK 8 и установил JDK 7 и работал так же, как без увеличения памяти кучи или удаления .gradle.
Независимо от технологии, используемой для хранения отношения между родителем и потомком, вы всегда можете выбрать параметр FLUIDTEMPLATE dataProcessing
.
Либо создайте переменную children
или parent
с помощью DatabaseQueryProcessor, например,
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
}
}
}
}
. Вы можете использовать все параметры select
для этого DataProcessor, и каждый из них можно изменить с помощью stdWrap. свойства. https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Select.html
Просто замените as = myrecords
на нужное имя переменной, а затем получите доступ к этой переменной напрямую из вашего шаблона жидкости. Вы можете использовать <f:debug>{_all}</f:debug>
, чтобы получить обзор доступных переменных.
Взятые из этих документов https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Fluidtemplate/Index.html#dataprocessing
Кроме того, вы можете захотеть взглянуть на этом видео https://www.twitch.tv/videos/380759921 , чтобы получить представление о том, что такое dataProcessing.
Поскольку подход FLUIDTEMPLATE является универсальным, в то время как вопрос может быть ближе связан с Flux, здесь есть специальный способ передачи информации для дочерних записей:
https: // liquidtypo3 .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
с именем foo
, чтобы сделать его доступным через метод getText [ 115] внутри дочернего процесса рендеринга.
loadRegister="{parentRecordType: '2'}"
и в пределах вашего дочернего рендеринга используйте
10 = TEXT
10.dataWrap = My parent record is of type {register:parentRecordType}
То же самое касается условий или переключений объектов на основе зарегистрированной информации. И, конечно же, для рендеринга дочерних записей на основе Fluid.
Просто используйте <f:debug>_all</f:debug>
, чтобы получить обзор доступных регистров и данных.
https://docs.typo3.org/typo3cms/TyposcriptReference/DataTypes/Index.html#register
Да, все возможно с TYPO3 и во многих отношениях. Как вложены элементы содержимого? От родителей к детям (темплавоила) или от детей к родителю (жених)?