Weiß jemand, ob es möglich ist, Seitenvorlagen-Metadaten aus einer Razor TBB auszulesen? Ich implementiere ein Design, das mit dem 960-Grid-System erstellt wurde, und um meine wiederverwendbaren CTs zu erhalten, habe ich gehofft, in der Lage zu sein, etwas zu tun wie:
%Vor%Leider löst dies eine Null-Referenzausnahme aus.
Ist das, was ich versuche, möglich oder muss ich eine benutzerdefinierte TBB schreiben, um diese Informationen dem Paket hinzuzufügen?
Nachdem ich zu Alex 'Blog gegangen bin, um die Frage zu stellen, sehe ich, dass er schon beantwortete es für jemand anderen :
Was das Auslesen von Template-Metadaten angeht ... leider nicht erstellt noch einen Wrapper für das Template selbst, das @ Template, das ist jetzt ausgesetzt ist nur die Tridion.ContentManager.CommunicationManagement.Template eine, die Mittel für jetzt müssen Sie Vorlagenfelder aus dem altmodischen erhalten Weg:
@ {Tridion.ContentManager.ContentManagement.Fields.ItemFields templateFields = neu ContentManager.ContentManagement.Fields.ItemFields (Template.Metadata, Template.MetadataSchema); }
Ich habe das aber jetzt auf meiner To-Do-Liste hinzugefügt, also werdet ihr es sicher sehen ein Convenience-Wrapper, mit dem Sie das tun können @ Template.MetaData.YourField in Version 1.3.
Ich konnte dies für die Metadaten der Komponentenvorlage unter Verwendung des folgenden Codes erhalten:
%Vor%Daher denke ich, dass Sie in der Lage sein sollten, etwas ähnlich wie das folgende zu verwenden:
%Vor%Bitte beachten Sie den .InnerText und nicht .Value, da das content_grid als xml zurückgegeben wird. In meinem Code war "Position" nur eine Zeichenfolge. Ich denke, dass dies anders sein kann, wenn Sie Taxonomie verwenden.
Danke, Jonathan
P.S. Ich benutze Version 1.2 des Razor Mediators
Tags und Links tridion