【问题标题】:How do I utilize the save event in a Sitecore custom Item Editor?如何在 Sitecore 自定义项目编辑器中使用保存事件?
【发布时间】:2013-08-27 20:40:32
【问题描述】:

我正在创建一个自定义项目编辑器,并使用以下博客文章作为响应内容编辑器中的“保存”事件的参考,这样我就不需要为我创建第二个令人困惑的保存按钮用户。

http://www.markvanaalst.com/sitecore/creating-a-item-editor/

我可以将我的值保存到项目中,但正常内容选项卡中的值也会被保存,覆盖我的值。我已经通过 Firebug 确认了这一点。有没有办法防止这种情况发生,或者确保我的保存总是在默认保存之后?

我把它作为支持票和 SDN 也有,但想知道 SO 社区能想出什么。

谢谢!

【问题讨论】:

    标签: sitecore


    【解决方案1】:

    尝试了基于 iframe 的解决方案,该解决方案使用 IFrame 字段来读取和保存在我的项目编辑器中输入的值。它需要稍微清理一下,感觉就像是一个界面黑客,但它目前似乎正在工作。

    在我的项目编辑器中:

    jQuery(function () {
        var parentScForm = window.parent.scForm;
        parentScForm.myItemEditor = window;
    });
    
    
    function myGetValue(field) {
        var values = [];
        jQuery('#myForm input[@name="' + field + '"]:checked').each(function () {
            values.push(jQuery(this).val());
        });
        var value = values.join('|');
        return value;
    }
    

    在我的 iframe 字段中:

    function scGetFrameValue() {
        var parentScForm = window.parent.scForm;
        if (typeof (parentScForm.myItemEditor) != "undefined") {
            if (typeof (parentScForm.myItemEditor.myGetValue) != "undefined") {
                return parentScForm.myItemEditor.myGetValue("myLists");
            }
        }
        return null;
    }
    

    理论上,我可以在项目上有多个字段,以这种方式“委托”给项目编辑器——使用内容编辑器保存而不是试图与之抗争。我对“搭便车”到 scForm 以在我的页面之间进行通信有点不安——可以向我们的常驻 Javascript 黑客咨询更好的方法。

    有没有关于解决方案的 cmets?

    编辑:Blogged more about this solution

    【讨论】:

    • 没有其他 cmets 或响应,到目前为止它正在工作。接受。
    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    相关资源
    最近更新 更多