本文整理汇总了PHP中CCatalogProductSet::getSetByID方法的典型用法代码示例。如果您正苦于以下问题:PHP CCatalogProductSet::getSetByID方法的具体用法?PHP CCatalogProductSet::getSetByID怎么用?PHP CCatalogProductSet::getSetByID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCatalogProductSet
的用法示例。
在下文中一共展示了CCatalogProductSet::getSetByID方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: checkFieldsToUpdate
protected function checkFieldsToUpdate($intID, &$arFields)
{
global $DB;
global $USER;
$intCurrentUser = 0;
if (CCatalog::IsUserExists()) {
$intCurrentUser = (int) $USER->GetID();
}
if ($intCurrentUser <= 0) {
$intCurrentUser = false;
}
$strTimeFunc = $DB->GetNowFunction();
$arDefItem = self::getEmptyItemFields();
$arProductInSet = array();
$dblDiscountPercent = 0;
$boolItems = false;
$intID = (int) $intID;
if ($intID <= 0) {
self::$arErrors[] = array('id' => 'ID', 'text' => GetMessage('BT_CAT_SET_ERR_ID_IS_BAD'));
}
if (empty(self::$arErrors)) {
$arCurrent = CCatalogProductSet::getSetByID($intID);
if (empty($arCurrent)) {
self::$arErrors[] = array('id' => 'ID', 'text' => GetMessage('BT_CAT_SET_ERR_ID_IS_BAD'));
}
}
if (empty(self::$arErrors)) {
self::clearFieldsForUpdate($arFields, $arCurrent['TYPE']);
if (array_key_exists('ACTIVE', $arFields)) {
$arFields['ACTIVE'] = 'N' != $arFields['ACTIVE'] ? 'Y' : 'N';
}
if (array_key_exists('SORT', $arFields)) {
$arFields['SORT'] = (int) $arFields['SORT'];
if ($arFields['SORT'] <= 0) {
$arFields['SORT'] = 100;
}
}
$arFields['MODIFIED_BY'] = !array_key_exists('MODIFIED_BY', $arFields) ? 0 : (int) $arFields['MODIFIED_BY'];
if ($arFields['MODIFIED_BY'] <= 0) {
$arFields['MODIFIED_BY'] = $intCurrentUser;
}
$arFields['~TIMESTAMP_X'] = $strTimeFunc;
}
if (empty(self::$arErrors)) {
$arProductInSet[$arCurrent['ITEM_ID']] = true;
if (array_key_exists('ITEMS', $arFields)) {
if (empty($arFields['ITEMS']) || !is_array($arFields['ITEMS'])) {
self::$arErrors[] = array('id' => 'ITEMS', 'text' => GetMessage('BT_CAT_SET_ERR_ITEMS_IS_ABSENT'));
} else {
$arValidItems = array();
foreach ($arFields['ITEMS'] as &$arOneItem) {
if (empty($arOneItem) || !is_array($arOneItem)) {
continue;
}
if (array_key_exists('ID', $arOneItem)) {
unset($arOneItem['ID']);
}
if (!array_key_exists('ITEM_ID', $arOneItem)) {
continue;
}
$arOneItem['ITEM_ID'] = (int) $arOneItem['ITEM_ID'];
if ($arOneItem['ITEM_ID'] <= 0) {
continue;
}
if (isset($arProductInSet[$arOneItem['ITEM_ID']])) {
self::$arErrors[] = array('id' => 'ITEM_ID', 'text' => GetMessage('BT_CAT_PRODUCT_SET_ERR_ITEM_ID_DUBLICATE'));
continue;
}
$arProductInSet[$arOneItem['ITEM_ID']] = true;
$intRowID = self::searchItem($arOneItem['ITEM_ID'], $arCurrent['ITEMS']);
if (false === $intRowID) {
$arOneItem = array_merge($arDefItem, $arOneItem);
} else {
$arOneItem['ID'] = $intRowID;
}
if (array_key_exists('SORT', $arOneItem)) {
$arOneItem['SORT'] = (int) $arOneItem['SORT'];
if ($arOneItem['SORT'] <= 0) {
$arOneItem['SORT'] = 100;
}
}
if (array_key_exists('QUANTITY', $arOneItem)) {
$arOneItem['QUANTITY'] = doubleval($arOneItem['QUANTITY']);
if (0 >= $arOneItem['QUANTITY']) {
self::$arErrors[] = array('id' => 'QUANTITY', 'text' => self::TYPE_SET == $arFields['TYPE'] ? GetMessage('BT_CAT_PRODUCT_SET_ERR_QUANTITY_IS_BAD') : GetMessage('BT_CAT_PRODUCT_SET_ERR_QUANTITY_GROUP_IS_BAD'));
continue;
}
}
if (self::TYPE_SET == $arCurrent['TYPE']) {
if (array_key_exists('MEASURE', $arOneItem)) {
$arOneItem['MEASURE'] = (int) $arOneItem['MEASURE'];
if ($arOneItem['MEASURE'] < 0) {
$arOneItem['MEASURE'] = 0;
}
}
if (array_key_exists('DISCOUNT_PERCENT', $arOneItem)) {
if (false !== $arOneItem['DISCOUNT_PERCENT']) {
$arOneItem['DISCOUNT_PERCENT'] = doubleval($arOneItem['DISCOUNT_PERCENT']);
if (0 > $arOneItem['DISCOUNT_PERCENT'] || 100 < $arOneItem['DISCOUNT_PERCENT']) {
self::$arErrors[] = array('id' => 'DISCOUNT_PERCENT', 'text' => GetMessage('BT_CAT_PRODUCT_SET_ERR_DISCOUNT_PERCENT_IS_BAD'));
//.........这里部分代码省略.........