Hallo Ralf,
sorry, Du hast natürlich Recht. Das Template direkt zu übernehmen geht so nicht. der ValueService ist nur dafür gedacht, gespeicherte Daten aus einem anderen Kontext auszulesen.
Du brauchst also auch auf Seitenebene eine versteckte Eingabekomponente, die entweder (mittels preset="copy") einen entsprechenden Standardwert bekommt oder über eine Regel den Namen der Vorlage [ich würde wahrscheinlich über das preset="copy" gehen, dann spart man sich die Regelausführung.
Der Wert kann dann über den Valueservice in eine versteckte Eingabekomponente auf Absatzebene übernommen werden:
<RULE>
<SCHEDULE delay="0" id="Zunftlernpunkte" service="FormDataValueService">
<PARAM name="UID">
<PROPERTY name="PAGE_UID" source="#global"/>
</PARAM>
<PARAM name="UIDTYPE">
<TEXT>PAGESTORE</TEXT>
</PARAM>
<PARAM name="FIELD">
<TEXT>pt_template</TEXT>
</PARAM>
<PARAM name="LANGUAGE">
<PROPERTY name="MASTER" source="#global"/>
</PARAM>
</SCHEDULE>
<DO>
<PROPERTY name="VALUE" source="st_template"/>
</DO>
</RULE>
Nicht die schönste aller Lösungen 😞
Hier kommt es drauf an, wie oft ihr so etwas braucht. Wenn es die Anforderung für mehrere Absatztemplates gibt, würde ich darüber nach denken, einen passenden ValueService zu schreiben, der anhand des aktuellen Absatztemplates entscheidet, was dargestellt werden soll. Der Rückgabewert müsst dann ein Boolean sein, der direkt zum Ein/Ausblenden der entsprechenden Eingabekomponenten genutzt werden kann.
Ist es voraussichtlich nur dieser eine Anwendungsfall, würde ich es bei den zwei (oder drei) Regeln lassen - auch wenn die nicht so schönlesbar sind 😉
Viele Grüße
Holger