BMC IO DocsBMC IO Docs
IO v6
IO v7
Notes
Docs
IO v6
IO v7
Notes
Docs
  • IO Framework v6

    • О фреймворке
    • Уроки
    • Структура
    • Доступ к участкам проекта
    • Старые версии фреймворка
    • Разворачивание нового проекта
  • Backend

    • Функции фреймворка
    • Настройки проекта (app/i.php)
    • Настройки composer
    • Глобальные переменные
    • Константы фреймворка
    • Event класс
    • IOCore класс
    • Controller и работа с ними
    • Class и работа с ними
    • Model и работа с ними
    • View и работа с ними
    • Мультиязычность и словарь фраз
    • Bin скрипты и работа с ними
    • Cron скрипты и работа с ними
    • $ioSession и работа с сессией
    • $ioSession->user и работа с пользователем
    • $ioHash и работа с кешем
    • $ioXCache и работа с кешем
    • $iodb и работа с базой данных
  • Frontend

    • Twig шаблонизатор и работа с ним
    • Twig функции
    • Twig фильтры
    • JS плагины
    • Отложенная загрузка JS скриптов
    • Обращение к Model через JS
  • Примеры

    • AutoIncrement, зависящий от полей

IO v6. Twig функции

ioCallAction(entity, params = [])

Вызывается action у модели.

{% set value = ioCallAction(entity, params) %}
{% set value = IOCallAction(entity, params) %}

renderPlain(entity, data = [])

Позволяет рендерить представление, используя ее адрес. Например app.view.olymp.view1.

{{renderPlain(entity, data)}}

microtime(a)

Аналог php функции microtime.

{% set value = microtime(a) %}

getGenPageTime()

{% set value = getGenPageTime() %}

permission(perm, account = null)

Проверить право доступа у конкретного аккаунта.

{% set value = permission(perm, account) %}

permission2(perm)

Проверить есть ли право доступа у всех аккаунтов.

{% set value = permission2(perm) %}

getPlatform()

{% set value = getPlatform() %}

getImagePaths(paths)

{% set value = getImagePaths(paths) %}

getHost(url)

{% set value = getHost(url) %}

urlGetAdd(url, addkey, addval, [...])

Добавление нового GET параметра к ссылке. url - ссылка, addkey - добавляемый GET ключ, значение добавляемого GET ключа. Ключей и значений может быть сколько угодно, главное чтобы и ключи и значения были указаны (нельзя добавлять ключ не указав его значение).

Для передачи get параметров в ссылки типа src нужно дополнительно прописывать фильтр | url_encode

{% set url = urlGetAdd(url, addkey, addval, ...) %}
{% set url = UrlGetAdd(url, addkey, addval, ...) %}

urlGetAddArr(url, arr)

{% set url = urlGetAddArr(url, arr) %}
{% set url = UrlGetAddArr(url, arr) %}

parseUrl(url)

Распрасить url, взять первый тег между "/".

{% set value = parseUrl(url) %}

производит поиск внутри url. Пример использования if(parseUrl == "значение")

ВАЖНО! что эта функция работает только внутри первых "/" если нужно осуществлять поиск глубже, то нужно вызвать еще одну функцию

parseUrl2(url)

concat(str1, str2)

Объединение строки str1 со строкой str2 (конкатенация). Аналог php выражения $str1 . $str2.

number_format(a, b, c, d)

Аналог php функции number_format.

