Я пишу расширение для команды "Сохранить", где в основном я хочу проверить определенные поля и представить всплывающее окно, позволяющее редактору выбирать заданное ключевое слово или другие значения на основе текущей даты, версии # и некоторых других атрибуты.
Я думал, что делаю хороший прогресс, пока, наконец, не выясню, что $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()
показывает текущее значение поля Title, поэтому я надеюсь, что для пользовательских полей может быть и способ.