Иногда бывает нужно добавить станцию метро как свойство некоторого инфоблока. Это может пригодится, если, например, в инфоблоке хранится информация о точках продаж или любых других географических объектов.
Самый простой способ: добавить в инфоблок свойство типа «Привязка к элементам» и создать новый инфоблок, элементами которого и будут станции метро.
Следующий код считывает построчно файл со станциями метро и создает элементы инфоблока:
<?
CModule::IncludeModule('iblock');
$IBLOCK_ID = 1;
$metro_stations = file('metro_ru.txt');
$i = 0;
foreach($metro_stations as $station)
{
$i = $i + 10;
$el = new CIBlockElement;
$arLoadProductArray = array(
"MODIFIED_BY" => $USER->GetID(),
"IBLOCK_SECTION_ID" => false,
"IBLOCK_ID" => $IBLOCK_ID,
"SORT" => $i,
"NAME" => trim($station),
"ACTIVE" => "Y"
);
if($ID = $el->Add($arLoadProductArray)) echo 'Станция «'.$station.'» добавлена<br>';
}
?>
Если сайт двухязычный, то могут понадобится названия станций на английском языке (вернее, просто транслитом).
Базы станций московского метро
- metro_ru.txt (4.10 кб) – названия станций на русском языке
- metro_en.txt (2.42 кб) – названия станций в транслите
- metro_en_ru.txt (6.69 кб) – названия станций на русском и в транслите (через слэш)
Все файлы с базами станций метро в кодировке UTF-8. Если ваш сайт работает в кириллице, то просто измените кодировку нужного файла на кириллическую.



Комментарии (1)
Например: метро Беговая -> САО -> Хорошевский район