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

#2842 Reviews: Small redesign of reviews cards.

Alexander 6 лет назад
Родитель
Сommit
86027948b1

+ 15 - 11
modules/boonex/reviews/classes/BxReviewsTemplate.php

@@ -158,25 +158,15 @@ class BxReviewsTemplate extends BxBaseModTextTemplate
             ];
         }
 
-
-
         $aResultExtra = [
             'bx_if:context' => [
                 'condition' => !bx_is_empty_array($aContext),
                 'content' => $aContext,
             ],
-            'bx_if:no_context' => [
-                'condition' => bx_is_empty_array($aContext),
-                'content' => [],
-            ],
             'bx_if:product' => [
                 'condition' => !bx_is_empty_array($aProduct),
                 'content' => $aProduct,
             ],
-            'bx_if:no_product' => [
-                'condition' => bx_is_empty_array($aProduct),
-                'content' => [],
-            ],
             'bx_if:rating' => [
                 'condition' => !empty($aData[$CNF['FIELD_VOTING_AVG']]),
                 'content' => [
@@ -185,6 +175,15 @@ class BxReviewsTemplate extends BxBaseModTextTemplate
             ],
         ];
 
+        $sText = $this->getText($aData);
+        $sSummaryQuickPlain = isset($CNF['PARAM_CHARS_SUMMARY_PLAIN_SHORT']) && $CNF['PARAM_CHARS_SUMMARY_PLAIN_SHORT'] ? BxTemplFunctions::getInstance()->getStringWithLimitedLength(strip_tags($sText), (int)getParam($CNF['PARAM_CHARS_SUMMARY_PLAIN_SHORT'])) : '';
+
+        $aResult['bx_if:thumb_plus_quick_desc'] = [
+            'condition' => $aResult['bx_if:thumb']['condition'],
+            'content' => [
+                'summary_quick_plain' => $sSummaryQuickPlain,
+            ],
+        ];
 
         return array_merge($aResult, $aResultExtra);
     }
@@ -223,7 +222,12 @@ class BxReviewsTemplate extends BxBaseModTextTemplate
                 'profile_name' => bx_process_output($oProfile->getDisplayName()),
                 'profile_pic' => $oProfile->getPicture(),
                 'reviews' => $aDataRow['reviews_num'],
-                'stars' => $this->getOverallRating(0, $aDataRow['avg_rating'], false),
+                'bx_if:rating' => [
+                    'condition' => $aDataRow['avg_rating'] > 0,
+                    'content' => [
+                        'stars' => $this->getOverallRating(0, $aDataRow['avg_rating'], false),
+                    ],
+                ],
                 'reviews_link' => bx_append_url_params($sReviewsLinkTmpl, ['profile_id' => $aDataRow[$CNF['FIELD_REVIEWED_PROFILE']]]),
             ];
         }

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

@@ -343,5 +343,6 @@
     <string name="_bx_reviews_txt_reviews_num"><![CDATA[Reviews]]></string>
     <string name="_bx_reviews_txt_order_by_reviews"><![CDATA[Most reviews]]></string>
     <string name="_bx_reviews_txt_order_by_rating"><![CDATA[Best overall rating]]></string>
+    <string name="_bx_reviews_txt_user"><![CDATA[User]]></string>
 
 </resources>

+ 7 - 7
modules/boonex/reviews/install/sql/enable.sql

@@ -12,8 +12,8 @@ SET @iCategId = LAST_INSERT_ID();
 
 INSERT INTO `sys_options` (`name`, `value`, `category_id`, `caption`, `type`, `check`, `check_error`, `extra`, `order`) VALUES
 ('bx_reviews_summary_chars', '700', @iCategId, '_bx_reviews_option_summary_chars', 'digit', '', '', '', 1),
-('bx_reviews_plain_summary_chars', '240', @iCategId, '_bx_reviews_option_plain_summary_chars', 'digit', '', '', '', 2),
-('bx_reviews_plain_summary_chars_with_thumb', '70', @iCategId, '_bx_reviews_option_plain_summary_chars_with_thumb', 'digit', '', '', '', 3),
+('bx_reviews_plain_summary_chars', '350', @iCategId, '_bx_reviews_option_plain_summary_chars', 'digit', '', '', '', 2),
+('bx_reviews_plain_summary_chars_with_thumb', '90', @iCategId, '_bx_reviews_option_plain_summary_chars_with_thumb', 'digit', '', '', '', 3),
 ('bx_reviews_per_page_browse', '12', @iCategId, '_bx_reviews_option_per_page_browse', 'digit', '', '', '', 10),
 ('bx_reviews_per_page_profile', '6', @iCategId, '_bx_reviews_option_per_page_profile', 'digit', '', '', '', 12),
 ('bx_reviews_per_page_browse_showcase', '32', @iCategId, '_sys_option_per_page_browse_showcase', 'digit', '', '', '', 15),
@@ -68,7 +68,7 @@ INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title_system`, `t
 ('bx_reviews_view_entry', 3, 'bx_reviews', '', '_bx_reviews_page_block_title_entry_attachments', 11, '', 2147483647, 'service', 'a:2:{s:6:\"module\";s:10:\"bx_reviews\";s:6:\"method\";s:18:\"entity_attachments\";}', 0, 0, 1, 3),
 ('bx_reviews_view_entry', 3, 'bx_reviews', '', '_bx_reviews_page_block_title_entry_polls', 11, '', 2147483647, 'service', 'a:2:{s:6:\"module\";s:10:\"bx_reviews\";s:6:\"method\";s:12:\"entity_polls\";}', 0, 0, 1, 4),
 ('bx_reviews_view_entry', 3, 'bx_reviews', '', '_bx_reviews_page_block_title_entry_comments', 11, '', 2147483647, 'service', 'a:2:{s:6:\"module\";s:10:\"bx_reviews\";s:6:\"method\";s:15:\"entity_comments\";}', 0, 0, 1, 5),
-('bx_reviews_view_entry', 3, 'bx_reviews', '', '_bx_reviews_page_block_title_featured_entries_view_extended', 11, '', 2147483647, 'service', 'a:3:{s:6:\"module\";s:10:\"bx_reviews\";s:6:\"method\";s:15:\"browse_featured\";s:6:\"params\";a:1:{i:0;s:8:\"extended\";}}', 0, 0, 1, 6),
+('bx_reviews_view_entry', 3, 'bx_reviews', '', '_bx_reviews_page_block_title_featured_entries_view_extended', 11, '', 2147483647, 'service', 'a:2:{s:6:"module";s:10:"bx_reviews";s:6:"method";s:15:"browse_featured";}', 0, 0, 1, 6),
 ('bx_reviews_view_entry', 4, 'bx_reviews', '', '_bx_reviews_page_block_title_entry_actions', 13, '', 2147483647, 'service', 'a:2:{s:6:\"module\";s:10:\"bx_reviews\";s:6:\"method\";s:14:\"entity_actions\";}', 0, 0, 0, 0),
 ('bx_reviews_view_entry', 4, 'bx_reviews', '', '_bx_reviews_page_block_title_entry_social_sharing', 11, '', 2147483647, 'service', 'a:2:{s:6:\"module\";s:10:\"bx_reviews\";s:6:\"method\";s:21:\"entity_social_sharing\";}', 0, 0, 0, 1);
 
