Раньше я подключал к странице файлы классов посредством функций require и require_once. И так в каждом новом шаблоне. Сейчас в Битриксе есть замечательная возможность все классы подключить в одном месте. И работать на любой странице сайта, так будто эти файлы к ней подключены.
Нижеследующий код добавляется в файл /bitrix/php_interface/init.php
Если этого файла нет, создайте его.
<?php
CModule::AddAutoloadClasses(
'', // не указываем имя модуля
array(
// ключ - имя класса, значение - путь относительно корня сайта к файлу
'AddIBlockElement' => '/include/class.AddIBlockElement.php',
'DateConvert' => '/include/class.DateConvert.php',
'Content' => '/include/class.Content.php',
'Image' => '/include/class.Image.php',
'RandomContent' => '/include/class.RandomContent.php'
)
);
?>
На самой странице достаточно подключить пролог и сразу работать с любым классом.
<?php //подключим пролог require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); //И работаем с нашим классом $Heroes = new Heroes(); $arHeroesList = $Heroes->GetHeroesList(); ?>
Николай
02.08.2019Забавно, но метод CModule::AddAutoloadClasses без указания модуля делает примерно тоже самое что и require_once только с массивом.
То есть:
foreach( $requiredFiles as $requiredFile ) require_once $requiredFile;
Хотя, может что то путаю. Все же, Спасибо.
Николай
02.08.2019Анн..нет, ошибся в тестировании функции :thumbs_up: