0

涵盖体验(页面)编辑器和内容编辑器的问题。

我有一个时间轴聚光灯,用户可以将其添加到页面 - 它的顶部有一个十年列表,每个十年下面都有一个年份列表(带有他们的文本和图像)。

我创建了许多链接到各种数据源的控件,但我发现缺乏用户体验。

如果我去体验编辑器:

  1. 选择时间线占位符并添加项目
  2. 弹出窗口以选择/创建数据源

然后添加十年的唯一方法是转到 Decade 数据源,在那里创建一个新项目,然后返回到 Timeline 数据源并添加这个项目。

我在想的是:

  • 内容编辑器 - 针对时间轴数据项,它们是“十年”的多列表字段 - 是否有任何简单的方法可以在其旁边添加一个“创建”按钮,该按钮可以复制相同的事件,就像您访问十年数据源一样并单击插入项目
  • 体验编辑器 - 删除占位符的使用并添加一个类似的“创建”按钮,该按钮将复制插入项目事件 - 一旦项目创建和属性设置刷新控件以显示。

有人遇到过类似的事情吗?有更好的解决方案吗?

谢谢,丹

4

2 回答 2

2

I'm actually working on the same features for our new implementation.

In Content editor, you might need to update core db.
In xEditor, you can use sitecore JS commands with ajax and back-end codes. My suggestion is that you can create a rendering component and assign the component into the named placeholder instead of remvoing it. Then, call the back-end and javascript events on the rendering item.

This could be a starting point. Javascript function:

function setDataSrc(itemID, templatePath, suffix, renderingID, dbName, deviceID, renderingUID, reload, callBack) {
    var postReq = $.post("/handlePostRequest.aspx (or .cshtml)", {
        method: 'methodName'
        , itemID: itemID
        , templatePath: templatePath
        , suffix: suffix
        , renderingID: renderingID
        , dbName: dbName
        , deviceID: deviceID
        , renderingUID: renderingUID
    });

    postReq.done(function (data) {
        if (reload != false) {
            location.reload(true);
        }
        if (typeof callBack == 'function') {
            callBack(data);
        }
    });
}
于 2015-12-18T21:10:33.373 回答
0

从 Sitecore 社区得到一个可能有帮助的答案 -

在体验编辑器中,您可以创建一个编辑框架按钮并将其用于渲染......据我所知,您的渲染数据源指向“decades”文件夹。在您的渲染中,检查您是否在页面编辑器中并使用自定义编辑框来显示自定义按钮。其中之一将是一个插入按钮,允许您在“十年”下创建一个新孩子。

此博客文章中的完整详细信息重新体验编辑器编辑框架按钮。

于 2015-12-21T09:31:25.653 回答