[TYPO3-german] fluid variable mit uidinlist nutzen
Karl-Heinz Fischbach
c38sgzkz at averlon.net
Tue Jan 19 08:56:15 CET 2016
Hallo,
ich habe eine installation mit bootstrap_package.
Über ein backend layout wird ein fluid templat/partial aufgerufen.
Dort steht im original in der Footer.html:
<footer>
<section class="footer-section">
<div class="container">
<div class="row">
<div class="col-sm-4">
<f:cObject typoscriptObjectPath="lib.dynamicContentSlide" data="{pageUid: '{data.uid}', colPos: '10'}"/>
</div>
<div class="col-sm-4">
<f:cObject typoscriptObjectPath="lib.dynamicContentSlide" data="{pageUid: '{data.uid}', colPos: '11'}"/>
</div>
<div class="col-sm-4">
<f:cObject typoscriptObjectPath="lib.dynamicContentSlide" data="{pageUid: '{data.uid}', colPos: '12'}"/>
</div>
</div>
</div>
</section>
Jetzt würde ich gerne die UID durch eine variable ersetzen die ich in den constants setzen kann.
Folgendes habe ich gemacht:
In meinen constants habe ich gesetzt:
plugin.bootstrap_package {
settings {
TeaserUid = 1
FooterLeftUid = 6
FooterCenterUid =
FooterRightUid = 20
}
}
In meinem setup habe ich gesetzt:
page.10.variables.TeaserUid = TEXT
page.10.variables.TeaserUid.value = {$plugin.bootstrap_package.settings.TeaserUid}
page.10.variables.FooterLeftUid = TEXT
page.10.variables.FooterLeftUid.value = {$plugin.bootstrap_package.settings.FooterLeftUid}
page.10.variables.FooterCenterUid = TEXT
page.10.variables.FooterCenterUid.value = {$plugin.bootstrap_package.settings.FooterCenterUid}
page.10.variables.FooterRightUid = TEXT
page.10.variables.FooterRightUid.value = {$plugin.bootstrap_package.settings.FooterRightUid}
Dann das fluid template geändert:
<footer>
<section class="footer-section">
<div class="container">
<div class="row">
<div class="col-sm-4">
<f:debug title="FooterLeftUid">{FooterLeftUid}</f:debug>
<f:cObject typoscriptObjectPath="lib.dynamicContentSlide" data="{footerUid: '{FooterLeftUid}', colPos: '10'}"/>
</div>
<div class="col-sm-4">
<f:cObject typoscriptObjectPath="lib.dynamicContentSlide" data="{pageUid: '{data.uid}', colPos: '11'}"/>
</div>
<div class="col-sm-4">
<f:cObject typoscriptObjectPath="lib.dynamicContentSlide" data="{pageUid: '{data.uid}', colPos: '12'}"/>
</div>
</div>
</div>
</section>
Der debug zeigt mir, dass der wert auch angekommen ist.
Jetzt weiß ich nicht wie ich den wert in lib.dynamicContentSlide übertragen kann.
Ich habe die definition wie folgt angepasst:
lib.dynamicContent = COA
lib.dynamicContent {
5 = LOAD_REGISTER
5 {
colPos.cObject = TEXT
colPos.cObject {
field = colPos
ifEmpty.cObject = TEXT
ifEmpty.cObject {
value.current = 1
ifEmpty = 0
}
}
pageUid.cObject = TEXT
pageUid.cObject {
field = pageUid
ifEmpty.data = TSFE:id
}
footerUid.cObject = TEXT ***** hier neu *****
footerUid.cObject { *****hier neu *****
field = footerUid ***** hier neu und hier ist mir auch die funktion von field unklar *****
}
contentFromPid.cObject = TEXT
contentFromPid.cObject {
data = DB:pages:{register:pageUid}:content_from_pid
data.insertData = 1
}
wrap.cObject = TEXT
wrap.cObject {
field = wrap
}
}
20 < styles.content.get
20 {
select {
where = colPos={register:colPos}
where.insertData = 1
pidInList.data = register:pageUid
pidInList.override.data = register:contentFromPid
uidInList.data = register:footerUid ***** hier neu *****
}
stdWrap {
dataWrap = {register:wrap}
required = 1
}
}
90 = RESTORE_REGISTER
}
Ich könnte mir vorstellen, dass ich schon auf dem richtigen weg bin - aber eben noch nicht angekommen.
Wer könnte mir da den entscheidenden tip gebe ?
Danke
--
Regards
Karl-Heinz
Typo3: 7.6
More information about the TYPO3-german
mailing list