Quellcode durchsuchen

#4558 - Build-in API support enhancement (search)

roman.lesnikov@gmail.com vor 2 Jahren
Ursprung
Commit
6aef373a66

+ 5 - 5
template/scripts/BxBaseSearchExtended.php

@@ -65,7 +65,7 @@ class BxBaseSearchExtended extends BxDolSearchExtended
             'unit' => 'general-content-list',
             'request_url' => '/api.php?r=system/get_results/TemplSearchExtendedServices&params[]=',
             'data' =>  $aData,
-            'params' => ['per_page' => $iPerPage, 'start' => $iStart, 'search_params' => $aParamsSearch],
+            'params' => ['per_page' => $iPerPage, 'start' => $iStart, 'object' => $this->_aObject['module'], 'search_params' => $aParamsSearch],
         ]);
     }
     
@@ -120,7 +120,7 @@ class BxBaseSearchExtended extends BxDolSearchExtended
             return '';
 
         $aParamsSearch = [];
-        if(!$this->_bIsApi || !isset($aParams['search_params'])) {
+        if(!isset($aParams['search_params'])) {
             foreach($this->_aObject['fields'] as $aField) {
                 $mixedValue = $oForm->getCleanValue($aField['name']);
                 if(empty($mixedValue) || (is_array($mixedValue) && bx_is_empty_array($mixedValue)))
@@ -233,9 +233,9 @@ class BxBaseSearchExtended extends BxDolSearchExtended
 
         if($this->_bIsApi) {
             if(isset($aParams['search_params']))
-                return [$this->getResultsAPI($aRes, $iPerPage, $iStart, $aParamsSearch)];
+                return [$this->getResultsAPI($mixedResults, $iPerPage, $iStart, $aParamsSearch)];
             else
-                return $this->getResultsAPI([], $iPerPage, $iStart, $aParamsSearch);
+                return $this->getResultsAPI($mixedResults, $iPerPage, $iStart, $aParamsSearch);
         }
 
         $aTxtDirection = [
@@ -429,4 +429,4 @@ class BxBaseSearchExtendedFormCheckerHelper extends BxDolFormCheckerHelper
     }
 }
 
-/** @} */
+/** @} */

+ 9 - 6
template/scripts/BxBaseSearchExtendedServices.php

@@ -37,11 +37,12 @@ class BxBaseSearchExtendedServices extends BxDol
 
         $mForm = $oSearch->getForm($aParams);
         if (bx_is_api()){
-            $aRes =$this->serviceGetResults($aParams);
+            /*$aRes =$this->serviceGetResults($aParams);
             if ($aRes)
                 return [$mForm, $aRes];
             else
-                return [$mForm];
+                return [$mForm];*/
+return [$mForm];
         }
         return $mForm;
     }
@@ -50,11 +51,13 @@ class BxBaseSearchExtendedServices extends BxDol
     {
         $aParams = [];
         if (is_string($mParams)){
-            $aPa = json_decode($mParams, true);           
-            $aParams['object'] = $aPa['params']["moduleName"];
-            $aParams['search_params'] = $aPa['params']['search_params'];
-            unset($aPa['params']['search_params']);
+           $aPa = json_decode($mParams, true);    
+            $aParams['object'] = $aPa['params']["object"];
             $aParams['params'] = $aPa['params'];
+            
+            foreach($aParams['params']['filters'] as $sKey => $aParam){
+               $_POST[$sKey] = $aParam;
+            }
         }
         else
             $aParams = $mParams;