ソースを参照

#1057 - Core changes & Post Module Implementation

RomanL 8 年 前
親
コミット
54c820f8e9

+ 2 - 0
modules/base/general/classes/BxBaseModGeneralSearchResult.php

@@ -15,6 +15,8 @@ class BxBaseModGeneralSearchResult extends BxTemplSearchResult
 {
     protected $oModule;
     protected $bShowcaseView = false;
+    protected $aUnitViews = array();
+    protected $sUnitViewDefault = 'gallery';
 
     function __construct($sMode = '', $aParams = array())
     {

+ 2 - 3
modules/base/groups/classes/BxBaseModGroupsSearchResult.php

@@ -10,12 +10,11 @@
  */
 
 class BxBaseModGroupsSearchResult extends BxBaseModProfileSearchResult
-{
-    protected $aUnitViews = array('gallery' => 'unit.html', 'showcase' => 'unit_with_cover_showcase.html');
-    
+{    
     public function __construct($sMode = '', $aParams = array())
     {
         parent::__construct($sMode, $aParams);
+        $this->aUnitViews = array('gallery' => 'unit.html', 'showcase' => 'unit_with_cover_showcase.html');
     }
 
     protected function addConditionsForPrivateContent($CNF, $oProfile, $aCustomGroup = array()) 

+ 2 - 4
modules/base/profile/classes/BxBaseModProfileSearchResult.php

@@ -10,14 +10,12 @@
  */
 
 class BxBaseModProfileSearchResult extends BxBaseModGeneralSearchResult
-{
-    protected $aUnitViews = array('gallery' => 'unit_with_cover.html', 'showcase' => 'unit_with_cover_showcase.html');
-    protected $sUnitViewDefault = 'gallery';
-    
+{    
     public function __construct($sMode = '', $aParams = array())
     {
         parent::__construct($sMode, $aParams);
         
+        $this->aUnitViews = array('gallery' => 'unit_with_cover.html', 'showcase' => 'unit_with_cover_showcase.html');
         if (!empty($aParams['unit_view']))
             $this->sUnitViewDefault = $aParams['unit_view'];
         $this->sUnitTemplate = $this->aUnitViews[$this->sUnitViewDefault];

+ 6 - 0
modules/base/profile/classes/BxBaseModProfileTemplate.php

@@ -17,6 +17,7 @@ class BxBaseModProfileTemplate extends BxBaseModGeneralTemplate
     protected $_sUnitClass;
     protected $_sUnitClassWithCover;
     protected $_sUnitClassWoInfo;
+    protected $_sUnitClassShowCase;
     
     function __construct(&$oConfig, &$oDb)
     {
@@ -25,6 +26,7 @@ class BxBaseModProfileTemplate extends BxBaseModGeneralTemplate
         $this->_sUnitClass = 'bx-base-pofile-unit';
         $this->_sUnitClassWithCover = 'bx-base-pofile-unit-with-cover';
         $this->_sUnitClassWoInfo = 'bx-base-pofile-unit-wo-info';
+        $this->_sUnitClassShowCase = 'bx-base-unit-showcase bx-base-pofile-unit-showcase';
     }
 
     /**
@@ -314,6 +316,10 @@ class BxBaseModProfileTemplate extends BxBaseModGeneralTemplate
             case 'unit_wo_info_links.html':
                 $sResult = $this->_sUnitClassWoInfo;
                 break;
+                
+            case 'unit_with_cover_showcase.html':
+                $sResult = $this->_sUnitClassShowCase;
+                break;
         }
 
         return $sResult;

+ 1 - 16
modules/base/profile/template/unit_with_cover_showcase.html

@@ -1,16 +1 @@
-<div class="__class__ bx-def-padding-sec bx-def-box-sizing bx-base-unit-showcase bx-base-pofile-unit-showcase">
-    <div class="bx-base-pofile-unit-cnt bx-def-box bx-def-border bx-def-round-corners bx-def-color-bg-box">
-        <a class="bx-base-pofile-unit-cover" style="background-image:url(__cover_url__);" href="__content_url__" onclick="__content_click__">
-            <bx_if:show_thumb_image>
-                <img class="bx-base-pofile-unit-thumb bx-def-thumb bx-def-thumb-size bx-def-border" src="__thumb_url__" />
-            </bx_if:show_thumb_image>
-            <bx_if:show_thumb_letter>
-                <p class="bx-base-pofile-unit-thumb bx-def-thumb bx-def-thumb-size bx-def-border bx-def-box-sizing" style="background-color:rgba(__color__)">__letter__</p>
-            </bx_if:show_thumb_letter>
-        </a>
-        <div class="bx-base-pofile-unit-title bx-def-box-sizing bx-def-padding-sec"><a href="__content_url__" onclick="__content_click__">__title__</a></div>
-        <div class="bx-base-pofile-unit-info">
-            <bx_if:meta><div class="bx-base-general-unit-meta bx-def-box-sizing bx-def-padding-sec-rightbottomleft">__meta__</div></bx_if:meta>
-        </div>
-    </div>
-</div>
+<bx_include_auto:unit_with_cover.html />

+ 1 - 3
modules/base/text/classes/BxBaseModTextSearchResult.php

@@ -11,17 +11,15 @@
 
 class BxBaseModTextSearchResult extends BxBaseModGeneralSearchResult
 {
-    protected $aUnitViews = array('extended' => 'unit.html', 'gallery' => 'unit_gallery.html', 'full' => 'unit_full.html', 'showcase' => 'unit_showcase.html');
-    protected $sUnitViewDefault = 'gallery';
     protected $sUnitViewParamName = 'unit_view';
 
     function __construct($sMode = '', $aParams = array())
     {
         parent::__construct($sMode, $aParams);
 
+        $this->aUnitViews = array('extended' => 'unit.html', 'gallery' => 'unit_gallery.html', 'full' => 'unit_full.html', 'showcase' => 'unit_showcase.html');
         if (!empty($aParams['unit_view']))
             $this->sUnitViewDefault = $aParams['unit_view'];
-
         $this->aGetParams = array($this->sUnitViewParamName);
         $this->sUnitTemplate = $this->aUnitViews[$this->sUnitViewDefault];
         if (isset($this->aUnitViews[bx_get($this->sUnitViewParamName)]))

+ 20 - 2
modules/base/text/classes/BxBaseModTextTemplate.php

@@ -14,9 +14,13 @@
  */
 class BxBaseModTextTemplate extends BxBaseModGeneralTemplate
 {
+    protected $_sUnitClassShowCase;
+    
     function __construct(&$oConfig, &$oDb)
     {
         parent::__construct($oConfig, $oDb);
+        
+        $this->_sUnitClassShowCase = 'bx-base-unit-showcase bx-base-text-unit-showcase bx-def-margin-sec-bottom';
     }
 
     function unit ($aData, $isCheckPrivateContent = true, $sTemplateName = 'unit.html', $aParams = array())
@@ -25,7 +29,7 @@ class BxBaseModTextTemplate extends BxBaseModGeneralTemplate
     	if($sResult)
             return $sResult;
 
-		return $this->parseHtmlByName($sTemplateName, $this->getUnit($aData, $aParams));
+		return $this->parseHtmlByName($sTemplateName, $this->getUnit($aData, $aParams, $sTemplateName));
     }
 
     function entryAuthor ($aData, $iProfileId = false, $sFuncAuthorDesc = 'getAuthorDesc', $sTemplateName = 'author.html', $sFuncAuthorAddon = 'getAuthorAddon')
@@ -120,7 +124,7 @@ class BxBaseModTextTemplate extends BxBaseModGeneralTemplate
         return array($sPhotoThumb, $sPhotoGallery);
     }
 
-	protected function getUnit ($aData, $aParams = array())
+	protected function getUnit ($aData, $aParams = array(), $sTemplateName = 'unit.html')
     {
         $CNF = &BxDolModule::getInstance($this->MODULE)->_oConfig->CNF;
 
@@ -159,6 +163,7 @@ class BxBaseModTextTemplate extends BxBaseModGeneralTemplate
 
         // generate html
         return array (
+            'class' => $this->_getUnitClass($aData, $sTemplateName),
             'id' => $aData[$CNF['FIELD_ID']],
             'content_url' => $sUrl,
             'title' => $sTitle,
@@ -223,6 +228,19 @@ class BxBaseModTextTemplate extends BxBaseModGeneralTemplate
         $sLinkMore = ' <a title="' . bx_html_attribute(_t('_sys_read_more', $sTitle)) . '" href="' . $sUrl . '"><i class="sys-icon ellipsis-h"></i></a>';
         return  strmaxtextlen($sText, (int)getParam($CNF['PARAM_CHARS_SUMMARY']), $sLinkMore);
     }
+    
+    protected function _getUnitClass($aData, $sTemplateName = 'unit.html')
+    {
+        $sResult = '';
+
+        switch($sTemplateName) {
+            case 'unit_showcase.html':
+                $sResult = $this->_sUnitClassShowCase;
+                break;
+        }
+
+        return $sResult;
+    }
 }
 
 /** @} */

+ 1 - 1
modules/base/text/template/unit_gallery.html

@@ -1,4 +1,4 @@
-<div class="bx-base-text-unit bx-base-text-unit-gallery bx-def-gal-unit-size bx-def-padding-sec">
+<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-text bx-def-padding-leftright bx-def-padding-sec-topbottom bx-def-font-align-center bx-def-box-sizing">
 			<h2><a href="__content_url__">__title__</a></h2>

+ 1 - 25
modules/base/text/template/unit_showcase.html

@@ -1,25 +1 @@
-<div class="bx-base-text-unit bx-base-text-unit-gallery bx-base-unit-showcase bx-base-text-unit-showcase bx-def-gal-unit-size bx-def-padding-sec bx-def-margin-sec-bottom">
-    <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-text bx-def-padding-leftright bx-def-padding-sec-topbottom bx-def-font-align-center bx-def-box-sizing">
-            <h2><a href="__content_url__">__title__</a></h2>
-            <div class="bx-base-text-unit-info">
-                <bx_if:meta><div class="bx-base-general-unit-meta">__meta__</div></bx_if:meta>
-            </div>
-        </div>
-        <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__)">
-                    <div class="bx-base-text-unit-strecher">__strecher__</div>
-                </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>
-</div>
+<bx_include_auto:unit_gallery.html />

+ 1 - 1
modules/boonex/events/template/uploader_form_crop_cover.html

@@ -1 +1 @@
-<bx_include_base:.. />modules/base/profile/template/unit_with_cover_showcase.html />
+<bx_include_base:../modules/base/profile/template/uploader_form_crop_cover.html />

+ 6 - 4
modules/boonex/posts/install/langs/en.xml

@@ -117,6 +117,12 @@
 	<string name="_bx_posts_page_block_title_cats"><![CDATA[Posts Categories]]></string>
 	<string name="_bx_posts_page_block_title_entry_info"><![CDATA[Info]]></string>
 	<string name="_bx_posts_page_block_title_my_entries"><![CDATA[My Posts]]></string>
+    <string name="_bx_posts_page_block_title_sys_recent_entries_view_showcase"><![CDATA[Latest Posts (Showcase View)]]></string>
+    <string name="_bx_posts_page_block_title_recent_entries_view_showcase"><![CDATA[Latest Posts]]></string>
+    <string name="_bx_posts_page_block_title_sys_popular_entries_view_showcase"><![CDATA[Popular Posts (Showcase View)]]></string>
+    <string name="_bx_posts_page_block_title_popular_entries_view_showcase"><![CDATA[Popular Posts]]></string>
+    <string name="_bx_posts_page_block_title_sys_featured_entries_view_showcase"><![CDATA[Featured Posts (Showcase View)]]></string>
+    <string name="_bx_posts_page_block_title_featured_entries_view_showcase"><![CDATA[Featured Posts]]></string>
 
     <string name="_bx_posts_menu_set_title_view_entry"><![CDATA[Post Actions]]></string>
     <string name="_bx_posts_menu_title_view_entry"><![CDATA[Post Actions]]></string>
@@ -217,8 +223,4 @@
     <string name="_bx_posts_txt_sample_single_with_article"><![CDATA[a post]]></string>
     <string name="_bx_posts_txt_sample_comment_single"><![CDATA[comment to post]]></string>
     <string name="_bx_posts_txt_sample_vote_single"><![CDATA[vote to post]]></string>
-	
-    <string name="_bx_posts_page_block_title_recent_entries_view_showcase"><![CDATA[Latest Posts (Showcase View)]]></string>
-    <string name="_bx_posts_page_block_title_popular_entries_view_showcase"><![CDATA[Popular Posts (Showcase View)]]></string>
-    <string name="_bx_posts_page_block_title_featured_entries_view_showcase"><![CDATA[Featured Posts (Showcase View)]]></string>
 </resources>

+ 11 - 12
modules/boonex/posts/install/sql/enable.sql

@@ -15,10 +15,9 @@ INSERT INTO `sys_options` (`name`, `value`, `category_id`, `caption`, `type`, `c
 ('bx_posts_plain_summary_chars', '240', @iCategId, '_bx_posts_option_plain_summary_chars', 'digit', '', '', '', 2),
 ('bx_posts_per_page_browse', '12', @iCategId, '_bx_posts_option_per_page_browse', 'digit', '', '', '', 10),
 ('bx_posts_per_page_profile', '6', @iCategId, '_bx_posts_option_per_page_profile', 'digit', '', '', '', 12),
+('bx_posts_per_page_browse_showcase', '32', @iCategId, '_sys_option_per_page_browse_showcase', 'digit', '', '', '', 15),
 ('bx_posts_rss_num', '10', @iCategId, '_bx_posts_option_rss_num', 'digit', '', '', '', 20),
-('bx_posts_searchable_fields', 'title,text', @iCategId, '_bx_posts_option_searchable_fields', 'list', '', '', 'a:2:{s:6:"module";s:8:"bx_posts";s:6:"method";s:21:"get_searchable_fields";}', 30),
-('bx_posts_per_page_browse_showcase', '32', @iCategId, '_sys_option_per_page_browse_showcase', 'digit', '', '', '', 10)
-;
+('bx_posts_searchable_fields', 'title,text', @iCategId, '_bx_posts_option_searchable_fields', 'list', '', '', 'a:2:{s:6:"module";s:8:"bx_posts";s:6:"method";s:21:"get_searchable_fields";}', 30);
 
 -- PAGE: create entry
 
@@ -154,15 +153,15 @@ INSERT INTO `sys_pages_blocks` (`object`, `cell_id`, `module`, `title`, `designb
 -- PAGE: service blocks
 
 SET @iBlockOrder = (SELECT `order` FROM `sys_pages_blocks` WHERE `object` = '' AND `cell_id` = 0 ORDER BY `order` DESC LIMIT 1);
-INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `order`) VALUES 
-('', 0, 'bx_posts', '_bx_posts_page_block_title_recent_entries', 11, 2147483647, 'service', 'a:3:{s:6:\"module\";s:8:\"bx_posts\";s:6:\"method\";s:13:\"browse_public\";s:6:\"params\";a:3:{s:9:\"unit_view\";s:7:\"gallery\";s:13:\"empty_message\";b:1;s:13:\"ajax_paginate\";b:0;}}', 0, 1, IFNULL(@iBlockOrder, 0) + 1),
-
-('', 0, 'bx_posts', '_bx_posts_page_block_title_recent_entries_view_full', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:8:"bx_posts";s:6:"method";s:13:"browse_public";s:6:"params";a:1:{i:0;s:4:"full";}}', 0, 1, IFNULL(@iBlockOrder, 0) + 2),
-('', 0, 'bx_posts', '_bx_posts_page_block_title_popular_entries_view_extended', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:8:"bx_posts";s:6:"method";s:14:"browse_popular";s:6:"params";a:1:{i:0;s:8:"extended";}}', 0, 1, IFNULL(@iBlockOrder, 0) + 3),
-('', 0, 'bx_posts', '_bx_posts_page_block_title_popular_entries_view_full', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:8:"bx_posts";s:6:"method";s:14:"browse_popular";s:6:"params";a:1:{i:0;s:4:"full";}}', 0, 1, IFNULL(@iBlockOrder, 0) + 4),
-('', 0, 'bx_posts', '_bx_posts_page_block_title_recent_entries_view_showcase', 11, 2147483647, 'service', 'a:3:{s:6:\"module\";s:8:\"bx_posts\";s:6:\"method\";s:13:\"browse_public\";s:6:\"params\";a:3:{s:9:\"unit_view\";s:8:\"showcase\";s:13:\"empty_message\";b:1;s:13:\"ajax_paginate\";b:0;}}', 0, 1, IFNULL(@iBlockOrder, 0) + 5),
-('', 0, 'bx_posts', '_bx_posts_page_block_title_popular_entries_view_showcase', 11, 2147483647, 'service', 'a:3:{s:6:\"module\";s:8:\"bx_posts\";s:6:\"method\";s:13:\"browse_popular\";s:6:\"params\";a:3:{s:9:\"unit_view\";s:8:\"showcase\";s:13:\"empty_message\";b:1;s:13:\"ajax_paginate\";b:0;}}', 0, 1, IFNULL(@iBlockOrder, 0) + 6),
-('', 0, 'bx_posts', '_bx_posts_page_block_title_featured_entries_view_showcase', 11, 2147483647, 'service', 'a:3:{s:6:\"module\";s:8:\"bx_posts\";s:6:\"method\";s:15:\"browse_featured\";s:6:\"params\";a:3:{s:9:\"unit_view\";s:8:\"showcase\";s:13:\"empty_message\";b:1;s:13:\"ajax_paginate\";b:0;}}', 0, 1, IFNULL(@iBlockOrder, 0) + 7);
+INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title_system` , `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `order`) VALUES 
+('', 0, 'bx_posts', '', '_bx_posts_page_block_title_recent_entries', 11, 2147483647, 'service', 'a:3:{s:6:\"module\";s:8:\"bx_posts\";s:6:\"method\";s:13:\"browse_public\";s:6:\"params\";a:3:{s:9:\"unit_view\";s:7:\"gallery\";s:13:\"empty_message\";b:1;s:13:\"ajax_paginate\";b:0;}}', 0, 1, IFNULL(@iBlockOrder, 0) + 1),
+
+('', 0, 'bx_posts', '', '_bx_posts_page_block_title_recent_entries_view_full', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:8:"bx_posts";s:6:"method";s:13:"browse_public";s:6:"params";a:1:{i:0;s:4:"full";}}', 0, 1, IFNULL(@iBlockOrder, 0) + 2),
+('', 0, 'bx_posts', '', '_bx_posts_page_block_title_popular_entries_view_extended', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:8:"bx_posts";s:6:"method";s:14:"browse_popular";s:6:"params";a:1:{i:0;s:8:"extended";}}', 0, 1, IFNULL(@iBlockOrder, 0) + 3),
+('', 0, 'bx_posts', '', '_bx_posts_page_block_title_popular_entries_view_full', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:8:"bx_posts";s:6:"method";s:14:"browse_popular";s:6:"params";a:1:{i:0;s:4:"full";}}', 0, 1, IFNULL(@iBlockOrder, 0) + 4),
+('', 0, 'bx_posts', '_bx_posts_page_block_title_sys_recent_entries_view_showcase', '_bx_posts_page_block_title_recent_entries_view_showcase', 11, 2147483647, 'service', 'a:3:{s:6:\"module\";s:8:\"bx_posts\";s:6:\"method\";s:13:\"browse_public\";s:6:\"params\";a:3:{s:9:\"unit_view\";s:8:\"showcase\";s:13:\"empty_message\";b:1;s:13:\"ajax_paginate\";b:0;}}', 0, 1, IFNULL(@iBlockOrder, 0) + 5),
+('', 0, 'bx_posts', '_bx_posts_page_block_title_sys_popular_entries_view_showcase', '_bx_posts_page_block_title_popular_entries_view_showcase', 11, 2147483647, 'service', 'a:3:{s:6:\"module\";s:8:\"bx_posts\";s:6:\"method\";s:13:\"browse_popular\";s:6:\"params\";a:3:{s:9:\"unit_view\";s:8:\"showcase\";s:13:\"empty_message\";b:1;s:13:\"ajax_paginate\";b:0;}}', 0, 1, IFNULL(@iBlockOrder, 0) + 6),
+('', 0, 'bx_posts', '_bx_posts_page_block_title_sys_featured_entries_view_showcase', '_bx_posts_page_block_title_featured_entries_view_showcase', 11, 2147483647, 'service', 'a:3:{s:6:\"module\";s:8:\"bx_posts\";s:6:\"method\";s:15:\"browse_featured\";s:6:\"params\";a:3:{s:9:\"unit_view\";s:8:\"showcase\";s:13:\"empty_message\";b:1;s:13:\"ajax_paginate\";b:0;}}', 0, 1, IFNULL(@iBlockOrder, 0) + 7);
 
 
 -- MENU: add to site menu

+ 6 - 4
modules/boonex/russian/data/langs/bx_posts/ru.xml

@@ -117,6 +117,12 @@
     <string name="_bx_posts_page_block_title_cats"><![CDATA[Категории публикаций]]></string>
     <string name="_bx_posts_page_block_title_entry_info"><![CDATA[Инфо]]></string>
     <string name="_bx_posts_page_block_title_my_entries"><![CDATA[Мои публикации]]></string>
+    <string name="_bx_posts_page_block_title_sys_recent_entries_view_showcase"><![CDATA[[Последние публикации (Витринный просмотр)]]></string>
+    <string name="_bx_posts_page_block_title_recent_entries_view_showcase"><![CDATA[Последние публикации]]></string>
+    <string name="_bx_posts_page_block_title_sys_popular_entries_view_showcase"><![CDATA[[Популярные публикации (Витринный просмотр)]]></string>
+    <string name="_bx_posts_page_block_title_popular_entries_view_showcase"><![CDATA[Популярные публикации]]></string>
+    <string name="_bx_posts_page_block_title_sys_featured_entries_view_showcase"><![CDATA[[Продвинутые публикации (Витринный просмотр)]]></string>
+    <string name="_bx_posts_page_block_title_featured_entries_view_showcase"><![CDATA[Продвинутые публикации]]></string>
 
     <string name="_bx_posts_menu_set_title_view_entry"><![CDATA[Публикация - Действия]]></string>
     <string name="_bx_posts_menu_title_view_entry"><![CDATA[Публикация - Действия]]></string>
@@ -217,8 +223,4 @@
     <string name="_bx_posts_txt_sample_single_with_article"><![CDATA[публикация]]></string>
     <string name="_bx_posts_txt_sample_comment_single"><![CDATA[комментарий к публикации]]></string>
     <string name="_bx_posts_txt_sample_vote_single"><![CDATA[голос за публикацию]]></string>
-	
-	<string name="_bx_posts_page_block_title_recent_entries_view_showcase"><![CDATA[Последние публикации (Витринный просмотр)]]></string>
-	<string name="_bx_posts_page_block_title_popular_entries_view_showcase"><![CDATA[Популярные публикации (Витринный просмотр)]]></string>
-	<string name="_bx_posts_page_block_title_featured_entries_view_showcase"><![CDATA[Продвинутые публикации (Витринный просмотр)]]></string>
 </resources>