Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!
Для того, чтобы добавить пользовательские закладки и действия в форму редактирования заказа необходимо
1. Зарегистрировать обработчик события OnAdminSaleOrderEdit через AddEventHandler Например,
КодAddEventHandler("main", "OnAdminSaleOrderEdit", array("CMyCastomOrderEditTabs", "OnInit"), 100, $_SERVER["DOCUMENT_ROOT"]."/some_file.php");
2. Реализовать в файле $_SERVER["DOCUMENT_ROOT"]."/some_file.php" класс CMyCastomOrderEditTabs в виде
Код
<?
class CMyCastomOrderEditTabs
{
function OnInit()
{
return array(
"TABSET" => "MyCompanyOrderEditTabs",
"GetTabs" => array("CMyCastomOrderEditTabs", "GetTabs"),
"ShowTab" => array("CMyCastomOrderEditTabs", "ShowTab"),
"Action" => array("CMyCastomOrderEditTabs", "Action"),
"Check" => array("CMyCastomOrderEditTabs", "Check"),
);
}
function Action($arArgs)
{
// Основные данные сохранены. Делаем тут необходимые действия, сохраняем инфо из кастомных табов.
// Возвращаем True в случае успеха и False - в случае ошибки
// В случае ошибки делаем так же $GLOBALS["APPLICATION"]->ThrowException("Ошибка!!!", "ERROR");
}
function Check($arArgs)
{
// Основные данные еще не сохранялись. Делаем тут разные проверки.
// Возвращаем True, если можно все сохранять, иначе False
// В случае False делаем так же $GLOBALS["APPLICATION"]->ThrowException("Ошибка!!!", "ERROR");
}
function GetTabs($arArgs)
{
// SORT - после какого стандартного таба вставлять. Не установлено - после последнего
$arTabs = array(
array("DIV" => "edit1", "TAB" => "Кастом11", "ICON" => "sale", "TITLE" => "Кастомная закладка 11", "SORT" => 1),
);
return $arTabs;
}
function ShowTab($divName, $arArgs, $bVarsFromForm)
{
if ($divName == "edit1")
{
?>
<tr>
<td width="40%">Кастомное поле 11:</td>
<td width="60%"><input type="text" name="zzzzzzzzz"></td>
</tr>
<?
}
}
}
?>
Для того, чтобы добавить пользовательские закладки и действия в форму детальной информации о заказе необходимо
1. Зарегистрировать обработчик события OnAdminSaleOrderView через AddEventHandler Например,
КодAddEventHandler("main", "OnAdminSaleOrderView", array("CMyCastomOrderViewTabs", "OnInit"), 100, $_SERVER["DOCUMENT_ROOT"]."/some_file.php");
2. Реализовать в файле $_SERVER["DOCUMENT_ROOT"]."/some_file.php" класс CMyCastomOrderViewTabs в виде
Код
<?
class CMyCastomOrderViewTabs
{
function OnInit()
{
return array(
"TABSET" => "MyCompanyOrderViewTabs",
"GetTabs" => array("CMyCastomOrderViewTabs", "GetTabs"),
"ShowTab" => array("CMyCastomOrderViewTabs", "ShowTab"),
);
}
function GetTabs($arArgs)
{
// SORT - после какого стандартного таба вставлять. Не установлено - после последнего
$arTabs = array(
array("DIV" => "edit1", "TAB" => "Кастом11", "ICON" => "sale", "TITLE" => "Кастомная закладка 11", "SORT" => 1),
);
return $arTabs;
}
function ShowTab($divName, $arArgs, $bVarsFromForm)
{
if ($divName == "edit1")
{
?>
<tr>
<td width="40%">Кастомное поле 11:</td>
<td width="60%"><input type="text" name="zzzzzzzzz"></td>
</tr>
<?
}
}
}
?>
Пользовательские действия форма детальной информации о товаре не поддерживает. Соответственно их не нужно реализовывать.