Шорткоды

Шорткоды можно использовать в тексте сообщения. Например "Телефон: [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