Можно ли вызвать сценарий редактируемого содержимого SiteEdit для вывода содержимого из TBB с использованием метода RenderComponentPresentation?
Можно ли вызвать сценарий редактируемого содержимого SiteEdit для вывода содержимого из TBB с использованием метода RenderComponentPresentation?
В настоящее время я получаю красную границу, обернутую этим содержимым. Когда я переворачиваю значок в правом верхнем углу, он говорит, что удален. Однако содержимое компонента не удаляется, все изменения шаблона или страницы компонента были переизданы, и сам компонент также не является динамическим компонентом.
SiteEdit работает, если я вызываю редактируемый скрипт напрямую из TBB, но если я использую 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
2 ответа
Я думаю, что это невозможно с RenderComponentPresentation
так как то, что вы пытаетесь сделать, это вложенные презентации компонентов. Однако вы можете получить это, добавив теги разметки сайта непосредственно с IsQueryBased
в true
Пожалуйста, проверьте ссылку для получения дополнительной информации (внизу раздела): http://sdllivecontent.sdl.com/LiveContent/content/en-US/SiteEdit_2009_SP3/concept_0D0C929C17D74A6292B2AFE0C29F4DCD
Альтернативный подход заключается в добавлении разметки ниже перед представлением вложенного компонента (IsQueryBased должно быть истинным):
<!-- Start SiteEdit Component Presentation: {
"ID" : "MyCP23", "ComponentID" : "tcm:54-7894",
"ComponentTemplateID" : "tcm:54-3201-32",
"ComponentVersion" : 2,
"IsQueryBased" : true,
"SwapLabel" : "Left"
} -->
Если вы визуализируете компонент, которого нет на текущей странице, то следует ожидать, что SiteEdit сочтет его удаленным.
Вам нужно будет пометить представление компонента как "основанное на запросе", чтобы SiteEdit знал, что его не следует ожидать на странице. Это отключит функциональность, которая не имеет смысла (например, перетаскивание для перемещения CP на странице), но в противном случае будет работать так же.
Чтобы пометить его как основанный на запросах, вам нужно будет вручную вывести разметку (см. Команду "Запустить презентацию компонента SiteEdit") или использовать другой инструмент, чтобы сделать это за вас, например, функции, созданные Фрэнком ван Пуффеленом (примечание: я считаю, что это только работа для версии 2011 года). Убедитесь, что IsQueryBased
параметр установлен в true
,