Pri*_*pta -6 tridion razor-mediator
我正在编写一个常见的Razor TBB,它将根据我的要求在组件模板和页面模板中使用.
因此,根据在页面模板和组件模板上应用TBB,我需要剃刀TBB中的页面和组件对象
我要求在页面的特定区域中显示/使用页面/组件中的元数据字段值.
这就是为什么,我想通过对象访问元数据值但无法获取对象,
请跟我对弗兰克的评论.
任何人都可以建议我吗?
你有没有看过Razor调解员可用的(非常有帮助的)文档?
这些都是访问当前Component和Page的示例.只是我的10秒搜索给出了这些片段:
<body class=”@Page.Metadata.BodyClass”>
<div class=”@Component.Fields.NewsStyle”>
<img src=”@Fields.HeaderImage.ID” alt=”@Fields.HeaderImage.AltText” />
Run Code Online (Sandbox Code Playgroud)
编辑:我看到您在后续评论中添加了更多详细信息.您可能想要像Bart建议的那样做,并将这些细节添加到问题中.与此同时,我会花几分钟时间为您搜索文档.
官方文档(我上面链接的Word文档)包含这个似乎处理元数据的示例:
@foreach (var keyword in Publication.MetaData.SomeKeywordFields) {
<li>@keyword.Title (@keyword.Id)</li>
}
Run Code Online (Sandbox Code Playgroud)
Razor模板的输出将成为 Package中的Output项.因此,使用Razor介体处理 Output项没有任何意义.为此,您可以使用常规的C#(片段或程序集)TBB.
另一个编辑:看起来Razor介体的隐式Fields变量总是映射到Component字段,Metadata变量总是映射到Component的meatadata字段.为方便起见,我已将上述名称与Google代码上的相关片段相关联.
所以你似乎有两个选择:
Page变量null)然后在任何地方都有条件表达式(isInPage ? Page.Metadata : Metadata)| 归档时间: |
|
| 查看次数: |
1106 次 |
| 最近记录: |