标签: sublayout

使用renderingDefinition.ItemId以编程方式将sitecore渲染复制到新模板?

我有一个自定义的sitecore按钮,它可以更改当前项目的模板,非常简单.

然而,作为其中的一部分,我还试图将旧布局的渲染转换为新布局,如果它是某种子布局类型的话ItemId.但是ItemId返回的值始终为null,我从中获取的唯一值RenderingDefinitionUniqueId.

我究竟做错了什么?

我曾将此博客文章作为指南.

代码

public class ConvertToNewTemplateCommand : Command
{
protected void Run(ClientPipelineArgs args)
{
    if (!SheerResponse.CheckModified())
        return;

    Item item = Context.ContentDatabase.Items[args.Parameters["id"]];
    if (args.IsPostBack)
    {
        if (args.Result == "yes")
        {
            //Get current layout details
            var originalLayoutXml = item[FieldIDs.LayoutField];

            //Get new template
            TemplateItem hubTemplate = Context.ContentDatabase.GetTemplate("some guid...");
            //Change template  
            item.ChangeTemplate(hubTemplate);
            //Reset laytout
            ResetLayout(item);
            //Get reset layout
            var newLayoutXml = item[FieldIDs.LayoutField];

            //Add all the module containers to the new layout in …
Run Code Online (Sandbox Code Playgroud)

rendering sitecore sitecore6 sublayout

6
推荐指数
1
解决办法
1338
查看次数

Sitecore:带有预览图像的子布局

当我在页面编辑器中添加组件时选择渲染时,有人能告诉我如何添加预览图像吗?我还有一个默认的子布局图标.我有Sitecore的Nicam演示网站,有一些图片,但我无法找到我可以选择的地方.

rendering image sitecore sublayout page-editor

2
推荐指数
1
解决办法
2018
查看次数

Sitecore 8:更改子布局的数据源模板

我对子布局的数据源模板的更改有疑问.现在,有两个子布局:Sub1Sub2,它们将Template1作为其数据源模板.直到我发现我需要为Sub1提供不同的数据源模板时,我已经创建了许多子布局Sub1和Sub2.

现在,Template2替换Template1作为子布局Sub1的数据源模板.现在,我必须将使用sublayout创建的所有项目的模板更改为Sub1.

问题是我必须通过内容编辑器 - >配置 - >更改模板技术手动更改每个项目的模板,这非常麻烦.有没有其他方法可以立即更改所有这些项目的模板?

templates sitecore sublayout sitecore8

2
推荐指数
1
解决办法
445
查看次数