Функция imagelist позволяет получить набор изображений, хранящихся в системе как значения свойства определенного класса, в компактном виде, удобном для их дальнейшего использования.
Допустимые расширения:
- .png - для получения ответа в виде PNG-файла
- .js / .json - для получения ответа в формате JSON
Значение параметра функции "query" должно представлять собой XML-документ, который должен содержать элемент query со следующими атрибутами:
- class (обязательный) - имя или идентификатор класса, значение свойства которого содержит изображения
- proprty (обязательный) - имя свойства, значения свойства которого содержат изображения
- width, height - ширина и высота в пикселях, к которой будут приведены отдельные изображения; если эти значения не указаны, используются значения по умолчанию 32х32
- perrow - количество изображений в одной строке при компоновке изображений; если это значение не указано, используются значение по умолчанию 12
Элемент query может иметь дочерние узлы item, за счет которых можно передать условия отбора, которые будут наложены на записи класса. Если узлы item не будут добавлены, то изображения будут получены из всех записей класса (без условий отбора).
Узлы item должны иметь атрибут part со значением where, в остальном набор атрибутов и принципы формирования узлов item совпадают с принципами использования узлов item part="where"... в функции cursor (Функция cursor) для задания условий отбора запроса.
При вызове функции с расширением .png в качестве результата будет возвращено содержимое.png-файла с набором изображений.
При вызове функции с расширением .js или .json результат будет представлять собой JSON-объект с набором полей id: index, где id - идентификатор объекта класса, index - порядковый номер изображения в структуре изображений, после которых будут следовать поля
- .filename: "запрос на получение.png-файла"
- .width: "32"
- .height: "32"
- .perrow: "12"
Пример | Вызов функции с расширением.png: techmill.ru/sup/imagelist.png?query=<query class='TAvatar' property='Image' width='32' height='32'/> Вызов функции с расширением.js: techmill.ru/sup/imagelist.js?query=<query class='TAvatar' property='Image' width='32' height='32'/> Результат, возвращаемый при вызове с расширением.js: 01{
02 "12008":0,
03 "12009":1,
04 "12010":2,
05 "13917":3,
06 "27570":4,
07 "68807":5,
08 "1786530":6,
09 "6574243":7,
10 "9376694":8,
11 "9376695":9,
12 "38740400":10,
13 "39019504":11,
14 "39019505":12,
15 "118496347":13,
16 ".filename":"/sup/imagelist.png?query=%3Cquery%20class%3D%27TAvatar%27%20property%3D%27Image%27%20width%3D%2732%27%20height%3D%2732%27%20perrow%3D%2712%27/%3E",
17 ".width":32,
18 ".height":32,
19 ".perrow":12
20} |