Преглед изворни кода

Ticket #5381 - Recommendations: A list of recommended items should be limited.

AntonLV пре 8 месеци
родитељ
комит
aba676baaf

+ 1 - 1
install/sql/system.sql

@@ -550,7 +550,7 @@ INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `info`, `value`, `ty
 (@iCategoryId, 'sys_per_page_browse_showcase', '_adm_stg_cpt_option_sys_per_page_browse_showcase', '_adm_stg_inf_option_sys_per_page_browse_showcase', '32', 'digit', '', '', '', 24),
 (@iCategoryId, 'sys_per_page_search_extended', '_adm_stg_cpt_option_sys_per_page_search_extended', '_adm_stg_inf_option_sys_per_page_search_extended', '12', 'digit', '', '', '', 25),
 (@iCategoryId, 'sys_per_page_recommendations', '_adm_stg_cpt_option_sys_per_page_recommendations', '_adm_stg_inf_option_sys_per_page_recommendations', '12', 'digit', '', '', '', 26),
-(@iCategoryId, 'sys_per_page_recommendations_showcase', '_adm_stg_cpt_option_sys_per_page_recommendations_showcase', '_adm_stg_inf_option_sys_per_page_recommendations_showcase', '24', 'digit', '', '', '', 27),
+(@iCategoryId, 'sys_per_page_recommendations_showcase', '_adm_stg_cpt_option_sys_per_page_recommendations_showcase', '_adm_stg_inf_option_sys_per_page_recommendations_showcase', '8', 'digit', '', '', '', 27),
 
 (@iCategoryId, 'sys_metatags_hashtags_only', '_adm_stg_cpt_option_sys_metatags_hashtags_only', '', '', 'checkbox', '', '', '', 30),
 (@iCategoryId, 'sys_metatags_hashtags_max', '_adm_stg_cpt_option_sys_metatags_hashtags_max', '', '9', 'digit', '', '', '', 31),

+ 1 - 1
modules/base/groups/classes/BxBaseModGroupsTemplate.php

@@ -143,7 +143,7 @@ class BxBaseModGroupsTemplate extends BxBaseModProfileTemplate
 
         if($this->_bIsApi) {
             $aResult = [];
-            if(($aCode = $oRecommendation->getCodeAPI($iProfileId)) && is_array($aCode))
+            if(($aCode = $oRecommendation->getCodeAPI($iProfileId, ['showcase' => true])) && is_array($aCode))
                 $aResult = [
                     'id' => $sId,
                     'type' => 'timeline_recommendations',

+ 7 - 4
template/scripts/BxBaseRecommendation.php

@@ -94,8 +94,10 @@ class BxBaseRecommendation extends BxDolRecommendation
         if(!$iProfileId)
             $iProfileId = $this->_iProfileId;
 
-        $iStart = !empty($aParams['start']) ? (int)$aParams['start'] : 0;
-        $iPerPage = !empty($aParams['per_page']) ? (int)$aParams['per_page'] : $this->_iPerPageDefault;
+        $bShowcaseView = (bool)($aParams['showcase'] ?? false);
+
+        $aParams['start'] = (int)($aParams['start'] ??= 0);
+        $aParams['per_page'] = (int)($aParams['per_page'] ??= 0) ?: $this->{'_iPerPageDefault' . ($bShowcaseView ? 'Showcase' : '')};
 
         $bForceGetData = false;
         if(($sK = 'force_get_data') && isset($aParams[$sK])) {
@@ -119,8 +121,9 @@ class BxBaseRecommendation extends BxDolRecommendation
             'request_url' => '',
             'data' => $aData,
             'params' => [
-                'start' => $iStart,
-                'per_page' => $iPerPage,
+                'showcase' => (int)$bShowcaseView,
+                'start' => $aParams['start'],
+                'per_page' => $aParams['per_page'],
             ],
         ];
     }