Современная, быстрая и удобная система управления сайтом

Объединение своих опций шаблона с default

Центр помощиКомментарии: 0Просмотров: 10390

Иногда стоит задача добавить свои опции в шаблон, но при этом оставить дефолтные. Действительно, разработчик шаблона может предусмотреть какие-то свои опции, и обычно это заключается в копировании дефолтного 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);
}

То есть вначале мы получаем дефолтные опции, после этого проверяем, есть ли наши и, если есть, объединяем их.