@@ -133,8 +133,8 @@ INSERT INTO `sys_objects_page`(`object`, `uri`, `title_system`, `title`, `module
 ('bx_reviews_home', 'reviews-home', '_bx_reviews_page_title_sys_home', '_bx_reviews_page_title_home', 'bx_reviews', 2, 2147483647, 1, 'page.php?i=reviews-home', '', '', '', 0, 1, 0, 'BxReviewsPageBrowse', 'modules/boonex/reviews/classes/BxReviewsPageBrowse.php');
 
 INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title_system`, `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `active`, `order`) VALUES 
-('bx_reviews_home', 1, 'bx_reviews', '', '_bx_reviews_page_block_title_featured_entries_view_extended', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:10:"bx_reviews";s:6:"method";s:15:"browse_featured";s:6:"params";a:1:{i:0;s:8:"extended";}}', 0, 1, 1, 0),
-('bx_reviews_home', 1, 'bx_reviews', '', '_bx_reviews_page_block_title_recent_entries_view_extended', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:10:"bx_reviews";s:6:"method";s:13:"browse_public";s:6:"params";a:1:{i:0;s:8:"extended";}}', 0, 1, 1, 1),
+('bx_reviews_home', 1, 'bx_reviews', '', '_bx_reviews_page_block_title_featured_entries_view_extended', 11, 2147483647, 'service', 'a:2:{s:6:"module";s:10:"bx_reviews";s:6:"method";s:15:"browse_featured";}', 0, 1, 1, 0),
+('bx_reviews_home', 1, 'bx_reviews', '', '_bx_reviews_page_block_title_recent_entries_view_extended', 11, 2147483647, 'service', 'a:2:{s:6:"module";s:10:"bx_reviews";s:6:"method";s:13:"browse_public";}', 0, 1, 1, 1),
 ('bx_reviews_home', 1, 'bx_reviews', '', '_bx_reviews_page_block_title_reviewed_content', 11, 2147483647, 'service', 'a:2:{s:6:"module";s:10:"bx_reviews";s:6:"method";s:23:"browse_reviewed_content";}', 0, 1, 1, 2),
 ('bx_reviews_home', 2, 'bx_reviews', '', '_bx_reviews_page_block_title_popular_keywords', 11, 2147483647, 'service', 'a:4:{s:6:\"module\";s:6:\"system\";s:6:\"method\";s:14:\"keywords_cloud\";s:6:\"params\";a:2:{i:0;s:10:"bx_reviews";i:1;s:10:"bx_reviews";}s:5:\"class\";s:20:\"TemplServiceMetatags\";}', 0, 1, 1, 0),
 ('bx_reviews_home', 2, 'bx_reviews', '', '_bx_reviews_page_block_title_cats', 11, 2147483647, 'service', 'a:4:{s:6:\"module\";s:6:\"system\";s:6:\"method\";s:15:\"categories_list\";s:6:\"params\";a:2:{i:0;s:15:\"bx_reviews_cats\";i:1;a:1:{s:10:\"show_empty\";b:1;}}s:5:\"class\";s:20:\"TemplServiceCategory\";}', 0, 1, 1, 1),
@@ -313,8 +313,8 @@ INSERT INTO `sys_menu_sets`(`set_name`, `module`, `title`, `deletable`) VALUES
 ('bx_reviews_snippet_meta', 'bx_reviews', '_sys_menu_set_title_snippet_meta', 0);
 
 INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `editable`, `order`) VALUES 
-('bx_reviews_snippet_meta', 'bx_reviews', 'date', '_sys_menu_item_title_system_sm_date', '_sys_menu_item_title_sm_date', '', '', '', '', '', 2147483647, 1, 0, 1, 1),
-('bx_reviews_snippet_meta', 'bx_reviews', 'author', '_sys_menu_item_title_system_sm_author', '_sys_menu_item_title_sm_author', '', '', '', '', '', 2147483647, 1, 0, 1, 2),
+('bx_reviews_snippet_meta', 'bx_reviews', 'date', '_sys_menu_item_title_system_sm_date', '_sys_menu_item_title_sm_date', '', '', '', '', '', 2147483647, 0, 0, 1, 1),
+('bx_reviews_snippet_meta', 'bx_reviews', 'author', '_sys_menu_item_title_system_sm_author', '_sys_menu_item_title_sm_author', '', '', '', '', '', 2147483647, 0, 0, 1, 2),
 ('bx_reviews_snippet_meta', 'bx_reviews', 'category', '_sys_menu_item_title_system_sm_category', '_sys_menu_item_title_sm_category', '', '', '', '', '', 2147483647, 0, 0, 1, 3),
 ('bx_reviews_snippet_meta', 'bx_reviews', 'tags', '_sys_menu_item_title_system_sm_tags', '_sys_menu_item_title_sm_tags', '', '', '', '', '', 2147483647, 0, 0, 1, 4),
 ('bx_reviews_snippet_meta', 'bx_reviews', 'views', '_sys_menu_item_title_system_sm_views', '_sys_menu_item_title_sm_views', '', '', '', '', '', 2147483647, 0, 0, 1, 5),

+ 15 - 0
modules/boonex/reviews/template/css/main.css

@@ -1,11 +1,26 @@
 @import url(../../../../base/text/template/css/main.css);
 
+.bx-review-vertical-flex {
+    display: flex;
+    flex-direction: column;
+}
+.bx-reviews-align-left {
+    text-align: left;
+}
 .bx-review-extra-info,
 .bx-review-rating {
     text-align: left;
     line-height: 2rem;
 }
 
+.bx-review-rating {
+    margin: 0.5rem 0;
+}
+
+.bx-reviews-rating-row {
+    margin-top: auto;
+}
+
 .bx-review-rating * {
     line-height: unset!important;
 }

+ 4 - 2
modules/boonex/reviews/template/reviewed_profiles.html

@@ -14,8 +14,10 @@
                     <div class="bx-review-extra-info">
                         <span class="bx-def-font-bold"><bx_text:_bx_reviews_txt_reviews_num />:</span> <a href="__reviews_link__">__reviews__</a>
                     </div>
-                    <div class="bx-def-hr bx-def-margin-top"></div>
-                    <div class="bx-review-rating bx-def-align-center">__stars__</div>
+                    <bx_if:rating>
+                        <div class="bx-def-hr bx-def-margin-top"></div>
+                        <div class="bx-review-rating bx-def-align-center">__stars__</div>
+                    </bx_if:rating>
                 </div>
             </div>
         </div>

+ 28 - 20
modules/boonex/reviews/template/unit_gallery.html

@@ -1,5 +1,5 @@
 <div class="__class__ bx-base-text-unit bx-base-text-unit-gallery bx-def-gal-unit-size bx-def-padding-sec">
-    <div class="bx-base-text-unit-cnt bx-def-box bx-def-round-corners bx-def-color-bg-box bx-def-box-sizing">
+    <div class="bx-base-text-unit-cnt bx-def-box bx-def-round-corners bx-def-color-bg-box bx-def-box-sizing bx-review-vertical-flex">
         <bx_if:thumb>
             <a href="__content_url__" title="__summary_attr__">
                 <div class="bx-base-text-unit-thumb bx-def-gal-div-size bx-def-round-corners bx-def-font-middle" style="background-image:url(__gallery_url__)">
@@ -7,19 +7,26 @@
                 </div>
             </a>
         </bx_if:thumb>
-        <bx_if:no_thumb>
-            <div class="bx-def-gal-img-column">
-                <div class="bx-base-text-unit-no-thumb bx-def-gal-div-size bx-def-font-middle bx-def-font-grayed bx-def-padding bx-def-box-sizing">
-                    __summary_plain__
-                    <div class="bx-base-text-unit-strecher">__strecher__</div>
-                </div>
-            </div>
-        </bx_if:no_thumb>
         <div class="bx-base-text-unit-text bx-def-padding-leftright bx-def-padding-sec-topbottom bx-def-box-sizing">
             <div class="bx-base-text-unit-title">
-                <h2><a href="__content_url__">__title__</a></h2>
+                <h3 class="bx-def-margin-sec-topbottom"><a href="__content_url__">__title__</a></h3>
                 __badges__
             </div>
+            <bx_if:thumb_plus_quick_desc>
+                <div class="bx-def-gal-img-column bx-def-margin-bottom">
+                    <div class="bx-def-font bx-def-box-sizing bx-reviews-align-left">
+                        __summary_quick_plain__
+                    </div>
+                </div>
+            </bx_if:thumb_plus_quick_desc>
+            <bx_if:no_thumb>
+                <div class="bx-def-gal-img-column">
+                    <div class="bx-base-text-unit-no-thumb bx-def-gal-div-size bx-def-font bx-def-box-sizing bx-reviews-align-left">
+                        __summary_plain__
+                        <div class="bx-base-text-unit-strecher">__strecher__</div>
+                    </div>
+                </div>
+            </bx_if:no_thumb>
             <div class="bx-base-text-unit-info">
                 <bx_if:context>
                     <div class="bx-review-extra-info">
@@ -31,18 +38,19 @@
                         <i class="sys-icon bx-review-reset-color shopping-bag"></i> <bx_text:_bx_reviews_txt_product />: <a href="__product_link__">__product_name__</a>
                     </div>
                 </bx_if:product>
-                <bx_if:no_product>
-                    <div class="bx-review-extra-info">&nbsp;</div>
-                </bx_if:no_product>
-                <bx_if:no_context>
-                    <div class="bx-review-extra-info">&nbsp;</div>
-                </bx_if:no_context>
+                <div class="bx-review-extra-info">
+                    <i class="sys-icon bx-review-reset-color user"></i> <bx_text:_bx_reviews_txt_user />: <a href="__author_url__">__author__</a>
+                </div>
                 <bx_if:meta><div class="bx-base-general-unit-meta">__meta__</div></bx_if:meta>
-                <bx_if:rating>
-                    <div class="bx-def-hr bx-def-margin-top"></div>
-                    <div class="bx-review-rating bx-def-align-center">__stars__</div>
-                </bx_if:rating>
             </div>
         </div>
+
+        <bx_if:rating>
+            <div class="bx-def-padding-left bx-def-padding-right bx-reviews-rating-row">
+                <div class="bx-def-hr"></div>
+                <div class="bx-review-rating bx-def-align-center">__stars__</div>
+            </div>
+        </bx_if:rating>
+
     </div>
 </div>