Module - uniqcle/Bitrix GitHub Wiki
https://github.com/uniqcle/Bitrix/wiki/installing-modules
local
- modules
- uniqcle.first //id модуля
- install
- components
- index.php
- version.php
- lib // все классы
- lang
- options.php // настройки модуля
- include.php
Sample
local/modules/uniqcle.first/install/index.php
use Bitrix\Main\Localization\Loc;
Loc::loadMessages(__FILE__);
Class uniqcle_first extends CModule
{
var $MODULE_ID = "uniqcle.first";
var $MODULE_VERSION;
var $MODULE_VERSION_DATE;
var $MODULE_NAME;
var $MODULE_DESCRIPTION;
var $MODULE_CSS;
var $MODULE_GROUP_RIGHTS = "Y";
function __construct()
{
$arModuleVersion = array();
include(__DIR__.'/version.php');
$this->MODULE_VERSION = $arModuleVersion["VERSION"];
$this->MODULE_VERSION_DATE = $arModuleVersion["VERSION_DATE"];
$this->MODULE_NAME = 'Модуль uniqcle.first';
$this->MODULE_DESCRIPTION = 'Описание модуля uniqcle.first';
}
function InstallDB($install_wizard = true)
{
RegisterModule("uniqcle.first");
return true;
}
function UnInstallDB($arParams = Array())
{
UnRegisterModule("uniqcle.first");
return true;
}
function InstallEvents()
{
return true;
}
function UnInstallEvents()
{
return true;
}
function InstallFiles()
{
return true;
}
function UnInstallFiles()
{
return true;
}
function DoInstall()
{
$this->InstallFiles();
$this->InstallDB(false);
}
function DoUninstall()
{
$this->UnInstallDB(false);
}
}
local/modules/uniqcle.first/install/version.php
$arModuleVersion = array(
"VERSION" => "0.0.1",
"VERSION_DATE" => "2020-10-27 11:03:00"
);
local/modules/uniqcle.first/lib/utils.php
namespace Uniqcle\First;
class Utils {
public $param;
public function doany(){
echo '12345';
}
}
in code
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
use Bitrix\Main\Loader;
use Uniqcle\First\Utils;
Loader::includeModule("uniqcle.first");
Utils::doany();
?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
lib/utils.php
namespace Uniqcle\Import;
class UtilsTest{
public $param;
public function test(){
echo '1235';
}
}
include.php
<?php
CModule::AddAutoloadClasses(
"uniqcle.import",
array(
"Uniqcle\\Import\\UtilsTest" => "lib/utils.php",
)
);
Вызов
// 1 вариант
if(CModule::IncludeModule("uniqcle.import")){
\Uniqcle\Import\UtilsTest::test();
}
//2 вариант
use \Bitrix\Main\Loader;
use \Uniqcle\Import\UtilsTest;
Loader::includeModule("uniqcle.import");
UtilsTest::test();