Просмотр исходного кода

#1935 Albums unit load all photos in the album on albums browsing pages

Alex Trofimov 7 лет назад
Родитель
Сommit
bec565ed59

+ 10 - 3
modules/boonex/albums/classes/BxAlbumsDb.php

@@ -73,10 +73,17 @@ class BxAlbumsDb extends BxBaseModTextDb
         return $this->getOne($sQuery);
     }
 
-    public function getMediaListByContentId($iContentId)
+    public function getMediaListByContentId($iContentId, $iLimit = false)
     {
-        $sQuery = $this->prepare ("SELECT * FROM `" . $this->_oConfig->CNF['TABLE_FILES2ENTRIES'] . "` WHERE `content_id` = ? ORDER BY `order`", $iContentId);
-        return $this->getAll($sQuery);
+        $sLimitQuery = '';
+        $aBindings = array('id' => $iContentId);
+        if ((int)$iLimit) {
+            $sLimitQuery = ' LIMIT :limit';
+            $aBindings = array_merge($aBindings, array('limit' => (int)$iLimit));
+        }
+            
+        $sQuery = "SELECT * FROM `" . $this->_oConfig->CNF['TABLE_FILES2ENTRIES'] . "` WHERE `content_id` = :id ORDER BY `order`" . $sLimitQuery;
+        return $this->getAll($sQuery, $aBindings);
     }
 
     function getMediaBy($aParams = array())

+ 1 - 1
modules/boonex/albums/classes/BxAlbumsTemplate.php

@@ -47,7 +47,7 @@ class BxAlbumsTemplate extends BxBaseModTextTemplate
         $oTranscoder = BxDolTranscoderImage::getObjectInstance($CNF['OBJECT_TRANSCODER_BROWSE']);
 
         $aBrowseUnits = array ();
-        $aMediaList = $oModule->_oDb->getMediaListByContentId($aData[$CNF['FIELD_ID']]);
+        $aMediaList = $oModule->_oDb->getMediaListByContentId($aData[$CNF['FIELD_ID']], getParam('bx_albums_album_browsing_unit'));
         foreach ($aMediaList as $k => $a) {
             $aBrowseUnits[] = array (
                 'img_url' => $oTranscoder->getFileUrl($a['file_id']),

+ 1 - 0
modules/boonex/albums/install/langs/en.xml

@@ -10,6 +10,7 @@
 	<string name="_bx_albums_option_plain_summary_chars"><![CDATA[Number of characters in plain album description when album hasn't thumb]]></string>
 	<string name="_bx_albums_option_per_page_browse"><![CDATA[Number of items per page]]></string>
 	<string name="_bx_albums_option_per_page_profile"><![CDATA[Number of items on profile page]]></string>
+	<string name="_bx_albums_option_album_browsing_unit"><![CDATA[Number of items in album card]]></string>
 	<string name="_bx_albums_option_rss_num"><![CDATA[Number of items in RSS feed]]></string>
 	<string name="_bx_albums_option_searchable_fields"><![CDATA[Searchable fields for keyword search]]></string>
 

+ 1 - 0
modules/boonex/albums/install/sql/enable.sql

@@ -15,6 +15,7 @@ INSERT INTO `sys_options` (`name`, `value`, `category_id`, `caption`, `type`, `c
 ('bx_albums_per_page_browse', '12', @iCategId, '_bx_albums_option_per_page_browse', 'digit', '', '', '', 10),
 ('bx_albums_per_page_profile', '6', @iCategId, '_bx_albums_option_per_page_profile', 'digit', '', '', '', 12),
 ('bx_albums_per_page_browse_showcase', '32', @iCategId, '_sys_option_per_page_browse_showcase', 'digit', '', '', '', 15),
+('bx_albums_album_browsing_unit', '10', @iCategId, '_bx_albums_option_album_browsing_unit', 'digit', '', '', '', 20),
 ('bx_albums_rss_num', '10', @iCategId, '_bx_albums_option_rss_num', 'digit', '', '', '', 20),
 ('bx_albums_searchable_fields', 'title,text', @iCategId, '_bx_albums_option_searchable_fields', 'list', '', '', 'a:2:{s:6:"module";s:9:"bx_albums";s:6:"method";s:21:"get_searchable_fields";}', 30);
 

+ 2 - 1
modules/boonex/russian/data/langs/bx_albums/ru.xml

@@ -9,7 +9,8 @@
 	<string name="_bx_albums_option_summary_chars"><![CDATA[Количество символов в автогенерируемой сводке к альбомам]]></string>
 	<string name="_bx_albums_option_plain_summary_chars"><![CDATA[Количество символов в описании альбома при отсутствующей картинке альбома]]></string>
 	<string name="_bx_albums_option_per_page_browse"><![CDATA[Количество элементов на странице]]></string>
-	<string name="_bx_albums_option_per_page_profile"><![CDATA[Количество элементов на странице профайла]]></string>
+    <string name="_bx_albums_option_per_page_profile"><![CDATA[Количество элементов на странице профайла]]></string>
+    <string name="_bx_albums_option_album_browsing_unit"><![CDATA[Количество элементов в карточке альбома]]></string>
 	<string name="_bx_albums_option_rss_num"><![CDATA[Количество элементов в ленте RSS]]></string>
 	<string name="_bx_albums_option_searchable_fields"><![CDATA[Поля для поиска по ключевому слову]]></string>