CBitrixComponent::includeComponentClass('custom:crm.quote.pdf.generate');
// Если компонент подключен успешно вернет строку с названием класса этого компонента Пример: string(19) "CrmQuotePdfGenerate"
// Дальше можно работать с классом компонента
CrmQuotePdfGenerate::someMethod();
Варианты использования:
- Компонент может принимать ajax запросы и чтобы вся логика работы компонента находилась в одном месте описываем её в классе компоненте, а в ajax скрипте просто вызываем нужные методы
- В одном компоненте может потребоваться вызвать метод из другого компонента. Например метод по выборке каких-то данных или метод расчета каких-либо значений
Пример ajax скрипта
<?php
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
\CBitrixComponent::includeComponentClass('custom:order.generate.pdf');
$result = CustomOrderGeneratePdf::generate($_REQUEST["id"]);
echo json_encode(array(
"result" => $result,
"msg" => ($result) ? GetMessage("GENERATE_SUCCESS") : GetMessage("GENERATE_FAIL")
));
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_after.php');
die();
В этом скрипте подключается класс компонента 'custom:order.generate.pdf'
- CustomOrderGeneratePdf
и вызываем его статический метод generate()
.