Шорткоды
Шорткоды можно использовать в тексте сообщения. Например "Телефон: [phone]7900000000[phone]" выведет "Телефон: +7 (900) 000-00-00". Шорткоды удобны при работе со списками
array - массив
array выводит значение из массива по указанным ключам
[array]название массива->ключ массива[array],
[array]arr_name->key1->key2[array]
Пример 1:
Передан массив 'users'=> ['Иванов', 'Петров', 'Сидоров']
Можно вывести третье значение из списка
[array]"users"->2[array]
Результат
Сидоров
Пример 2:
[array]"users"[array]
Результат
Иванов
Петров
Сидоров
Пример 3:
Передан массив 'users'=> [ 'info'=> ['Иванов', 'Петров', 'Сидоров'] ]
[array]"users"[array] не выведет ничего, так как максимальная вложенность от указанного ключа - двоичный массив, нужно указать
[array]"users"->"info"[array]
category - категория
category выводит категорию по id
атрибуты:
divider - разделитель (по умолчанию "/")
limit:num - количество категорий в цепочке, начиная с конца
ends:1 - категории по краям
first:1 - первая категория
last:1 - последняя категория (тоже, что limit:1)
[category attr="divider:/"]число[category]
Пример 1:
Категория 506 - Volkswagen Touareg
[category attr="divider:/"]506[category]
Результат
объявления/транспорт/автомобили/Volkswagen/Touareg
Пример 2:
Категория 506 - Volkswagen Touareg
В админке у категорий "объявления", "транспорт" и "автомобили" снята галочка отображения в списке категорий
[category attr="divider:\n"]506[category]
Результат
Volkswagen
Touareg
Пример 3:
[category attr="limit:2"]506[category]
Результат
Volkswagen/Touareg
chat
chat - id чата в telegramm из таблицы chats
[chat=name]
Пример:
[chat=admin]
Результат
44444444
date - форматирование даты
date форматирует дату из переменной в указанный формат
[date attr="format:"]число[date]
Подробнее о форматах на сайте php.su/date
Пример 1:
[date attr="format:d.m.y"]2020-02-01[date]
Результат
01.02.20
Пример 2:
Если формат не указан, то по умолчанию будет "d-m-Y"
[date]2020-02-01[date]
Результат
01.02.2020
flag - флаг страны
flag выводит смайл флага страны из двузначного кода
[flag=code]
Пример 1:
[flag=ru]
Результат:
🇩🇪 (для отображения флага отправьте результат в телеграмм)
Пример 2 - Произвольный текст:
[flag=custom]
Результат
🇨🇺🇸🇹🇴🇲 (для отображения флагов отправьте результат в телеграмм)
global - глобальная переменная
global - выведет значение глобальной переменной
Тоже самое, что и {переменная}
[global]переменная[global]
Пример 1:
[global]chat_id[global]
Результат
4455667788 - id пользователя в telegram
if - условие
if конструкция if аналогична конструкции " условие ? true : false "
Операторы сравнения:
===, ==, !==, !=, >, <, >=, <=, <>, <=>
[if] 1==2 ? верно : неверно [if]
Пример 1:
[if]1==2?верно:неверно[if]
Результат:
неверно
Пример 2 - Параметры обрабатываются функцией trim, поэтому пробелы не влияют на результат:
[if] 2 > 1 ? верно : неверно [if]
Результат
верно
limit - ограничение строки
limit сокращает строку до указанной длины и добавляет многоточие, если количество знаков в строке превысило лимит
[limit=n]текст[limit]
Пример:
[limit=10]Шла Саша по шоссе[limit]
Результат
Шла Саш...
mask - замена
mask поиск и замена по регулярному выражению. Используется preg_replace
[mask attr="pattern:маска;replacement:замена"]число[mask]
Подробнее здесь
Пример 1:
Оставляем только цифры.
если replacement не указать, то его значение будет ""
[mask attr="pattern:/[^0-9]/"]Мой номер +7900000000[mask]
Результат
7900000000
Пример 2:
Оставляем только буквы, все остальное заменяем на нижнее подчеркивание, парные подчеркивания удаляем
[mask attr="pattern:/[^a-zA-Zа-яА-Я]{1,}/u;replacement:_"]Мой номер +7900000000 но он не доступен[mask]
Результат
Мой_номер_но_он_не_доступен
match - математические расчеты
шорткод match производит расчет по формуле
[match]формула[match]
На входе должны быть только целые числа
Пример
Например [match]2*(3+2)[match]
Результат
10
phone - форматирование номера телефона
phone форматирует номер телефона
[phone]номер[phone]
Если российский номер, то, при необходимости, в начале добавляет + или +7, меняет 8 на 7
Пример:
[phone]79000000000[phone]
Результат
+7 (900) 000-00-00
round - округление
round округляет число до указанного количества знаков после запятой
[round=n]число[round]
Пример:
[round=2]0,123456[round]
Результат
0.12
roundpadding - округление с дополнением
roundpadding округляет число до указанного количества знаков после запятой, либо добавляет нули, если количество знаков после запятой меньше указанного
[roundpadding=n]число[roundpadding]
Пример:
[roundpadding=4]0,1[roundpadding]
[roundpadding=2]0,1234[roundpadding]
Результат
0.1000
0.12
settings или setting - настройки
settings выводит строку из настроек по техническому названию
[settings]techname[settings] или [setting=techname]
Пример:
[settings]limitOfProductNameCharacters[settings] или [setting=limitOfProductNameCharacters]
Результат
15
Можно использовать в связке с другими шорткодами, например
[limit=[settings]limitOfProductNameCharacters[settings]]Шла Саша по шоссе[limit]
Результат
Шла Саша по ...
singleimage - ссылка на файл по id
singleimage - ссылка на файл по id из таблицы files
[singleimage]image_id[singleimage]
Пример 1:
[singleimage]20[singleimage]
Результат
https://site.ru/files/images/filename.png
translate - ссылка на перевод
translate - ссылка на вариант перевода из таблицы dialogue с учетом языковых настроек
[translate=translate_name]
Пример 1:
[translate=start_mess]
Результат
Привет!
user - ссылка на пользователя
user выводит ссылку на пользователя, если он зарегистрирован в системе
Если есть у пользователя username, то формат @username,
если нет, то <a href="tg://user?id=id">first_name</a>
[user=code]
Пример 1:
[user=467899715]
Результат:
@Renat898
Пример 2 - Пользователь не зарегистрирован:
[user=123123123]
Результат
user id:123123123