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
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.