Шпаргалка по семантическим тегам HTML

Семантические теги помогают браузеру и поисковым системам понять структуру и смысл вашего контента. Они делают код более понятным, улучшают SEO и доступность для экранных читалок.

[P]

Календарь ивентов Steam на 2026 год: фестивали и распродажи

Valve продолжает радовать  игроков регулярными тематическими фестивалями и грандиозными сезонными  распродажами. Мы собрали для вас полный хронологический список всех  анонсированных ивентов на 2026 год. Отмечайте даты в календаре, чтобы не  пропустить возможность найти новые любимые игры или выгодно пополнить  свою коллекцию.

Битрикс выгрузить все элементы вместе со свойствами в файл

Этот скрипт выгружает все элементы инфоблока в файл csv
<?php
use Bitrix\Main\Loader;

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

if (!Loader::includeModule("iblock")) {
    die("Модуль Инфоблоки не подключен");
}

$IBLOCK_ID = 55;
$FILE_PATH = $_SERVER["DOCUMENT_ROOT"] . "/upload/export_iblock_{$IBLOCK_ID}.csv";

// Получаем список всех свойств инфоблока
$arProps = [];
$rsProps = CIBlockProperty::GetList(
    ["SORT"=>"ASC"],
    ["IBLOCK_ID"=>$IBLOCK_ID, "ACTIVE"=>"Y"]
);
while ($arProp = $rsProps->Fetch()) {
    $arProps[$arProp["CODE"]] = $arProp;
}

// Заголовки для CSV: ID, NAME + все свойства
$headers = ["ID", "NAME"];
foreach ($arProps as $code => $prop) {
    $headers[] = $prop["CODE"];
}

$fp = fopen($FILE_PATH, "w");
fputcsv($fp, $headers, ";");

// Выбираем элементы инфоблока
$arSelect = ["ID", "IBLOCK_ID", "NAME"];
$arFilter = ["IBLOCK_ID" => $IBLOCK_ID, "ACTIVE" => "Y"];
$res = CIBlockElement::GetList(["ID"=>"ASC"], $arFilter, false, false, $arSelect);

while ($arItem = $res->GetNextElement()) {
    $fields = $arItem->GetFields();
    $props  = $arItem->GetProperties();

    $row = [$fields["ID"], $fields["NAME"]];

    foreach ($arProps as $code => $propInfo) {
        $value = $props[$code]["VALUE"];

        if (empty($value)) {
            $row[] = "";
            continue;
        }

        // Если свойство — файл (в том числе множественное)
        if ($propInfo["PROPERTY_TYPE"] === "F") {
            if (is_array($value)) {
                $filePaths = [];
                foreach ($value as $fileId) {
                    $filePath = CFile::GetPath($fileId);
                    if ($filePath) {
                        $filePaths[] = $filePath;
                    }
                }
                $row[] = implode(",", $filePaths);
            } else {
                $row[] = CFile::GetPath($value);
            }
        }
        // Если множественное свойство (строки, числа, списки и пр.)
        elseif ($propInfo["MULTIPLE"] === "Y" && is_array($value)) {
            $row[] = implode(",", $value);
        }
        // Обычное свойство
        else {
            $row[] = $value;
        }
    }

    fputcsv($fp, $row, ";");
}

fclose($fp);

echo "Экспорт завершен. Файл: ".$FILE_PATH;

Битрикс получаем все свойства элемента

Для получения всех свойств элементов битрикс можно воспользоваться скриптом, в этом скрипте я еще записал свойства в csv файл:
<?php

use Bitrix\Main\Loader;

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

if (!Loader::includeModule("iblock")) {
    die("Модуль iblock не подключен");
}

$IBLOCK_ID = 55;
$filePath = $_SERVER["DOCUMENT_ROOT"]."/upload/iblock_{$IBLOCK_ID}_fields.csv";

// Открываем файл для записи
$fp = fopen($filePath, "w");

// Заголовки CSV
fputcsv($fp, ["Название", "Код", "Обязательное", "Множественное", "Тип поля"], ";");

// Функция для преобразования типа
function getPropertyTypeName($prop) {
    $types = [
        "S" => "Строка",
        "N" => "Число",
        "L" => "Список",
        "F" => "Файл",
        "E" => "Привязка к элементу",
        "G" => "Привязка к разделу"
    ];

    $baseType = $types[$prop["PROPERTY_TYPE"]] ?? $prop["PROPERTY_TYPE"];

    // Если пользовательский тип указан — уточняем
    if (!empty($prop["USER_TYPE"])) {
        $baseType .= " ({$prop["USER_TYPE"]})";
    }

    return $baseType;
}

// Получаем список свойств инфоблока
$properties = CIBlockProperty::GetList(
    ["SORT" => "ASC"],
    ["IBLOCK_ID" => $IBLOCK_ID]
);

while ($prop = $properties->Fetch()) {
    $row = [
        $prop["NAME"],
        $prop["CODE"],
        ($prop["IS_REQUIRED"] === "Y" ? "да" : "нет"),
        ($prop["MULTIPLE"] === "Y" ? "да" : "нет"),
        getPropertyTypeName($prop)
    ];

    fputcsv($fp, $row, ";");
}

fclose($fp);

echo "Файл успешно создан: ".$filePath;

Битрикс. Ошибка! innodb_strict_mode=ON, требуется OFF

В файле:
/bitrix/php_interface/after_connect_d7.php

добавляем строку:
$this->queryExecute("SET innodb_strict_mode=0");
📈 Telegram про сайты, которые продают
Показываю реальные сайты, которые приносят заявки, и делюсь идеями как увеличить продажи через сайт.
Перейти на канал