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-2024, «1С-Битрикс», 2024