是否可以调用SiteEdit可编辑内容脚本以使用RenderComponentPresentation方法从TBB输出内容?
目前,我正在获取包含该内容的红色边框线。当我滚过右上角的图标时,它就是说已删除。但是,组件内容未被删除,组件模板或页面的任何更改都已重新发布,组件本身也不是动态组件。
如果我直接从TBB调用可编辑脚本,SiteEdit正在工作,但如果我使用RenderComponentPresentation
方法调用另一个组件模板来输出该脚本。我只得到红色边框线并说它已被移除。
可编辑的脚本:(直接从TBB工作)
<!-- TemplateBeginIf cond="Content != ''" -->
<tcdl:ComponentField name="Content">${Content}</tcdl:ComponentField>
<!-- TemplateEndIf -->
在TBB中调用以下方法并始终获得红色边框RenderComponentPresentation(ComponentID, ComponentTemplateID)
环境:Tridion 2011,SiteEdit 2009 SP3,Windows Server 2008
答案 0 :(得分:1)
我想这对于RenderComponentPresentation
是不可行的,因为你要做的是嵌套组件演示。但是,您可以通过IsQueryBased
直接将siteedit标记标记添加到true
请查看链接以获取更多信息(本节底部):http://sdllivecontent.sdl.com/LiveContent/content/en-US/SiteEdit_2009_SP3/concept_0D0C929C17D74A6292B2AFE0C29F4DCD
替代方法是在嵌套组件表示之前添加以下标记(IsQueryBased应该为true):
<!-- Start SiteEdit Component Presentation: {
"ID" : "MyCP23", "ComponentID" : "tcm:54-7894",
"ComponentTemplateID" : "tcm:54-3201-32",
"ComponentVersion" : 2,
"IsQueryBased" : true,
"SwapLabel" : "Left"
} -->
答案 1 :(得分:1)
如果要渲染的组件不在当前页面上,那么可以预期SiteEdit会将其视为已删除。
您需要将组件演示标记为“基于查询”,以便SiteEdit知道不会在页面上预期它。这将禁用无意义的功能(例如拖放以在页面上移动CP),否则将以相同的方式工作。
要将其标记为基于查询,您需要手动输出标记(请参阅Start SiteEdit Component Presentation command)或使用其他工具为您执行此操作,例如函数created by Frank van Puffelen(注意:我相信这些仅适用于2011版本)。确保IsQueryBased
参数设置为true
。