Ich stoße auf eine Situation, in der ich den Wert ${test}
habe, in meiner Komponentenvorlage, die diesen Wert rendert. ok das Problem kommt, wenn eine andere Vorlage diese Komponente und Vorlagen mit @@RenderComponentPresentation(Component.ID, MyFirstTemplate)@@
at aufruft An diesem Punkt wird die ${test}
ausgewertet und da es kein solches Element in der Komponente oder im Paket gibt, wird nichts ausgewertet.
Ich habe Component Template One, das den Wert eines Component-Feldes liest (welches enthält: ${test}
)
Jetzt habe ich Component Template Two, das @@RenderComponentPresentation(Component.ID, ComponentTemplateOne.ID)@@
${test}
jetzt ausgewertet und nicht mehr beibehalten wird, so dass es von ${test}
nach "" geht, weil es keinen Variablen- oder Komponentenfeldnamen mit diesem Namen findet. Component Template Two wird dann von Component Template Three auf die gleiche Weise aufgerufen @@RenderComponentPresentation(Component2.ID, ComponentTemplateTwo.ID)@@
${test}
bereits ausgewertet wurde und in Component Template Two verloren ist, komme ich nicht mehr mit ${test}
voran. Ich habe immer noch "". Ich habe es versucht:
@@RenderComponentField('myField', 0, False, False)@@
@@RenderComponentField('myField', 0, True, False)@@
@@RenderComponentField('myField', 0, False, True)@@
kein Glück.
Das Folgende war meine Arbeit und es scheint zu funktionieren:
$\{test\}
${test}
in $\{test\}
in der ursprünglichen Vorlage und eine C # TBB in die Seitenvorlage, die sie dann an den Anfangswert von ${test}
zurückgibt. Gibt es eine Möglichkeit dies zu verhindern oder einen Weg zu vermeiden, das zu tun, was ich mache, damit das funktioniert?
Haben Sie diesen Link ausprobiert, sollten Sie dies mit diesem Link tun können
%Vor%Tags und Links tridion tridion-2011