Наверх

Используем $modx->getOption()

В разделе «Репосты» расположены чужие статьи, которые мне понравились или показались полезными.

Метод $modx->getOption() один из основных методов MODX. Очень часто он используется для получения какой-либо системной настройки.

mixed getOption (string $key [, array|null $options [, mixed $default [, boolean $skipEmpty]]] )
$key — ключ настройки, который нужно найти.
$options — ассоциативный массив или NULL. Если указано последнее, то поиск будет производится в системных настройках. В противном случае, ключ будет искаться в указанном массиве.
$default — значение по-умолчанию, которое будет передано методом, если настройка с указанным ключом не найдена.
$skipEmpty — если установлено в true, то значение по-умолчанию будет передано не только когда ключ не найден, но и когда возвращается пустая строка.

Примеры вызова

Найдем значение системной настройки «some_setting».

$value = $modx->getOption('some_setting');

Если эта настройка не найдена, то в $value будет NULL. Но у getOption() есть возможность в этом случае передать значение по-умолчанию. Для этого нужно задействовать третий параметр.

$value = $modx->getOption('some_setting', null, 'default value');

В этом случае метод getOption() вернет или значение системной настройки или значение по-умолчанию. Очень удобно. А если настройка найдена, но она пустая. Что делать? Для этого существует четвертый параметр $skipEmpty.

$value = $modx->getOption('some_setting', null, 'default value', true);

Если он установлен в TRUE, то getOption() вернет значение по-умолчанию и в случае, если настройка не найдена и если она пустая. Это иногда очень выручает. Причем, в отличие от метода empty() PHP, он считает пустой только строку. Т.е. значение 0 не считается пустым и, соответственно, значение по-умолчанию в данном случае не присвоится.

Использование с массивами

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

$tpl = $modx->getOption('tpl', $scriptProperties, 'myTpl', true);

Такой прием можно использовать и в других случаях

$option = $modx->getOption('secret_key', $_SESSION, null);
$option = $modx->getOption('product_id', $_GET, 0);
$option = $modx->getOption('user_email', $_POST, '', true);

Подробнее можно почитать на официальном сайте или у Боба Рея.

Источник: modzone.ru/blog/2015/12/17/method-modx-getoption/


0 комментариев

    Авторизация

    через сервис Loginza:


    Шаблоны MODX

    1 2 Дальше »

    Объектная
    модель
    MODX