Update
Метод устарел. Рекомендуется использовать методы класса \Bitrix\Sale\Location\GroupTable.
Описание и параметры
int CSaleLocationGroup::Update( int ID, array arFields );
Метод обновляет параметры местоположения с кодом ID в соответствии с параметрами из массива arFields. Обновляются также страна и город этого местоположения. Нестатический метод.
Параметры вызова
| Параметр | Описание |
|---|---|
| ID | Код местоположения. |
| arFields | Ассоциативный массив параметров местоположения с ключами:
|
Возвращаемые значения
Возвращается код измененного местоположения или false у случае ошибки.
Примеры использования
<? $arFields = array( "SORT" => 100, "COUNTRY_ID" => 8, "WITHOUT_CITY" => "N" ); $arCity = array( "NAME" => "Kaliningrad", "SHORT_NAME" => "Kaliningrad", "ru" => array( "LID" => "ru", "NAME" => "Калининград", "SHORT_NAME" => "Калининград" ), "en" => array( "LID" => "en", "NAME" => "Kaliningrad", "SHORT_NAME" => "Kaliningrad" ) ); $arFields["CITY"] = $arCity; if (!CSaleLocation::Update(6, $arFields)) echo "Ошибка изменения местоположения"; ?>
function CreateCityRussia($arFields, $regionName, &$strError)
{
// Ищем группу местоположений, к которой необходимо привязать местоположение
$locGroupID = 0;
$resLocationGroup = CSaleLocationGroup::GetList(array("ID"=>"ASC"), array());
while($arLocationGroup = $resLocationGroup->Fetch())
{
if(mb_strtolower($arLocationGroup["NAME"], "Windows-1251") == mb_strtolower($regionName, "Windows-1251")) $locGroupID = $arLocationGroup["ID"];
}
// Если группа найдена, определяем список привязанных к ней местоположений и добавляем к списку новое
if($locGroupID)
{
// Создаем новый город в стране Россия и новое местоположение
$arCoutry = CSaleLocation::GetList(array(), array("LID" => LANGUAGE_ID, "CITY_NAME" => false, "COUNTRY_NAME" => "Россия"))->Fetch();
$cityId = CSaleLocation::AddCity($arFields);
$ID = CSaleLocation::AddLocation(array("COUNTRY_ID" => $arCoutry['COUNTRY_ID'], "CITY_ID" => $cityId));
// Формируем новый список местоположений группы
$resLocGroup = CSaleLocationGroup::GetLocationList(array("LOCATION_GROUP_ID" => $locGroupID));
$locList = array();
while($arLocGroup = $resLocGroup->Fetch())
{
$locList[] = $arLocGroup["LOCATION_ID"];
}
$locList[] = $ID;
// Записываем новый список местоположений группы
$arFields = CSaleLocationGroup::GetByID($locGroupID);
$arFields["LOCATION_ID"] = $locList;
if (!CSaleLocationGroup::Update($locGroupID, $arFields))
$strError = "Ошибка добавления местоположения к группе местоположений";
return $ID;
}
else
{
// В противном случае записываем сообщение об ошибке
$strError = "Ошибка создания местоположения: Не найдена группа местоположений $regionName";
return false;
}
}
© «Битрикс», 2001-2025, «1С-Битрикс», 2025