Раньше я подключал к странице файлы классов посредством функций 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: