[Первый блок шапки]
options_type = %TEMPLATE%
options_key = header_component1
type = select
values = "<?= _default_components() ?>"
default = "<?= mso_get_val('default_header_component1', 'header1') ?>"
section = "Компоненты"
section_description = "Компоненты выводятся в «шапке» и «подвале» сайта"
[Второй блок шапки]
options_type = %TEMPLATE%
options_key = header_component2
type = select
values = "<?= _default_components() ?>"
default = "<?= mso_get_val('default_header_component2') ?>"
[Третий блок шапки]
options_type = %TEMPLATE%
options_key = header_component3
type = select
values = "<?= _default_components() ?>"
default = "<?= mso_get_val('default_header_component3') ?>"
[Четвёртый блок шапки]
options_type = %TEMPLATE%
options_key = header_component4
type = select
values = "<?= _default_components() ?>"
default = "<?= mso_get_val('default_header_component4') ?>"
[Пятый блок шапки]
options_type = %TEMPLATE%
options_key = header_component5
type = select
values = "<?= _default_components() ?>"
default = "<?= mso_get_val('default_header_component5') ?>"
[Первый блок подвала]
options_type = %TEMPLATE%
options_key = footer_component1
type = select
values = "<?= _default_components() ?>"
default = "<?= mso_get_val('default_footer_component1', 'footer-copy-stat') ?>"
[Второй блок подвала]
options_type = %TEMPLATE%
options_key = footer_component2
type = select
values = "<?= _default_components() ?>"
default = "<?= mso_get_val('default_footer_component2') ?>"
[Третий блок подвала]
options_type = %TEMPLATE%
options_key = footer_component3
type = select
values = "<?= _default_components() ?>"
default = "<?= mso_get_val('default_footer_component3') ?>"
[Четвёртый блок подвала]
options_type = %TEMPLATE%
options_key = footer_component4
type = select
values = "<?= _default_components() ?>"
default = "<?= mso_get_val('default_footer_component4') ?>"
[Пятый блок подвала]
options_type = %TEMPLATE%
options_key = footer_component5
type = select
values = "<?= _default_components() ?>"
default = "<?= mso_get_val('default_footer_component5') ?>"
[Компоненты шапки по адресам]
options_type = %TEMPLATE%
options_key = custom_header_components
type = textarea
values = ""
default = ""
description = "Адреса указываются относительно сайта по одному в каждой строке, например <code>page/about = header1</code>. Можно указывать несколько компонентов для одного адреса через запятую."
subsection = "Компоненты по адресам"
[Компоненты подвала по адресам]
options_type = %TEMPLATE%
options_key = custom_footer_components
type = textarea
values = ""
default = ""
description = ""
<?php
function _default_components()
{
static $all = false; // запоминаем результат
if ($all !== false) return $all;
$dirs = mso_get_dirs(getinfo('template_dir') . 'components/', [], false);
$out = [];
// проверим на наличие обязательного файла: DIR/DIR.php или DIR/index.php
foreach ($dirs as $dir) {
if (file_exists(getinfo('template_dir') . 'components/' . $dir . '/index.php')) {
$out[] = $dir;
continue;
}
if (file_exists(getinfo('template_dir') . 'components/' . $dir . '/' . $dir . '.php')) {
$out[] = $dir;
continue;
}
}
$all = '0||' . tf('Отсутствует') . '#' . implode('#', $out);
return $all;
}
?>