J'ai une suitelet qui affiche un formulaire créé avec N/ui/serverWidget, et j'aimerais afficher un message en haut du formulaire. Cependant, toute la documentation de N/ui/message indique qu'il s'agit d'un script côté client uniquement. Existe-t-il un moyen d'afficher une telle bannière sans construire un script client séparé juste pour le faire ?
Réponse
Trop de publicités?
Wolfgang
Points
2553
Oui, utilisez le Form.addPageInitMessage()
fonction. Elle vous permet de transmettre soit un message, soit les mêmes options que la fonction message.create()
et l'affichera au chargement du formulaire.
Voici un exemple complet :
/**
* Example of how to use Form.addPageInitMessage() to display a notice
* on a server-rendered form.
* @NApiVersion 2.x
* @NScriptType Suitelet
*/
define(['N/ui/serverWidget', 'N/message'], function(ui, message) {
function onRequest(context) {
var form = ui.createForm({
title: 'Example Form',
});
form.addSubmitButton({label: 'Submit'});
form.addField({
id: 'input',
type: ui.FieldType.TEXT,
label: 'Input',
});
form.addPageInitMessage({
type: message.Type.INFORMATION,
title: 'Message!',
message: 'A wild message appears!',
});
context.response.writePage(form);
}
return {
onRequest: onRequest,
};
});