Sto scrivendo un'estensione del comando "Salva", in cui fondamentalmente voglio convalidare determinati campi e presentare un popup che consente all'editor di selezionare una determinata parola chiave o altri valori in base alla data corrente, una Release # e alcuni altri attributi.Ottieni il valore _current_ di un campo in Component Editor? (Tridion 2011 SP1)
Ho pensato che stavo facendo buoni progressi fino a quando ho finalmente capito che $display.getItem()
restituisce l'elemento come è memorizzato in CM, non i valori correnti che l'editor potrebbe aver modificato.
Esiste un metodo integrato per ottenere queste informazioni? O devo analizzare il DOM per capirlo?
Questo è il codice ho attualmente
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);
}
}
Si sta lavorando - ho il valore di "NewField" - ma questo è il valore della voce aveva quando è stato caricato, non l'attuale Valore.
È interessante notare che item.getTitle()
mostra il valore corrente del campo Titolo, quindi spero che ci possa essere un modo per ottenere questo anche per i campi personalizzati.
Ho notato che FieldBuilder non sembra essere disponibile in XM (UI). C'è qualcosa di simile/così utile OOTB disponibile? –
L'oggetto FieldBuilder crea il modulo per la modifica di un componente in una finestra popup. Dal momento che la nuova interfaccia utente XPM non ha una tale forma, ma ti consente invece di modificare il contenuto nel tuo normale sito web, il FieldBuilder non ha senso in questo contesto. È possibile ottenere informazioni sul campo selezionato da '$ display.getView() ._ getSelectedFieldData()'. –