[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