Дизайн

Для отображения билетов на мероприятия используются шаблоны. Если шаблон не задан, используется шаблон по умолчанию.

Шаблон

Шаблон проездного билета определяется на уровне класса и в соответствии с ним показываются объекты, связанные с этим классом. В зависимости от шаблона элементы билета располагаются по-разному.

На рисунке ниже представлены составные части шаблона.

Название карты

Раздел с названием карты

В раздел с названием мероприятия также входит его логотип и сведения о месте его проведения. Вся эта информация указана во второй строке. Ссылки на поля, которые используются, чтобы указать значения перечисленных элементов, так же как и их положение, менять нельзя.

Шаблон карты

В разделе с шаблоном карты содержатся дополнительные строки. Они могут быть представлены в виде полей с текстовыми структурированными данными или текстовыми модулями.

Вы можете указать число строк; от него будет зависеть количество объектов в списке class.classTemplateInfo.cardTemplateOverride.cardRowTemplateInfos[]. В списке может быть один или два объекта следующих типов:

  • oneItem с одним элементом:
    • item
  • twoItems с двумя элементами:
    • startItem
    • endItem
  • threeItems с тремя элементами:
    • startItem
    • midItem
    • endItem

Каждый из элементов – это поле для выбора одного (.firstValue) или двух (.firstValue и .secondValue) значений либо предопределенное значение (.predefinedItem). Выбранные значения отображаются вместе с ярлыками. Если значений два, для их разделения используется символ "/". Так же отделяются друг от друга и связанные с ними ярлыки. В более сложных случаях подходит предопределенное значение.

Элементы, для которых не указаны значения, не отображаются. Подробнее об этом написано здесь. Это относится и к строкам. Элементы частично заполненных строк отображаются в другом, более удобном, порядке.

Если вы не выберете шаблон карты, количество строк и число элементов, будут использованы параметры по умолчанию. Подробнее…

Если вы определили главное изображение и в списке cardRowTemplateInfos несколько строк, то оно будет отображаться под первой строкой. Если же строка одна, это изображение появится над ней.

Штрихкод карты

Элементы штрихкода карты

В разделе со штрихкодом содержатся дополнительные текстовые и графические элементы, которые отображаются под штрихкодом и над ним. Добавлять их необязательно.

В этом же разделе находятся ещё три поля для выбора значений: два расположены рядом друг с другом над штрихкодом, а одно – под ним. У этих полей нет ярлыков. Они могут содержать текстовые структурированные данные, а также текстовые или графические модули. Изображения должны соответствовать правилам фирменного оформления.

У штрихкода есть тип и значение. Поддерживаемые типы штрихкодов приведены здесь. Кроме того, под штрихкодом может находиться текст. Он нужен, чтобы упростить сканирование кода, но может использоваться и для других целей.

Если вы не перезапишете раздел со штрихкодом, то будут использоваться значения по умолчанию. Подробнее…

Шаблон подробных сведений

Раздел с шаблоном подробных сведений

В этом шаблоне представлен список элементов class.classTemplateInfo.detailsTemplateOverride.detailsItemInfos[], которые могут содержать сообщения, структурированные данные или модули "текст", "изображение" либо "ссылка".

Каждый из элементов – это поле для выбора одного (.firstValue) или двух (.firstValue и .secondValue) значений либо предопределенное значение (.predefinedItem). Выбранные значения отображаются вместе с ярлыками. Если значений два, для их разделения используется символ "/". Так же отделяются друг от друга и связанные с ними ярлыки. В более сложных случаях подходит предопределенное значение. Обратите внимание, что поля с графическими модулями отображаются с заданной шириной и без ярлыков.

Элементы, для которых не указаны значения, не отображаются. Подробнее об этом написано здесь.

Если вы не перезапишете шаблон подробных сведений, то ссылки на поля в стандартном списке будут представлены в порядке по умолчанию. Подробнее…

Шаблон списка

Раздел с шаблоном списка

Шаблон списка нужен для отображения в приложении элементов раздела "Карты". В списке проездной билет представлен с логотипом и на цветном фоне, а также с дополнительной информацией на трех строках.

Три строки могут быть представлены в виде элементов для выбора поля без ярлыков. В случае со сгруппированными билетами в третьей строке всегда указывается их число, а во второй – дата начала.

Ярлыки

У всех полей со структурированными данными есть ярлыки, которые предоставляет Google. Мы самостоятельно переводим их названия на все поддерживаемые языки.

Некоторые ярлыки можно изменить, используя поля class.custom<name_of_the_field>Label. Если вы это сделаете, вам придется самостоятельно переводить названия на все желаемые языки.

Ссылки на поля

Ссылки на поля используются в разных частях шаблона с форматом class.classTemplateInfo.*.fields[]. В ссылке на поле содержится список путей к сообщениям, структурированным данным или модулям "текст", "изображение", "ссылка".

В ссылку на поле можно добавить не каждый вид пути. В некоторых из них могут допускаться только пути к текстовым модулям или структурированным текстовым данным. Последние представляются в виде полей типа "строка", "локализованная строка", "дата" и "деньги".

Список можно использовать в качестве резервного способа. В таком случае, если в первом пути окажется пустое поле, будет выполнен следующий. Этот способ подходит для путей к текстовым модулям или структурированным текстовым данным. При этом допускается применение только одного из двух типов. Используйте такой способ, только если в некоторых объектах будет встречаться определенный набор полей. В остальных случаях для разных примеров использования стоит создавать отдельные классы.

Если все пути в списке возвращают пустые значения, значит элемент отображаться не будет. Чтобы такой ситуации не возникало, заполните хотя бы одно поле. Если в поле нужно указать нулевое значение, добавьте в него специальный символ, например "–". Такой метод подойдет, даже если значение в поле может состоять только из одного пробела.

Для каждого элемента в списке следует добавлять порядковый номер или идентификатор ссылки. Идентификатор можно указать в поле .id. По возможности лучше всегда указывать идентификатор.

Ниже показано, как это сделать.

  • object.imageModulesData[0].id = my-first-id
  • object.imageModulesData[1].id = my-second-id
  • class.detailsTemplateOverride.detailsItemInfos[0].item.firstValue.fields[0].fieldPath = object.imageModulesData[‘my-second-id’]
  • class.detailsTemplateOverride.detailsItemInfos[1].item.firstValue.fields[0].fieldPath = object.imageModulesData[0]

В этом случае в подробных сведениях о проездном билете первым элементом станет первое изображение, указанное в объекте. а вторым – первое.

Шаблон по умолчанию

Разделы с шаблоном по умолчанию

Для каждого класса и объекта может быть представлен только один графический модуль. Если вам нужно больше модулей для того или иного уровня, перезапишите шаблон по умолчанию.

Можно добавить до 10 текстовых модулей как для класса, так и для объекта. Поля отображаются в том порядке, в котором они представлены в массиве. Если вам нужно больше модулей для того или иного уровня, перезапишите шаблон по умолчанию.

Можно добавить до 10 сообщений как для класса, так и для модуля. Порядок сообщений не гарантирован. Если вам нужно больше модулей для того или иного уровня либо определенный порядок, перезапишите шаблон по умолчанию.

Для модуля ссылок ограничений нет. Для каждого уровня URI будут отображаться в следующем порядке:

  1. Координаты на карте
  2. Номера телефонов
  3. Адреса электронной почты
  4. Веб-страницы
URI отображаются в группах в том порядке, в котором они представлены в массиве. Если вам нужен другой порядок, перезапишите шаблон по умолчанию.

Разделы с шаблоном списка по умолчанию