Ищем и выводим все типы информационных блоков, в локализованных названиях которых (на русском или английском) содержится слово «новости» или «news».
| Код |
|---|
<?php
define('NO_KEEP_STATISTIC', true);
define('NOT_CHECK_PERMISSIONS', true);
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
if (!\Bitrix\Main\Loader::includeModule('iblock')) {
die('Модуль iblock не подключен');
}
// Выводит все типы ИБ, у которых хотя бы в одном языке (ru/en) в названии есть "новости" или "news"
$targetWords = ['новости', 'news'];
$found = false;
$rs = CIBlockType::GetList(['ID' => 'ASC'], []);
while ($type = $rs->Fetch()) {
foreach (['ru', 'en'] as $langId) {
$langData = CIBlockType::GetByIDLang($type['ID'], $langId, false);
if ($langData && $langData['NAME']) {
foreach ($targetWords as $word) {
if (stripos($langData['NAME'], $word) !== false) {
echo 'Тип: <strong>' . htmlspecialcharsbx($type['ID']) . '</strong> — ' .
htmlspecialcharsbx($langData['NAME']) . ' (' . $langId . ')<br>';
$found = true;
break 2; // выходим из обоих циклов, чтобы не дублировать вывод
}
}
}
}
}
if (!$found) {
echo 'Ни один тип ИБ с таким названием не найден.';
} |