Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?
- /*
- Очистка корзин пользователей
- */
- CModule::IncludeModule("sale");
- CModule::IncludeModule("catalog");
- CModule::IncludeModule("user");
- $rsUsers = CUser::GetList(); // выбираем пользователей
- $rsUsers->NavStart(50); // разбиваем постранично по 50 записей
- while($rsUsers->NavNext(true, "f_")) :
- if (CSaleBasket::DeleteAll($f_ID, False))
- echo "Корзина пользователя с внутренним кодом успешно удалена";
- endwhile;
- /*
- Рассылка
- */
- CModule::IncludeModule("sale");
- CModule::IncludeModule("iblock");
- //выборка сегодняшних выполненных заказов
- $orderTable = Bitrix\Sale\OrderTable::getList(array(
- 'select' => array('ID', 'USER_ID'),
- 'filter' => array(
- "STATUS_ID" => array("F"), //статус выполнен
- ">=DATE_INSERT" => date($DB->DateFormatToPHP(CSite::GetDateFormat("SHORT")),
- mktime(0, 0, 0, date("n"), date("j"), date("Y"))
- )//за сегодня
- ),
- ));
- if (!empty($orderTable)) {
- //заполнение ID заказов
- $orderID = array();
- while ($order = $orderTable->fetch()) {
- $orderID[$order["USER_ID"]][] = $order["ID"];
- }
- if (!empty($orderID)) {
- //соотношение USER-Товар
- $userProd = array();
- foreach ($orderID as $key => $val) {
- $basket = \Bitrix\Sale\Basket::getList(
- array(
- 'select' => array('PRODUCT_ID'),
- 'filter' => array('ORDER_ID' => $val),
- )
- );
- while ($item = $basket->fetch()) {
- $userProd[$key][] = $item["PRODUCT_ID"];
- }
- }
- foreach ($userProd as $key => $val) {
- $uniqVal = array_unique($val);
- $reviews = CIBlockElement::GetList(
- array(),
- array(
- 'IBLOCK_ID' => \Oneway\Constants::REVIEWS_IBLOCK_ID,
- 'PROPERTY_PRODUCT' => $uniqVal,
- ),
- false,
- false,
- array(
- "PROPERTY_PRODUCT",
- "PROPERTY_USER_ID"
- )
- );
- while ($item = $reviews->fetch()) {
- if ((in_array($item["PROPERTY_PRODUCT_VALUE"], $uniqVal))
- &&($item["PROPERTY_USER_ID_VALUE"] == $key)){
- echo $item["PROPERTY_PRODUCT_VALUE"]."-One review\r";
- }
- }
- }
- }
- }
- /*
- MAX-MIN
- */
- CModule::IncludeModule("iblock");
- \CModule::IncludeModule("catalog");
- $arSelect = Array("ID","IBLOCK_ID", "PROPERTY_*");//IBLOCK_ID и ID обязательно должны быть указаны, см. описание arSelectFields выше
- $arFilter = Array("IBLOCK_ID"=>IntVal(\Oneway\Constants::IBLOCK_CATALOG), "ACTIVE"=>"Y");
- $res = CIBlockElement::GetList(Array(), $arFilter, false,false, $arSelect);
- while($ob = $res->GetNextElement()){
- $arFields = $ob->GetFields();
- $arProp =$ob->GetProperties();
- // ID инфоблока товаров
- $ID = $arFields["ID"];
- $arInfo = CCatalogSKU::GetInfoByProductIBlock(\Oneway\Constants::IBLOCK_CATALOG);
- if (is_array($arInfo)) {
- $resultASC = CIBlockElement::GetList(
- array("PRICE"=>"asc"),
- array('IBLOCK_ID'=>$arInfo['IBLOCK_ID'], 'ACTIVE'=>'Y', 'PROPERTY_'.$arInfo['SKU_PROPERTY_ID'] => $ID),
- false,
- array("nTopCount"=>1),
- array('ID', 'NAME'))
- ->GetNext();
- if ($resultASC){
- $max = GetCatalogProductPrice($resultASC["ID"], 1);
- }
- $mystring = $max['PRICE'];
- $parts = explode(".", $mystring);
- CIBlockElement::SetPropertyValues($ID, IntVal(\Oneway\Constants::IBLOCK_CATALOG), $parts[0], "MAX_PRICE");
- CIBlockElement::SetPropertyValues($ID, IntVal(\Oneway\Constants::IBLOCK_CATALOG), $parts[0], "MIN_PRICE");
- if ($arProp["TSENASOSKIDKOY"]["VALUE"] == 0){
- CIBlockElement::SetPropertyValues($ID, IntVal(\Oneway\Constants::IBLOCK_CATALOG),$parts[0], "SORT_PRICE");
- } else {
- CIBlockElement::SetPropertyValues($ID, IntVal(\Oneway\Constants::IBLOCK_CATALOG),$arProp["TSENASOSKIDKOY"]["VALUE"], "SORT_PRICE");
- }
- }
- }
- /*
- цвет фильр оттенок
- */
- CModule::IncludeModule('highloadblock');
- CModule::IncludeModule("iblock");
- CModule::IncludeModule("catalog");
- use Bitrix\Highloadblock as HL;
- $arSelect = Array("ID", "PROPERTY_TSVET");
- $arFilter = Array("IBLOCK_ID"=>IntVal(\Oneway\Constants::IBLOCK_OFFERS), "ACTIVE"=>"Y");
- $res = CIBlockElement::GetList(Array(), $arFilter, false,false, $arSelect);
- while($ob = $res->GetNextElement()){
- $arFields = $ob->GetFields();
- $ID = $arFields["ID"];
- $VAL = $arFields['PROPERTY_TSVET_VALUE'];
- $hlblock = Bitrix\Highloadblock\HighloadBlockTable::getList(array("filter" => array("ID" => \Oneway\Constants::HLBLOCK_COLORS)))->fetch();
- if ($hlblock)
- {
- $entity = HL\HighloadBlockTable::compileEntity($hlblock);
- $entity_data_class = $entity->getDataClass();
- $rsPropData = $entity_data_class::getList(array('filter' => array('=UF_XMLID' => $VAL)));
- while ($arPropData = $rsPropData->fetch())
- {
- CIBlockElement::SetPropertyValues($ID, IntVal(\Oneway\Constants::IBLOCK_OFFERS), $arPropData['UF_TIPTSVETA'], "TIPTSVETA");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement