Как использовать событие сохранения в редакторе элементов Sitecore? - PullRequest
0 голосов
/ 20 сентября 2010

Я создаю пользовательский редактор элементов и использую следующую запись в блоге в качестве ссылки для ответа на событие «сохранить» в редакторе содержимого, так что мне не нужно создавать вторую, сбивающую с толку кнопку «Сохранить» для моегопользователи.

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

Я могу сохранить свои значения в элементе, но значения на обычной вкладке содержимого также сохраняются, переопределяя мои значения.Я подтвердил это через Firebug.Есть ли способ предотвратить это или гарантировать, что мое сохранение всегда после сохранения по умолчанию?

У меня есть это в качестве тикета поддержки, а также в SDN, но интересно, что может предложить сообщество SO,

Спасибо!

1 Ответ

0 голосов
/ 22 сентября 2010

Сделал снимок в решении на основе 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.

Есть комментарии к решению?

РЕДАКТИРОВАТЬ: В блоге больше об этом решении

...