Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tridion 使用带有Razor的XPM模板的多个RenderComponentPresentation_Tridion_Tridion 2011_Experience Manager - Fatal编程技术网

Tridion 使用带有Razor的XPM模板的多个RenderComponentPresentation

Tridion 使用带有Razor的XPM模板的多个RenderComponentPresentation,tridion,tridion-2011,experience-manager,Tridion,Tridion 2011,Experience Manager,您可能已经知道,我正在努力使用Razor开发一些XPM模板。我遇到了另一个问题,这次是关于在模板中呈现组件以使其可编辑 以下我不确定。我有一个组件,它有一个名为“title”的标题字段,还有多值componentlink字段,它由带有标题、描述和图像的组件组成。现在让我们称之为“链接USP” 目前,这是由一个名为“页面横幅”的模板呈现的,它只是使用一些If循环在字段上进行迭代,以确定它的表示形式,尤其是标题。为了让XPM工作,此模板需要呈现“链接USP”的组件表示。因此,我们创建了一个名为“[X

您可能已经知道,我正在努力使用Razor开发一些XPM模板。我遇到了另一个问题,这次是关于在模板中呈现组件以使其可编辑

以下我不确定。我有一个组件,它有一个名为“title”的标题字段,还有多值componentlink字段,它由带有标题、描述和图像的组件组成。现在让我们称之为“链接USP”

目前,这是由一个名为“页面横幅”的模板呈现的,它只是使用一些If循环在字段上进行迭代,以确定它的表示形式,尤其是标题。为了让XPM工作,此模板需要呈现“链接USP”的组件表示。因此,我们创建了一个名为“[XPM]USP项”的模板此组件模板已添加“启用内容编辑TBB”

现在,当我想使标题也可编辑时,问题就出现了。听起来很简单,不是吗?不是真的-因为当父模板有一个“允许内容编辑”时“TBB添加后,它将向所有可编辑字段添加
标记,但在此模板内调用的模板也将具有
-标记,有效地使html膨胀,并且由于重复的
而无法编辑RenderComponentPresentation内的字段

下面是一些有趣的代码,并举例说明我的问题:

<h1>@RenderComponentField("Title", 0)</h1>

@Foreach(var linkedUSP in Fields.USPS){
     @RenderComponentPresentation("linkedUSP.ID", "tcm:10-1076-32")
}
@RenderComponentField(“Title”,0)
@Foreach(Fields.USPS中的var linkedup){
@RenderComponentPresentation(“LinkedUp.ID”、“tcm:10-1076-32”)
}
此模板添加了启用内容编辑TBB

现在,对于上面提到的RCP,在其[XPM]模板中:

<div class="title">@RenderComponentField("Title", 0)</div>
    <p>@RenderComponentField("Description", 0)</p>
    <tcdl:ComponentField name="img">
         <img src="@img" alt="img.MetaData.alt">
    </tcdl:ComponentField>
@RenderComponentField(“Title”,0)
@RenderComponentField(“说明”,0)

此版本还添加了“启用内容编辑”TBB。在前端,这种情况会发生:

<div class="title"><span><span>Men</span></span></div>
男人
因为父模板也会将跨距添加到字段中

所以我的问题是:我如何解决这个问题?上面提到的标题字段必须在父模板内,但我无法为其创建特殊模板,因为它不是组件链接。我无法从我的RCP模板中获取TBB,因为这样它将无法编辑。有趣吧


我不能禁用模板生成器中的跨距吗

你可以更改使用的标签,我认为你不能完全删除它。Frank编写了一些扩展,允许您控制输出,但我认为这些扩展只适用于DWT