예제 #1
0
 /**
  * @param $params
  * @override
  * @return array
  */
 public function onPrepareComponentParams($params)
 {
     $params = parent::onPrepareComponentParams($params);
     if (!isset($params["CACHE_TIME"])) {
         $params["CACHE_TIME"] = 86400;
     }
     if (isset($params['ID'])) {
         $params['ID'] = (int) $params["ID"];
     } else {
         $params['ID'] = -1;
     }
     if (isset($params['CODE'])) {
         $params['CODE'] = trim($params['CODE']);
     } else {
         $params['CODE'] = '';
     }
     if (isset($params['IBLOCK_ID'])) {
         $params['IBLOCK_ID'] = (int) $params['IBLOCK_ID'];
     } else {
         $params['IBLOCK_ID'] = -1;
     }
     if (!isset($params['PROPERTY_LINK']) || !strlen($params['PROPERTY_LINK'])) {
         $params['PROPERTY_LINK'] = 'RECOMMEND';
     } else {
         $params['PROPERTY_LINK'] = trim($params['PROPERTY_LINK']);
     }
     if (!isset($params['OFFERS_PROPERTY_LINK']) || !strlen($params['OFFERS_PROPERTY_LINK'])) {
         $params['OFFERS_PROPERTY_LINK'] = 'RECOMMEND';
     } else {
         $params['OFFERS_PROPERTY_LINK'] = trim($params['OFFERS_PROPERTY_LINK']);
     }
     return $params;
 }
예제 #2
0
 /**
  * @param $params
  * @override
  * @return array
  */
 public function onPrepareComponentParams($params)
 {
     $params = parent::onPrepareComponentParams($params);
     if (!isset($params["CACHE_TIME"])) {
         $params["CACHE_TIME"] = 86400;
     }
     $params["DETAIL_URL"] = trim($params["DETAIL_URL"]);
     if (isset($params["BY"]) && is_array($params["BY"])) {
         if (count($params["BY"])) {
             $params["BY"] = array_values($params["BY"]);
             $params["BY"] = $params["BY"][0];
         } else {
             $params["BY"] = "AMOUNT";
         }
     }
     if (!isset($params["BY"]) || !strlen(trim($params["BY"]))) {
         $params["BY"] = "AMOUNT";
     }
     if (isset($params["PERIOD"])) {
         if (is_array($params["PERIOD"])) {
             if (count($params["PERIOD"])) {
                 $params["PERIOD"] = array_values($params["PERIOD"]);
                 $params["PERIOD"] = $params["PERIOD"][0];
             } else {
                 $params["PERIOD"] = 0;
             }
         } else {
             $params["PERIOD"] = (int) $params["PERIOD"];
             if ($params["PERIOD"] < 0) {
                 $params["PERIOD"] = 0;
             }
         }
     } else {
         $params["PERIOD"] = 0;
     }
     if (!isset($params['FILTER']) || empty($params['FILTER']) || !is_array($params['FILTER'])) {
         $params['FILTER'] = array();
     }
     if (Loader::includeModule("sale")) {
         $statuses = array("CANCELED", "ALLOW_DELIVERY", "PAYED", "DEDUCTED");
         $saleStatusIterator = CSaleStatus::GetList(array("SORT" => "ASC"), array("LID" => $this->getLanguageId()), false, false, array("ID"));
         while ($row = $saleStatusIterator->Fetch()) {
             $statuses[] = $row['ID'];
         }
         foreach ($params['FILTER'] as $key => $status) {
             if (!in_array($status, $statuses)) {
                 unset($params['FILTER'][$key]);
             }
         }
     }
     return $params;
 }
예제 #3
0
 /**
  * @param $params
  * @override
  * @return array
  */
 public function onPrepareComponentParams($params)
 {
     $params = parent::onPrepareComponentParams($params);
     if (!isset($params["CACHE_TIME"])) {
         $params["CACHE_TIME"] = 86400;
     }
     $params["DETAIL_URL"] = trim($params["DETAIL_URL"]);
     if (isset($params["BY"]) && is_array($params["BY"])) {
         if (count($params["BY"])) {
             $params["BY"] = array_values($params["BY"]);
             $params["BY"] = $params["BY"][0];
         } else {
             $params["BY"] = "AMOUNT";
         }
     }
     if (!isset($params["BY"]) || !strlen(trim($params["BY"]))) {
         $params["BY"] = "AMOUNT";
     }
     if (isset($params["PERIOD"])) {
         if (is_array($params["PERIOD"])) {
             if (count($params["PERIOD"])) {
                 $params["PERIOD"] = array_values($params["PERIOD"]);
                 $params["PERIOD"] = $params["PERIOD"][0];
             } else {
                 $params["PERIOD"] = 0;
             }
         } else {
             $params["PERIOD"] = (int) $params["PERIOD"];
             if ($params["PERIOD"] < 0) {
                 $params["PERIOD"] = 0;
             }
         }
     } else {
         $params["PERIOD"] = 0;
     }
     if (!isset($params['FILTER']) || empty($params['FILTER']) || !is_array($params['FILTER'])) {
         $params['FILTER'] = array();
     }
     return $params;
 }
예제 #4
0
 /**
  * @param $params
  * @override
  * @return array
  */
 public function onPrepareComponentParams($params)
 {
     if (Loader::includeModule("catalog")) {
         $catalogIterator = CCatalog::getList(array("IBLOCK_ID" => "ASC"));
         while ($row = $catalogIterator->fetch()) {
             $params['SHOW_PRODUCTS_' . $row['IBLOCK_ID']] = true;
         }
     }
     $params = parent::onPrepareComponentParams($params);
     if (!isset($params["CACHE_TIME"])) {
         $params["CACHE_TIME"] = 86400;
     }
     $params["DETAIL_URL"] = trim($params["DETAIL_URL"]);
     $params["MIN_BUYES"] = IntVal($params["MIN_BUYES"]);
     if ($params["MIN_BUYES"] <= 0) {
         $params["MIN_BUYES"] = 2;
     }
     if (isset($params['ID'])) {
         $params['ID'] = (int) $params["ID"];
     } else {
         $params['ID'] = -1;
     }
     if (isset($params['CODE'])) {
         $params['CODE'] = trim($params['CODE']);
     } else {
         $params['CODE'] = '';
     }
     if (isset($params['IBLOCK_ID'])) {
         $params['IBLOCK_ID'] = (int) $params['IBLOCK_ID'];
     } else {
         $params['IBLOCK_ID'] = -1;
     }
     $params['ID'] = CIBlockFindTools::getElementID($params["ID"], $params["CODE"], false, false, array("IBLOCK_ID" => $params["IBLOCK_ID"], "IBLOCK_LID" => SITE_ID, "IBLOCK_ACTIVE" => "Y", "ACTIVE_DATE" => "Y", "CHECK_PERMISSIONS" => "Y"));
     if ($params["ID"] <= 0) {
         $this->errors[] = Loc::getMessage("SRP_PRODUCT_ID_REQUIRED");
     }
     return $params;
 }