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 комментариев