Просмотров: 24763
Дата последнего изменения: 23.09.2021
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
4
5
Иконку мастера настройки сайта лучше всего добавлять в файле модуля include.php. Для этого в класс нужно добавить функцию (пример из модуля bitrix.sitepersonal):
function ShowPanel()
{
if ($GLOBALS["USER"]->IsAdmin() && COption::GetOptionString("main", "wizard_solution", "", SITE_ID) == "personal")
{
$GLOBALS["APPLICATION"]->AddPanelButton(array(
"HREF" => "/bitrix/admin/wizard_install.php?lang=".LANGUAGE_ID."&wizardName=bitrix:demo_personal&wizardSiteID=".SITE_ID."
&".bitrix_sessid_get(),
"ID" => "demo_personal_wizard",
"ICON" => "bx-panel-site-wizard-icon",
"MAIN_SORT" => 2500,
"TYPE" => "BIG",
"SORT" => 10,
"ALT" => GetMessage("SPER_BUTTON_DESCRIPTION"),
"TEXT" => GetMessage("SPER_BUTTON_NAME"),
"MENU" => array(),
));
}
}
Как видно из кода, сначала проверяется наличие администраторских прав и параметр wizard_solution из модуля main для конкретного сайта (должен устанавливаться в мастере создания сайта). Если условие проходит, то вызывается стандартный метод AddPanelButton. Ссылка в параметре HREF содержит пространство имен и название мастера, который нужно запустить для текущего сайта (параметр wizardName=bitrix:demo_personal
). Из параметров можно отметить:
"TYPE" => "BIG"
– иконка большая, занимающая всю высоту панели управления. Если не установлен, то иконка занимает лишь одну из трех строк.
"ICON" => "bx-panel-site-wizard-icon"
– подставляет стандартную картинку, в данном случае для большой иконки мастера. Альтернатива параметру SRC. Для маленькой иконки можно использовать значение "icon-wizard".
"TEXT" => GetMessage("SPER_BUTTON_NAME")
– подпись рядом либо под иконкой (зависит от ее типа).