Tridion 在SDL Trdion 2011 Sp1中访问除RenderComponentPresentation之外的组件表示的方法
在Dreamweaver模板中,我们可以通过两种方式访问组件的字段Tridion 在SDL Trdion 2011 Sp1中访问除RenderComponentPresentation之外的组件表示的方法,tridion,tridion-2011,Tridion,Tridion 2011,在Dreamweaver模板中,我们可以通过两种方式访问组件的字段 1.@@Component.Field.FieldName@@ 2.@@RenderComponentField("FieldName",0)@@ 类似于访问组件表示 1.RenderComponentPresentation() 是否有其他方式访问它。RenderComponentPresentation将来自页面模板,第一个示例来自组件模板,或者位于重复区域内: <!-- TemplateBeginRe
1.@@Component.Field.FieldName@@
2.@@RenderComponentField("FieldName",0)@@
类似于访问组件表示
1.RenderComponentPresentation()
是否有其他方式访问它。RenderComponentPresentation将来自页面模板,第一个示例来自组件模板,或者位于重复区域内:
<!-- TemplateBeginRepeat name="Components" -->
Fields.*FieldName*
<!-- TemplateEndRepeat -->
字段。*字段名*
但不管怎样,您为什么要问这个问题?您也可以使用以下代码从另一个组件模板中调用RenderComponentPresentation:
@@RenderComponentPresentation(Component.ID, ComponentTemplate.ID)@@
其中,参数是要呈现的组件的tcm ID,以及要呈现该组件的模板 对于动态组件演示,您可以在页面模板中使用以下内容:
<tcdl:ComponentPresentation type="Dynamic" componentURI="${ComponentID}" templateURI="${DynamicComponentTemplateID}" />
但是在这种情况下,这些动态组件演示将不会在发布页面中发布。所以,您应该在发布页面之前发布它们
你真的应该考虑编辑你的问题并澄清它。
位,以便更清楚地了解您的要求。阅读所有的
你拒绝的答案和他们的评论,我想你是想
完成的任务是使页面上的一些组件演示文稿可编辑
其他人则不然
根据您使用的SiteEdit版本,有两种解决方案:
对于所有这些,一个有趣的问题是“为什么?”,您的要求是什么,只需要对页面上的某些内容启用内联编辑。因为您也可以通过(编辑)特定用户组的权限来完成这一点。Tridion附带的默认TBB、SiteEdit 2009和新的UI/Experience Manager都坚持围绕组件演示和组件字段生成标记。您可以控制它们生成的标记元素,但目前无法关闭它们
为了获得这样的完全控制,我创建了一个简单的扩展函数用于DWT模板。你可以在这里找到:你能解释一下你想做什么吗?@NunoLinhares。只想将一些组件演示文稿限制为不可编辑的站点内编辑。如果我使用RenderComponentPresentation(),它将使其可编辑,对吗?仅当他们使用Enable SiteEdit TBB(或启用Tridion UI 2012的内联编辑)时。如果不希望这些模板是可编辑的,则不要在这些模板中使用TBB。我不认为有一种方法可以呈现完全绕过SiteEdit的CP…调用
RenderComponentPresentation
或RenderComponentField
只会在HTML中标记组件表示或组件字段。正如努诺所说,由其他TBB将这些标记转换为特定于特征的格式。因此,“启用SiteEdit”会将标记转换为SiteEdit注释,而组件链接解析程序会对其执行其他操作。简单地说,不要包含那些TBB,否则无法启用该功能。谢谢您的回答。我知道这一点。如果添加“为页面启用内联编辑”。它将添加使用span元素包装所有演示文稿。我只想把它限制在一些人身上。@Arjeb Stobbe。谢谢你的回复。我知道这一点。如果添加“为页面启用内联编辑”。它将添加使用span元素包装所有演示文稿。我只想将其限制为一些。只有RenderComponentField可以这样做,如果不希望发生这种情况,则应直接输出Package Item Fields值。(@@Component.Fields.FieldName@@@