I'm writing an extension to the "Save" Command, where basically I want to validate certain fields and present a popup allowing the editor to select a given keyword or other values based on current date, a Release # and some other attributes.
I thought I was doing good progress until I finally figured out that $display.getItem()
is returning the item as is stored in CM, not the current values that the editor may have changed.
Is there a built-in method to get me this information? Or do I need to parse the DOM to figure it out?
This is the code I currently have
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);
}
}
It is working - I get the value of "NewField" - but this is the value the item had when it was loaded, not the current value.
Interestingly, item.getTitle()
shows the current value of the Title field, so I hope there may be a way to achieve this for custom fields too.