本文整理汇总了PHP中CSaleLocation::CityCheckFields方法的典型用法代码示例。如果您正苦于以下问题:PHP CSaleLocation::CityCheckFields方法的具体用法?PHP CSaleLocation::CityCheckFields怎么用?PHP CSaleLocation::CityCheckFields使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSaleLocation
的用法示例。
在下文中一共展示了CSaleLocation::CityCheckFields方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: UpdateCity
/**
* <p>Функция изменяет параметры города с кодом ID на значения из массива arFields </p>
*
*
*
*
* @param int $ID Код города.
*
*
*
* @param array $arFields Массив с параметрами города должен содержать ключи: <ul> <li> <b>NAME</b> -
* название города (не зависящее от языка);</li> <li> <b>SHORT_NAME</b> -
* сокращенное название города - абревиатура (не зависящее от
* языка);</li> <li> <b><код языка></b> - ключем является код языка, а
* значением ассоциативный массив вида <pre class="syntax"> array("LID" => "код
* языка", "NAME" => "название города на этом языке", "SHORT_NAME" =>
* "сокращенное название города (аббревиатура) на этом языке")</pre> Эта
* пара ключ-значение должна присутствовать для каждого языка
* системы.</li> </ul>
*
*
*
* @return int <p>Возвращается код измененного города или <i>false</i> у случае
* ошибки.</p> <br><br>
*
* @static
* @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalelocation/csalelocation__updatecity.3fe4165d.php
* @author Bitrix
*/
public static function UpdateCity($ID, $arFields)
{
global $DB;
$ID = intval($ID);
if ($ID <= 0 || !CSaleLocation::CityCheckFields("UPDATE", $arFields)) {
return false;
}
foreach (GetModuleEvents("sale", "OnBeforeCityUpdate", true) as $arEvent) {
if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
return false;
}
}
$strUpdate = $DB->PrepareUpdate("b_sale_location_city", $arFields);
$strSql = "UPDATE b_sale_location_city SET " . $strUpdate . " WHERE ID = " . $ID . "";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
$db_lang = CLangAdmin::GetList($b = "sort", $o = "asc", array("ACTIVE" => "Y"));
while ($arLang = $db_lang->Fetch()) {
if ($arCntLang = CSaleLocation::GetCityLangByID($ID, $arLang["LID"])) {
$strUpdate = $DB->PrepareUpdate("b_sale_location_city_lang", $arFields[$arLang["LID"]]);
$strSql = "UPDATE b_sale_location_city_lang SET " . $strUpdate . " WHERE ID = " . $arCntLang["ID"] . "";
} else {
$arInsert = $DB->PrepareInsert("b_sale_location_city_lang", $arFields[$arLang["LID"]]);
$strSql = "INSERT INTO b_sale_location_city_lang(CITY_ID, " . $arInsert[0] . ") " . "VALUES(" . $ID . ", " . $arInsert[1] . ")";
}
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
}
foreach (GetModuleEvents("sale", "OnCityUpdate", true) as $arEvent) {
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
}
return $ID;
}
示例2: AddCity
/**
* <p>Метод добавляет новый город с параметрами из массива <i> arFields</i>. Метод динамичный.</p> <p class="note"><b>Внимание!</b> Начиная с версии 14.10.0 метод не обновляется и обратная совместимость не поддерживается. Рекомендуется использовать методы нового ядра D7. Примеры работы с новым ядром можно увидеть <a href="https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=3570" >здесь</a>.</p>
*
*
* @param array $arFields Ассоциативный массив с параметрами города должен содержать
* ключи: <ul> <li> <b>NAME</b> - название города (не зависящее от языка);</li> <li>
* <b>SHORT_NAME</b> - сокращенное название города - аббревиатура (не
* зависящее от языка);</li> <li> <b><код языка></b> - ключем является код
* языка, а значением ассоциативный массив вида <pre class="syntax"> array("LID"
* => "код языка", "NAME" => "название города на этом языке", "SHORT_NAME" =>
* "сокращенное название города (аббревиатура) на этом языке")</pre> Эта
* пара ключ-значение должна присутствовать для каждого языка
* системы.</li> </ul>
*
* @return int <p>Возвращается код добавленного города или <i>false</i> в случае
* ошибки.</p> <a name="examples"></a>
*
* <h4>Example</h4>
* <pre>
* Параметры вызова
* </h
* <tr>
* <th width="15%">Параметр</th>
* <th>Описание</th>
* </tr>
* <tr>
* <td>arFields</td>
* <td>Ассоциативный массив с параметрами города должен содержать ключи:
* <ul>
* <li>
* <b>NAME</b> - название города (не зависящее от языка);</li>
* <li>
* <b>SHORT_NAME</b> - сокращенное название города - аббревиатура (не зависящее от языка);</li>
* <li>
* <b><код языка></b> - ключем является код языка, а значением ассоциативный массив вида
* <pre class="syntax">
* array("LID" => "код языка",
* "NAME" => "название города на этом языке",
* "SHORT_NAME" => "сокращенное название города
* (аббревиатура) на этом языке")</pre>
* Эта пара ключ-значение должна присутствовать для каждого языка системы.</li>
* </ul>
* </td>
* </tr>
*
*
*
* <?
* $arCity = array(
* "NAME" => "Kaliningrad",
* "SHORT_NAME" => "Kaliningrad",
* "ru" => array(
* "LID" => "ru",
* "NAME" => "Калининград",
* "SHORT_NAME" => "Калининград"
* ),
* "en" => array(
* "LID" => "en",
* "NAME" => "Kaliningrad",
* "SHORT_NAME" => "Kaliningrad"
* )
* );
*
* $ID = CSaleLocation::AddCity($arCity);
* if (IntVal($ID)<=0)
* echo "Ошибка добавления города";
* ?>
* </pre>
*
*
* @static
* @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalelocation/csalelocation__addcity.d2d048d2.php
* @author Bitrix
*/
public static function AddCity($arFields)
{
global $DB;
if (!CSaleLocation::CityCheckFields("ADD", $arFields)) {
return false;
}
if (self::isLocationProMigrated()) {
return self::AddLocationUnattached('CITY', $arFields);
}
foreach (GetModuleEvents('sale', 'OnBeforeCityAdd', true) as $arEvent) {
if (ExecuteModuleEventEx($arEvent, array($arFields)) === false) {
return false;
}
}
$arInsert = $DB->PrepareInsert("b_sale_location_city", $arFields);
$strSql = "INSERT INTO b_sale_location_city(" . $arInsert[0] . ") " . "VALUES(" . $arInsert[1] . ")";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
$ID = IntVal($DB->LastID());
$b = "sort";
$o = "asc";
$db_lang = CLangAdmin::GetList($b, $o, array("ACTIVE" => "Y"));
while ($arLang = $db_lang->Fetch()) {
if ($arFields[$arLang["LID"]]) {
$arInsert = $DB->PrepareInsert("b_sale_location_city_lang", $arFields[$arLang["LID"]]);
$strSql = "INSERT INTO b_sale_location_city_lang(CITY_ID, " . $arInsert[0] . ") " . "VALUES(" . $ID . ", " . $arInsert[1] . ")";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
//.........这里部分代码省略.........
示例3: UpdateCity
/**
* <p>Метод изменяет параметры города с кодом ID на значения из массива arFields. Метод динамичный.</p>
*
*
* @param int $ID Код города.
*
* @param array $arFields Массив с параметрами города должен содержать ключи: <ul> <li> <b>NAME</b> -
* название города (не зависящее от языка);</li> <li> <b>SHORT_NAME</b> -
* сокращенное название города - абревиатура (не зависящее от
* языка);</li> <li> <b><код языка></b> - ключем является код языка, а
* значением ассоциативный массив вида <pre class="syntax"> array("LID" => "код
* языка", "NAME" => "название города на этом языке", "SHORT_NAME" =>
* "сокращенное название города (аббревиатура) на этом языке")</pre> Эта
* пара ключ-значение должна присутствовать для каждого языка
* системы.</li> </ul>
*
* @return int <p>Возвращается код измененного города или <i>false</i> у случае
* ошибки.</p> <br><br>
*
* @static
* @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalelocation/csalelocation__updatecity.3fe4165d.php
* @author Bitrix
*/
public static function UpdateCity($ID, $arFields)
{
global $DB;
$ID = intval($ID);
if ($ID <= 0 || !CSaleLocation::CityCheckFields("UPDATE", $arFields)) {
return false;
}
foreach (GetModuleEvents("sale", "OnBeforeCityUpdate", true) as $arEvent) {
if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
return false;
}
}
if (self::isLocationProMigrated()) {
try {
$locId = self::getLocationIdByCityId($ID);
if (!$locId) {
return false;
}
$res = Location\LocationTable::update($locId, self::refineFieldsForSaveCRC($item['ID'], $arFields), array('REBALANCE' => false));
if ($res->isSuccess()) {
return $ID;
}
return false;
} catch (Exception $e) {
return false;
}
} else {
$strUpdate = $DB->PrepareUpdate("b_sale_location_city", $arFields);
$strSql = "UPDATE b_sale_location_city SET " . $strUpdate . " WHERE ID = " . $ID . "";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
$db_lang = CLangAdmin::GetList($b = "sort", $o = "asc", array("ACTIVE" => "Y"));
while ($arLang = $db_lang->Fetch()) {
if ($arCntLang = CSaleLocation::GetCityLangByID($ID, $arLang["LID"])) {
$strUpdate = $DB->PrepareUpdate("b_sale_location_city_lang", $arFields[$arLang["LID"]]);
$strSql = "UPDATE b_sale_location_city_lang SET " . $strUpdate . " WHERE ID = " . $arCntLang["ID"] . "";
} else {
$arInsert = $DB->PrepareInsert("b_sale_location_city_lang", $arFields[$arLang["LID"]]);
$strSql = "INSERT INTO b_sale_location_city_lang(CITY_ID, " . $arInsert[0] . ") " . "VALUES(" . $ID . ", " . $arInsert[1] . ")";
}
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
}
}
foreach (GetModuleEvents("sale", "OnCityUpdate", true) as $arEvent) {
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
}
return $ID;
}
示例4: AddCity
function AddCity($arFields)
{
global $DB;
if (!CSaleLocation::CityCheckFields("ADD", $arFields))
return false;
$db_events = GetModuleEvents("sale", "OnBeforeCityAdd");
while ($arEvent = $db_events->Fetch())
if (ExecuteModuleEventEx($arEvent, array($arFields))===false)
return false;
$arInsert = $DB->PrepareInsert("b_sale_location_city", $arFields);
$strSql =
"INSERT INTO b_sale_location_city(".$arInsert[0].") ".
"VALUES(".$arInsert[1].")";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
$ID = IntVal($DB->LastID());
$db_lang = CLangAdmin::GetList(($b="sort"), ($o="asc"), array("ACTIVE" => "Y"));
while ($arLang = $db_lang->Fetch())
{
if ($arFields[$arLang["LID"]])
{
$arInsert = $DB->PrepareInsert("b_sale_location_city_lang", $arFields[$arLang["LID"]]);
$strSql =
"INSERT INTO b_sale_location_city_lang(CITY_ID, ".$arInsert[0].") ".
"VALUES(".$ID.", ".$arInsert[1].")";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
}
}
$events = GetModuleEvents("sale", "OnCityAdd");
while ($arEvent = $events->Fetch())
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
return $ID;
}