CMS: Использование экспрессий CMS для манипулирования текстовыми строками
14 мин.
Используйте выражения CMS, чтобы открыть весь потенциал вашей CMS без использования кода Velo или JS.
Выражение позволяет комбинировать статический текст с динамическими значениями из нескольких полей коллекции в одной строке текста. Примените форматирование к динамическим датам, времени и числам, чтобы отображать их по мере необходимости. Постройте математические уравнения, использующие числовые поля в своих вычислениях. Вы даже можете объединять функции в одном выражении, чтобы открыть бесконечные возможности.

Обзор этого процесса можно найти в нашем полном руководстве по CMS.
О функциях экспрессий CMS
Выражение CMS сочетает в себе функции, литеральные значения и значения полей коллекции, чтобы по-новому представить данные на сайте.
После подключения поддерживаемого элемента страницы к набору данных, вы можете подключить его текстовые значения к выражениям CMS. Затем вы создаете выражение, состоящее из функций, идентификаторов полей, строк, чисел и другого синдекса. Затем в тексте подключенного элемента отображаются результаты расчета выражения.
Выражение состоит из следующей структуры:
- Функции: определите, как рассчитывать значения, которые отображаются в круглых скобках после функции, со значениями, разделенными запятыми (например, MULTIPLY(price, count), DAYS(_createdDate, NOW()), CONCAT("Created on ", _created Date)).
- Идентификаторы полей: уникальные идентификаторы каждого поля коллекции (например, title, _createdDate, clientName).
- Строки: последовательности символов, которые могут содержать буквы, цифры, символы и пробелы.
- Литералы строк: Последовательность символов, заключенных в кавычки, используется для отображения статичного текста (например , «Hello», «Hello», «Errata» Кевина Янга, «\"Errata\" Кевина Янга, "обратная черта — \\, вперёд — /").
- Числоовые литералы: числовое значение, используемое функцией (например, 123, 1000, 3.14).
- Литералы массива: способ представления массива, который представляет собой упорядоченный набор значений, обычно одного типа, заключаемых в квадратные скобки (например, 1,2,3], [«кот», «собака», «мышь»]).
- Особые константы: Заранее определённые значения, имеющие определённое значение в пределах действия функции (например, true, false, undefined, null).
Помните, что выражения чувствительны к регистру. При использовании полей в выражениях используйте идентификаторы полей, а не названия полей, и помните, что идентификаторы полей также чувствительны к регистру.
По мере ввода выражения вы будете получать подсказки, которые помогут вам правильно использовать функции и идентификаторы полей. Чтобы вам было проще просмотреть идентификаторы полей в редакторе, [включите режим разработчика.
Важная информация о написании фраз:
- При ссылке на поля коллекции вводите идентификаторы полей вместо названий полей. Идентификаторы полей — это уникальные идентификаторы для каждого поля коллекции, в отличие от названий полей.
- Идентификаторы функций и полей чувствительны к регистру. Обратите внимание на заглавные буквы, используемые в обоих случаях.
- Для функций CONCAT ставьте «статические» литеральные значения строк в кавычки. Это включает статические знаки препинания и пробелы между ссылающимися полями.
- Если функция не работает, проверьте сообщение об ошибке в нижней части поля Выражение, чтобы узнать, как решить проблему.
Подключение элементов к выражениям в наборе данных
Для начала подключите соответствующий элемент к CMS и выберите вариант подключения Выражение. Затем введите выражение, которое вы хотите использовать. Смотрите следующие разделы, как создать выражение.
Редактор Wix
Редактор Studio
- В редакторе нажмите на элемент, который вы хотите подключить к CMS (например, текст, кнопка, галерея).
- Нажмите значок Подключить к CMS
. - Нажмите на раскрывающийся список Выберите набор данных и выберите существующий набор данных, который подключается к коллекции. Или нажмите Создать новый набор данных, а затем выберите коллекцию, которую вы хотите подключить.
- Нажмите на соответствующий раскрывающийся список в разделе Параметры подключения и выберите Выражение.

- Нажмите на поле Выражение.
- Введите название функции, которую вы хотите использовать (например, CONCAT, DATE, TEXT).
Совет: когда вы начнете печатать, вы можете выбрать из списка возможных функций.

- Введите открывающую скобку: (
- Введите идентификаторы полей или значения, которые вы хотите использовать в условии. По мере ввода отображается список совпадающих идентификаторов полей, из которого можно выбрать.
- Введите закрывающую скобку: )

Примеры фраз
Ознакомьтесь с примерами написания различных типов фраз в следующих разделах.
Комбинирование значений из нескольких полей с помощью конкатенации строк
Используйте функцию CONCAT , чтобы объединить значения из нескольких разных полей коллекции в одно текстовое поле. Добавьте в функцию собственный текст, чтобы сочетать статические символы с динамическими значениями. Статические символы не меняются, а динамические значения меняются в зависимости от элемента, извлекаемого набором данных. Обязательно заключайте в кавычки весь статический текст, включая пробелы и знаки препинания (например, "" или ",").
Вы можете использовать разные функции для одинаковых действий, а также комбинировать функции в функциях для более сложных задач. Если с выражением возникла проблема, проверьте в сообщении об ошибке, как ее решить.
Примером использования функции CONCAT является создание пользовательского текста для динамического введения страницы элемента. В тексте можно представить каждого пользователя по имени, указать название работы и срок работы в компании. Вот как будет выглядеть это выражение:
1CONCAT ("Наш ",должностный титул,", ",title" работает здесь с ",date,".")В этом примере:
ID поля jobTitle представляет поле коллекции с должностью каждого члена. Идентификатор поля title предназначен для поля с именами каждого пользователя. Ключ hireDate взят из поля с датой начала работы каждого участника. Обратите внимание, что весь статический текст и знаки препинания взят из кавычек.

Как совмещать функции и отображать год без месяца или дня
Посмотрите таблицу ниже для более базовых примеров использования функции CONCAT:
Вариант использования | Выражение | Пример | Результатов поиска: |
|---|---|---|---|
Комбинируйте значения полей без пробелов и знаков препинания | CONCAT(value,value) | CONCAT (title, jobTitle) | Брайан Чанг, вице-президент продукта |
Объедините значения полей, разделённые запятой, и пробел | CONCAT(value,", ",value) | CONCAT(title,", ",jobTitle) | Брайан Чанг, вице-президент продукта |
Комбинируйте статический текст со значениями полей | CONCAT("Hello, ",value) | CONCAT("Hello, ",title) | Hello, Брайан Чанг |
Объедините значения полей со статичным текстом в начале и конце | CONCAT («Здравствуйте, ",value,", добро пожаловать обратно.") | CONCAT ("Здравствуйте, ",title,", добро пожаловать обратно.") | Здравствуйте, Брайан Чанг, добро пожаловать обратно. |
Формат даты/времени
Если вы хотите контролировать, как форматируются даты и время на вашем опубликованном сайте, или вычислять значения из дат, используйте функции даты/времени. Эти функции работают с типами полей Date, Time и Number.

В примере выше:
Функция DAYS возвращает количество дней между динамическим полем dueDate и сегодняшней датой. Обратите внимание, как она объединяет функцию DAYS с функцией TODAY , а также функцию CONCAT , используемую для объединения статического и динамического текста.
Нажмите на нужную функцию ниже, чтобы узнать подробнее:
DATE
DATEVALUE
YEAR
MONTH
DAY
HOUR
MINUTE
SECOND
DAYS
DAYS360
EDATE
EOMONTH
NETWORKDAYS
NETWORKDAYSINTL
NOW
TODAY
TIME
TIMEVALUE
WEEKDAY
ISOWEEKNUM
WEEKNUM
WORKDAY
WORKDAYINTL
YEARFRAC
Форматирование чисел с помощью функции TEXT
Используйте функцию TEXT, чтобы применить форматирование к числам. Например, вы можете отформатировать значения из числового поля в валюте или процентах.

В примере выше:
Функция TEXT форматирует числовое поле (price) как сумму в долларах. Обратите внимание, что функция TEXT вставляется в функцию CONCAT, которая добавляет статический текст перед ценой.
См. ниже примеры использования функции TEXT:
Преобразовать число в формат валюты
Преобразовать число в формат процентов (%)
Математические функции
Вы можете использовать математические функции для вычислений на основе различных типов числовых полей и/или статических чисел.

В примере выше:
Функция MINUS рассчитывает 20-11=9. Значение 20 является статическим, а значение поля Number (rewardPoints) является динамическим. Обратите внимание, как выражение вставляет функцию MINUS всего в функцию CONCAT, которая сочетает в себе статический текст и динамические значения.
Смотрите таблицу ниже для дополнительных примеров использования математических выражений:
Вариант использования | Выражение | Примеры | Результатов поиска: |
|---|---|---|---|
Вычислить сумму двух чисел | ADD(value,value) | ADD(number1,number2) ADD(4,20) | 24 |
Посчитать разницу между 2 числами | MINUS(value,value) | MINUS(number1,number2) MINUS(100,1) | 99 |
Вычислите умножение 2 чисел | MULTIPLY(value,value) | MULTIPLY(number1,number2) MULTIPLY(2,4) | 6 |
Вычислить 1 число, разделенное на другое | DIVIDE(value,value) | DIVIDE(number1,number2) DIVIDE(10,2) | 5 |
Возвращать «true», если два значения одинаковы, и «false» в противном случае | EQ(value,value) | EQ(number1,number2) EQ(200,200) | верно |
Возведение числа («x») в степень другого числа «y» | POW(x,y) | POW(2,3) POW(3,3) | 8 27 |
Проверяет, совпадают ли два значения | EQ (Равный) | EQ(5,5) | верно |
Проверяет, не совпадают ли два значения | NE (Not Equal) | NE(5,7) | верно |
Проверяет, не больше ли одно значение другого | GT (Больше, чем) | GT(7,5) GT(7,7) | true, false |
Проверяет, меньше ли одно значение другое | LT (Меньше чем) | LT(5,7) LT(7,5) | true, false |
Проверяет, не больше ли одно значение другого | GTE (Больше чем или Равный) | GTE(7,5) GTE(5,5) GTE(5,4) | true true false |
Проверяет, не меньше ли одно значение другого | LTE (Меньше или равное) | LTE(5,7) LTE(5,5) LTE(5,4) | true true false |
Вопросы и ответы
Смотрите ниже ответы на частые вопросы об использовании фраз.
Для каких элементов можно использовать выражения?
Где найти идентификаторы полей?






в 