本文整理汇总了PHP中CSaleLocation::CountryCheckFields方法的典型用法代码示例。如果您正苦于以下问题:PHP CSaleLocation::CountryCheckFields方法的具体用法?PHP CSaleLocation::CountryCheckFields怎么用?PHP CSaleLocation::CountryCheckFields使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSaleLocation
的用法示例。
在下文中一共展示了CSaleLocation::CountryCheckFields方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: UpdateCountry
/**
* <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__updatecountry.d8fa5b90.php
* @author Bitrix
*/
public static function UpdateCountry($ID, $arFields)
{
global $DB;
$ID = intval($ID);
if ($ID <= 0 || !CSaleLocation::CountryCheckFields("UPDATE", $arFields)) {
return false;
}
foreach (GetModuleEvents("sale", "OnBeforeCountryUpdate", true) as $arEvent) {
if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
return false;
}
}
$strUpdate = $DB->PrepareUpdate("b_sale_location_country", $arFields);
$strSql = "UPDATE b_sale_location_country 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::GetCountryLangByID($ID, $arLang["LID"])) {
$strUpdate = $DB->PrepareUpdate("b_sale_location_country_lang", $arFields[$arLang["LID"]]);
$strSql = "UPDATE b_sale_location_country_lang SET " . $strUpdate . " WHERE ID = " . $arCntLang["ID"] . "";
} else {
$arInsert = $DB->PrepareInsert("b_sale_location_country_lang", $arFields[$arLang["LID"]]);
$strSql = "INSERT INTO b_sale_location_country_lang(COUNTRY_ID, " . $arInsert[0] . ") " . "VALUES(" . $ID . ", " . $arInsert[1] . ")";
}
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
}
foreach (GetModuleEvents("sale", "OnCountryUpdate", true) as $arEvent) {
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
}
return $ID;
}
示例2: AddCountry
/**
* <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>
*
*
*
* <?
* $arCountry = array(
* "NAME" => "Russian Federation",
* "SHORT_NAME" => "Russia",
* "ru" => array(
* "LID" => "ru",
* "NAME" => "Российская федерация",
* "SHORT_NAME" => "Россия"
* ),
* "en" => array(
* "LID" => "en",
* "NAME" => "Russian Federation",
* "SHORT_NAME" => "Russia"
* )
* );
*
* $ID = CSaleLocation::AddCountry($arCountry);
* if (IntVal($ID)<=0)
* echo "Ошибка добавления страны";
* ?>
* </pre>
*
*
* @static
* @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalelocation/csalelocation__addcountry.cbe82f7a.php
* @author Bitrix
*/
public static function AddCountry($arFields)
{
global $DB;
if (!CSaleLocation::CountryCheckFields("ADD", $arFields)) {
return false;
}
if (self::isLocationProMigrated()) {
return self::AddLocationUnattached('COUNTRY', $arFields);
}
foreach (GetModuleEvents('sale', 'OnBeforeCountryAdd', true) as $arEvent) {
if (ExecuteModuleEventEx($arEvent, array($arFields)) === false) {
return false;
}
}
$arInsert = $DB->PrepareInsert("b_sale_location_country", $arFields);
$strSql = "INSERT INTO b_sale_location_country(" . $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_country_lang", $arFields[$arLang["LID"]]);
$strSql = "INSERT INTO b_sale_location_country_lang(COUNTRY_ID, " . $arInsert[0] . ") " . "VALUES(" . $ID . ", " . $arInsert[1] . ")";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
//.........这里部分代码省略.........
示例3: UpdateCountry
/**
* <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__updatecountry.d8fa5b90.php
* @author Bitrix
*/
public static function UpdateCountry($ID, $arFields)
{
global $DB;
$ID = intval($ID);
if ($ID <= 0 || !CSaleLocation::CountryCheckFields("UPDATE", $arFields)) {
return false;
}
foreach (GetModuleEvents("sale", "OnBeforeCountryUpdate", true) as $arEvent) {
if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
return false;
}
}
//////////////////////////////////////
if (self::isLocationProMigrated()) {
try {
// get location id by country id
$locId = self::getLocationIdByCountryId($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_country", $arFields);
$strSql = "UPDATE b_sale_location_country 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::GetCountryLangByID($ID, $arLang["LID"])) {
$strUpdate = $DB->PrepareUpdate("b_sale_location_country_lang", $arFields[$arLang["LID"]]);
$strSql = "UPDATE b_sale_location_country_lang SET " . $strUpdate . " WHERE ID = " . $arCntLang["ID"] . "";
} else {
$arInsert = $DB->PrepareInsert("b_sale_location_country_lang", $arFields[$arLang["LID"]]);
$strSql = "INSERT INTO b_sale_location_country_lang(COUNTRY_ID, " . $arInsert[0] . ") " . "VALUES(" . $ID . ", " . $arInsert[1] . ")";
}
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
}
}
//////////////////////////////////////
foreach (GetModuleEvents("sale", "OnCountryUpdate", true) as $arEvent) {
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
}
return $ID;
}
示例4: AddCountry
function AddCountry($arFields)
{
global $DB;
if (!CSaleLocation::CountryCheckFields("ADD", $arFields))
return false;
$db_events = GetModuleEvents("sale", "OnBeforeCountryAdd");
while ($arEvent = $db_events->Fetch())
if (ExecuteModuleEventEx($arEvent, array($arFields))===false)
return false;
$arInsert = $DB->PrepareInsert("b_sale_location_country", $arFields);
$strSql =
"INSERT INTO b_sale_location_country(".$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_country_lang", $arFields[$arLang["LID"]]);
$strSql =
"INSERT INTO b_sale_location_country_lang(COUNTRY_ID, ".$arInsert[0].") ".
"VALUES(".$ID.", ".$arInsert[1].")";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
}
}
$events = GetModuleEvents("sale", "OnCountryAdd");
while ($arEvent = $events->Fetch())
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
return $ID;
}