- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
RULES: Property PAGE_UID in Metadaten?
Hallo zusammen,
nach Vorbild dieser Lรถsung von @hoebbel habe ich die Property PAGE_UID in einer Regel verwendet, die per ValueService abfragt, ob die Seite in einem bestimmten Ordner liegt. Hier die Regel:
<RULE>
<SCHEDULE delay="0" id="pagepath" service="PagePathValueService">
<!-- the current page -->
<PARAM name="pageUid">
<PROPERTY name="PAGE_UID" source="#global"/>
</PARAM>
<!-- folder uid to be checked -->
<PARAM name="folderUid">
<TEXT>special_folder</TEXT>
</PARAM>
</SCHEDULE>
<DO>
<PROPERTY name="VISIBLE" source="#form.md_special"/>
</DO>
</RULE>
Das funktioniert auch wunderbar, wenn ich es im Formular einer Seite verwende. Jetzt habe ich aber einen Fall, wo es ein Feld in den Metadaten einblenden soll, aber offenbar funktioniert dies nicht im Metadaten-Template. Ich bekomme dann die Warnung:
WARN 18.10.2024 11:38:49.142 (de.espirit.firstspirit.forms.rules.FactService): There is no fact 'PAGE_UID' for item '#global'!
Und der ValueService wird รผberhaupt nicht ausgefรผhrt.
Mir ist auch aufgefallen, dass die von Holger vorgeschlagene Property PAGE_UID gar nicht in der ODFS aufgelistet ist.
Ist das ein offizieller Weg, so etwas zu tun? Oder kann man noch irgendwie anders in Regeln auf die aktuelle Seite zugreifen? Und was muss ich anders machen, damit es auch in den Metadaten funktioniert?
Viele Grรผรe
Matthias
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Matthias,
zur Doku - den Parameter findest Du hier (Beispiel A), er kann also problemlos genutzt werden.
Kann es sein, dass Du die Metadaten im Sitestore (blau) bearbeitest und nicht im Pagestore (grรผn)?
In diesem Fall handelt kann es nicht funktionieren, da der Knoten keine PAGE_UID hat (die Seitenreferenz kann ja beliebig viele Seiten referenzieren).
In diesem Fall muss Du die ID der Seitenreferenz an den ValueService รผbergeben und im Service selber dir die Seite zu der Seitenreferenz holen.
Viele Grรผรe
Holger
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Danke Holger! Die Idee mit der ID ist zwar auch nicht schlecht, aber ich habe durch diesen Hinweis erst gemerkt, dass ich zu blรถd bin. Du hattest Recht, die Metadaten werden hierbei im Sitestore bearbeitet. Den Verdacht hatte ich auch schon, dass es daran liegt und dass da PAGE_UID mรถglicherweise nicht greift.
Manchmal braucht man eben einen Schubs ๐ Ich habe statt PAGE_UID jetzt einfach UID genommen, das geht immer und funktioniert so wie ich will.
Grรผรe
Matthias
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Matthias,
zur Doku - den Parameter findest Du hier (Beispiel A), er kann also problemlos genutzt werden.
Kann es sein, dass Du die Metadaten im Sitestore (blau) bearbeitest und nicht im Pagestore (grรผn)?
In diesem Fall handelt kann es nicht funktionieren, da der Knoten keine PAGE_UID hat (die Seitenreferenz kann ja beliebig viele Seiten referenzieren).
In diesem Fall muss Du die ID der Seitenreferenz an den ValueService รผbergeben und im Service selber dir die Seite zu der Seitenreferenz holen.
Viele Grรผรe
Holger
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Danke Holger! Die Idee mit der ID ist zwar auch nicht schlecht, aber ich habe durch diesen Hinweis erst gemerkt, dass ich zu blรถd bin. Du hattest Recht, die Metadaten werden hierbei im Sitestore bearbeitet. Den Verdacht hatte ich auch schon, dass es daran liegt und dass da PAGE_UID mรถglicherweise nicht greift.
Manchmal braucht man eben einen Schubs ๐ Ich habe statt PAGE_UID jetzt einfach UID genommen, das geht immer und funktioniert so wie ich will.
Grรผรe
Matthias

