Как динамически загружать изображения и фрагменты в формах LiveCycle Designer?
Я создал несколько общих шаблонов (.xdp), которые будут использоваться несколькими клиентами. Очевидно, у каждого клиента есть свой логотип, и я хотел бы установить логотип при создании формы.
Мне удалось изменить логотип динамически, хотя я не уверен, что мой подход хорош.
В источнике данных XML у меня есть этот элемент:
SomeNumber ClientId>
В самой форме я установил изображение href с помощью этого кода JavaScript:
SomeHiddenTextField:: высчитывает HeaderLogo.value.image.href = $record.ClientID + "_logo.jpg";
Я храню логотипы на сервере в той же папке, что и общие шаблоны.
Это правильный подход для динамической загрузки логотипов?
Я пытался добиться такого же динамического поведения с каждым фрагментом нижнего колонтитула клиента, но я не смог понять, как загрузить их по требованию. Я мог бы сделать каждый фрагмент нижнего колонтитула в изображение, но я хотел бы избежать этого, если это возможно.
1 ответ
Я знаю, что для динамической загрузки изображений мне нужно было сделать следующее:
Создайте сервис SOAP, который возвращает байт [] с данными изображения (base64)
Позвоните в сервис из LiveCycle:
var cURL = "http://host/path/MyService?wsdl"
var oService = SOAP.connect(cURL);
try {
var cText = "";
var myRequest;
var cSOAPAction;
myRequest = {
myMethod: {
Param1:value
};
cSOAPAction= "http://mynamespace/myMethod";
}
var myNamespace = "http://mynamespace";
var oResults = SOAP.request ({
cURL: cURL,
oRequest: oGetNameByIdRequest,
cAction: cSOAPAction,
bEncoded: false, // If false then document/literal encoding will be used.
cNamespace: myNamespace,
cResponseStyle: SOAPMessageStyle.Message
});
HeaderLogo.rawValue = oResults[0].soapValue[0].soapValue;
...