formatSizeUnits(bytes, a = 2, arr = ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB'], enableNumberFormat = true)

Перевести число в байты, килобайты, мегабайты, гигабайты, терабайты, петабайты, отформатировав строку.

cutString(string, maxlen, ch = '...')

Обрезать строку и поставить после нее многоточие.

cutString2(string, maxlen, ch = '...')

substr(string, start, length)

Аналог php функции mb_substr.

loadTemplateDictionary(path)

getFormatTypeFromForm(type)

getDaysAmount(dateot, datedo)

dateIntervalMinutes(date1, date2)

getDeclension(int)

decl1(int = 1, expr = ['день', 'дня', 'дней'])

decl21(int = 1, expr = ['день', 'дня', 'дней'])

cutTextByWidth(str, w, ch = '...', w1 = 6)

time()

Аналог php функции time().

v_dump(variable)

Аналог php функции v_dump().

{{v_dump(variable)}}

v_dump используется для отображения массива чтобы узнать что в нем находится и под каким индексом Используется только в формате HTML потому что возвращает html теги

n_dump(variable)

Аналог php функции n_dump().

{{n_dump(variable)}}

Тоже самое что и v_dump, но работает в исходном коде и с нормальной табуляцией

Вызов в консоли

v2_dump(variable)

Аналог php функции v2_dump().

{{v2_dump(variable)}}

Она нужна для корректного отображения обьектов так как v_dump не работает с ними

array_push(arr, key, value)

Аналог php функции xadd. Добавляет в массив по ключу значение Добавляет в массив по ключу значение.

xadd(array, key, value)

Аналог php функции xadd.

{% set array = xadd(array, key, value) %}

Функция добавляет новое значение в существующий массив (в конец массива)

xaddpre(array, key, value)

{% set array = xaddpre(array, key, value) %}

Функция добавляет новое значение в существующий массив (в начало массива)

xarr(array, key, default)

Аналог php функции xarr.

{% set value = xarr(array, key, default) %}

Поиск по массиву через ключ где array - это сам массив, key - это ключ, а default - это значение по умолчанию если в массиве такого значения нет

xarrj(array, dotkey, default)

{% set value = xarrj(array, dotkey, default) %}

Используется в случае вложенности массивов чтобы не писать кучу раз xar()

xget(key, default)

Получить get параметр по ключу.

{% set value = xget(key, default) %}

xpost(key, default)

{% set value = xpost(key, default) %}

Нужны для получения значения из переменной где key - это само значение, а default значение по умолчанию (если не задавать, то будет null)

get_cookie(key)

Получить cookie параметр по ключу.

eqi(a, b)

Проверить равны ли две строки.

neqi(a, b)

Проверить не равны ли две строки.

hexdec(a)

format_string(str, arr)

Отформатировать строку. Заменить все вхождения %key% на значения из переданного массива.

format_money(amount, html)

Отформатировать тип money.

json_encode(value)

Превратить массив в json строку.

json_encode_utf8(value)

json_decode(json, assoc)

base64_encode(value)

base64_decode(value)

youTubeVideo(arr)

Отформатировать ссылку на ютуб, чтобы реклама не выводилась.

v_dump_context()

Выводить все переменные, которые передаются в twig.

isMobile()

isAndroid()

site_permission(site_pkid)

site_permission2(site_pkid)

site_admin_permission(site_pkid)

checkExtensionsByString(arrayexts, path)

getExtensionsByString(path)

getRelationGroups()

getRelationTypeByGroup(group_pkid)

getRelationTypeByID(type_pkid)

getRelationByTypeAndUserAndGender(type_pkid, user_pkid, group_pkid, gender = -1)

getAvatarByLogin(user_login)

{% set avatar = getAvatarByLogin(user_login) %}
{% set avatar = getAvatar(user_login) %}

getAvatarsByLogin(user_logins = [])

getAvatarByID(user_pkid)

getAvatarsByID(user_pkids = [])

getUserByID(user_pkid)

getUserByLogin(user_login)

getLogo(company_pkid)

getLogos(company_pkids = [])

getNoticesInfo(force = 0)

link(url, dontreplace = true)

linkGetUri(url)

linkRemoveLastSlash(url)

getLangData(data)

Получить строку из массива на текущем языке.

contains(haystack = '', needle = '', or = false)

strpos(haystack, needle)

in_array(needle, haystack, strict = false)

array_key_exists(needle, haystack)

getAccounts()

gettype(variable)

ioGenPkid()

getNoticeTypeByID(notice_type)

getNoticeCatByID(notice_cat)

getNoticeServiceByApiName(notice_service_api_name)

dateDifference(date1, date2, differenceFormat = '%a')

historyDays(date, timezone = null, datetime_timezone = null)

sortNameRuAsc(arr)

sortNameRuDesc(arr)

sortNameAsc(arr)

sortNameDesc(arr)

sortAscByKeys(arr, keys)

sortDescByKeys(arr, keys)

QRAnalyze(str)

io_rand_str(length = 16, mode = '')

rand_str(params = [])

get_ini(ini_param = '')

ioSessionCreateTempAuthTokenForLoginPage()

Prev
Twig шаблонизатор и работа с ним
Next
Twig фильтры