Tridion 在SDL Trdion 2011 Sp1中访问除RenderComponentPresentation之外的组件表示的方法

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

在Dreamweaver模板中,我们可以通过两种方式访问组件的字段

  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版本,有两种解决方案:

  • SiteEdit 2009 SP3-您应该从不希望编辑的组件模板中删除内联编辑TBB,该页面仍将在组件演示文稿上生成悬停,以便可以移动它

  • UI 2012(新的UI或体验管理器)-您可以通过组件模板中的复选框禁用每个组件模板的内联编辑

  • 如果您还需要删除组件演示文稿上的悬停,那么我认为唯一的解决方案是删除页面模板的内联编辑功能(对于SE 2009 SP3,删除TBB,对于UI 2012,在页面模板上禁用TBB),并在页面模板中生成所有需要的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@@@