Я пишу расширение для команды «Сохранить», где в основном я хочу проверить определенные поля и представить всплывающее окно, позволяющее редактору выбрать данное ключевое слово или другие значения на основе текущей даты, номера выпуска и некоторых других атрибутов.
Я думал, что делаю хороший прогресс, пока, наконец, не понял, что $display.getItem()
возвращает элемент, который хранится в CM, а не текущие значения, которые редактор мог изменить.
Есть ли встроенный метод получения этой информации? Или мне нужно разобрать DOM, чтобы понять это?
Это код, который у меня сейчас есть
var item = $display.getItem();
if (item.getItemType() == "tcm:16") {
if (item.getSchema().getStaticTitle() == "Test Schema") {
var content = $xml.getNewXmlDocument(item.getContent());
var fieldXml = $xml.getInnerText(content, "//*[local-name()='NewField']");
alert(fieldXml);
}
}
Это работает - я получаю значение "NewField" - но это значение элемента имелось при загрузке, а не текущее значение.
Интересно, что item.getTitle()
показывает текущее значение поля Заголовок, поэтому я надеюсь, что это можно сделать и для настраиваемых полей.