Skip to content
Vital-jan edited this page Jan 21, 2021 · 5 revisions

Установка backup сайта на localhost:

  1. Создать backup в папке сайта с дефолтными параметрами (папка /bitrix/backup на сервере закрыта для внешнего доступа!)

  2. Скачать backup через ftp на localhost в корневую папку сайта

  3. Сохранить в папке сайта файлы restore.php и bitrix_server_test.php

  4. Выполнить bitrix_server_test.php

  5. Настроить php.ini согласно требованиям bitrix_server_test.php:

должны быть подключены модули mysqli и mbstring (sudo apt-get install php-mbstring - если не установлен)

extension=mysqli //(default is commented)
extension=mbstring //(default is commented)
short_open_tag=On
display_errors = On

дополнительно:

mbstring.internal_encoding=UTF-8
mbstring.func_overload = 2

6.Создать в ОС пользователя bitrix (lowercase!) и группу bitrix

7.Дать права записи пользователю и группе bitrix на папку сайта и все файлы внутри папки

sudo chown -R {user}:{group} {path}
sudo chmod -R 775 {path}

8.В базе mysql создать пользователя bitrix@localhost с паролем:

alter user 'bitrix'@'localhost' identified by '{password}';

9.Перезагрузить mysql: sudo service mysql restart

10.Выполнить restore.php для распаковки архива

11.Следовать указаниям в ходе выполнения

12.Указать пользователя и пароль БД, назначенные в п.8, назначить имя БД

13.Сайт готов. Назначить права записи папкам и файлам сайта, которые должны быть доступны для изменения

Компонент:

$arResult[] - содержит данные инфоблока
$arResult["FIELDS"]
$arResult["PROPERTIES"]

$cmain→GetCurPage() - текущий путь

На AJAX страницах не подключать визуальные части header и footer. Вместо require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

пропишите require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

Таким образом Вы подключите служебную часть пролога, то есть все функции битрикс, но не будет выводиться header. Следовательно не придется применять

$GLOBALS['APPLICATION']->RestartBuffer();

Вместо

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");

пропишите require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");

Подключение CSS:

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Title");
$cmain = new CMain;
$cmain->SetAdditionalCSS($cmain->GetCurPage().'styles.css');
ORM
Module::IncludeModule("iblock"); - подключение модуля iblock

CIBlockSection::GetCount(["IBLOCK_ID"=>$blockID, "DEPTH_LEVEL"=>1]); - к-во разделов в корне инфоблока $blockID

вывод списка разделов корня инфоблока $blockID:

$list = CIBlockSection::GetList([], ["IBLOCK_ID"=>$blockID, "DEPTH_LEVEL" => "1"], false);
while($el = $list->GetNext())
{
	print_r($el);
}

Проверка наличия раздела $id в инфоблоке $iblock

echo CIBlockSection::GetCount(["BLOCK_ID"=>$iblock, "ID"=>$id]);

Добавление раздела в корень инфоблока $blockID:

$bs = new CIBlockSection;
$arFields = Array(
 "IBLOCK_ID" => 21,
 "IBLOCK_SECTION_ID"=>NULL, // NULL - add to root
 "NAME" => "The new section",
 "CODE"=>"tns" // required field
);

$ID = $bs->Add($arFields);

echo "New ID: ".$ID;

Clone this wiki locally