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

Ticket #4253 - Studio: Hardcoded directions in Search Sortable Fields.

AntonLV 3 лет назад
Родитель
Сommit
cd0ab310f1

+ 2 - 0
modules/boonex/english/data/langs/system/en.xml

@@ -82,6 +82,8 @@
 	<string name="_No actions allowed for this membership"><![CDATA[No actions allowed for this membership]]></string>
 	<string name="_No such comment"><![CDATA[No such comment]]></string>
 	<string name="_Ok"><![CDATA[OK]]></string>
+        <string name="_order_asc"><![CDATA[asc]]></string>
+        <string name="_order_desc"><![CDATA[desc]]></string>
 	<string name="_Period"><![CDATA[Period]]></string>
 	<string name="_Please Wait"><![CDATA[Please Wait]]></string>
 	<string name="_Please enter n1-n2 characters"><![CDATA[Please enter {0}-{1} characters]]></string>

+ 2 - 0
modules/boonex/russian/data/langs/system/ru.xml

@@ -82,6 +82,8 @@
 	<string name="_No actions allowed for this membership"><![CDATA[Нет разрешённых действий для данного членства]]></string>
 	<string name="_No such comment"><![CDATA[Нет такого комментария]]></string>
 	<string name="_Ok"><![CDATA[ОК]]></string>
+        <string name="_order_asc"><![CDATA[по возрастанию]]></string>
+        <string name="_order_desc"><![CDATA[по убыванию]]></string>
 	<string name="_Period"><![CDATA[Период]]></string>
 	<string name="_Please Wait"><![CDATA[Пожалуйста, подождите]]></string>
 	<string name="_Please enter n1-n2 characters"><![CDATA[Пожалуйста, введите {0}-{1} символов]]></string>

+ 13 - 3
template/scripts/BxBaseSearchExtended.php

@@ -182,15 +182,25 @@ class BxBaseSearchExtended extends BxDolSearchExtended
     	$sResults = '';
     	foreach($aResults as $iId)
     	    $sResults .= $oContentInfo->getContentSearchResultUnit($iId, $sUnitTemplate); 
-        
+
+        $aTxtDirection = [
+            'asc' => _t('_order_asc'),
+            'desc' => _t('_order_desc')
+        ];
+
         $sSort = '';
         if ($sResults != ''){
 
             $aData = $this->_aObject['sortable_fields'];
             $aValues = [];
             foreach($aData as $aField) {
-                if ($aField['active'] == 1)
-                    $aValues[$aField['name'] . ':' . $aField['direction']] = _t($aField['caption']) . ' ' . $aField['direction'];
+                if ($aField['active'] == 0)
+                    continue;
+
+                $sLangKey = $aField['caption'] . '_' . $aField['direction'];
+                $sLangVal = _t($sLangKey);
+
+                $aValues[$aField['name'] . ':' . $aField['direction']] = strcmp($sLangKey, $sLangVal) != 0 ? $sLangVal : _t($aField['caption']) . ' ' . $aTxtDirection[$aField['direction']];
             }
             
             if (!empty($aValues)){