Иногда стоит задача добавить свои опции в шаблон, но при этом оставить дефолтные. Действительно, разработчик шаблона может предусмотреть какие-то свои опции, и обычно это заключается в копировании дефолтного options.ini в свой шаблон.
Но, в таком случае, если дефолтный шаблон обновится и появятся какие-то другие опции, разработчик вынужден будет вносить изменения в свой шаблон.
Чтобы этого избежать, можно просто объединять дефолтные опции со своими. Делается это очень просто.
Создадим свой options.ini в своем шаблоне. Можно указать свои ключи, а также переписать дефолтные.
После этого в шаблоном (своём) options.php дописываем несколько срочек кода, чтобы получилось так:
// эта строчка уже есть $all = mso_get_ini_file( getinfo('templates_dir') . 'default/options.ini'); // дописываем if (file_exists(getinfo('template_dir') . 'options.ini')) { $all_add = mso_get_ini_file( getinfo('template_dir') . 'options.ini'); $all = array_merge($all, $all_add); }
То есть вначале мы получаем дефолтные опции, после этого проверяем, есть ли наши и, если есть, объединяем их.