Перейти к содержимому
Русский язык для Invision Community 5

Настройка приложения Membermap 3.5.1

Cтраница, где хотелось бы отсортировать маркеры по названию, а не по дате добавления/изменения.

Еще одна страница, где хотелось бы отсортировать названия групп маркеров по названию, а не по дате добавления.

 

3.5.1

3.5.1

Изменено пользователем Zero108

Рекомендованные сообщения

Cтраница, где хотелось бы отсортировать маркеры по названию, а не по дате добавления/изменения.

\applications\membermap\modules\front\markers\groups.php

Добавить, например, перед

$filterOptions = array(

$table->sortBy  = \IPS\Request::i()->sortBy ? $table->sortBy : 'title';
$table->sortDirection  = 'asc';

 

 

Еще одна страница, где хотелось бы отсортировать названия групп маркеров по названию, а не по дате добавления.

Шаблон index

{template="groupRow" group="markers" params="NULL, NULL, \IPS\membermap\Markers\Groups::roots( 'view' )"}

заменить на

          {{$groups = \IPS\membermap\Markers\Groups::roots('view');}}
         {{usort($groups, function( $a, $b ) {$n1 = $a->_title; $n2 = $b->_title; \IPS\Member::loggedIn()->language()->parseOutputForDisplay($n1); \IPS\Member::loggedIn()->language()->parseOutputForDisplay($n2); return strcmp($n1, $n2);});}}
         {template="groupRow" group="markers" params="NULL, NULL, $groups"}

Изменено пользователем newbie

  • Автор

Вторая часть не работает: группы маркеров вообще не отображаются.

 

{{if !\IPS\Request::i()->isAjax()}}
<div class="ipsPageHeader ipsPad_half ipsClearfix ipsSpacer_bottom" data-ipsSticky data-ipsSticky-disableIn='phone'>
	<h1 class="ipsType_pageTitle">{lang="membermap_marker_groups"}</h1>
</div>
<div class='ipsBox'>
	<h2 class='ipsType_sectionTitle ipsType_reset'>{lang="membermap_groups"}</h2>
{{endif}}
	<ol class="ipsDataList">
		{template="groupRow" group="markers" params="NULL, NULL, usort(\IPS\membermap\Markers\Groups::roots('view'), function($a, $B) {$n1 = $a->_title; $n2 = $b->_title; \IPS\Member::loggedIn()->language()->parseOutputForDisplay($n1); \IPS\Member::loggedIn()->language()->parseOutputForDisplay($n2); return strcmp($n1, $n2);})"}
	</ol>
{{if !\IPS\Request::i()->isAjax()}}	
</div>
{{endif}}

Изменено пользователем Zero108

Вторая часть не работает: группы маркеров вообще не отображаются.

 

Потому что форум изменил код

function($a, $B)

b должна быть, а не B

  • Автор

Так тоже не работает: ничего не отображается (добавил пробел после b, чтобы не менялась тут):

 

{{if !\IPS\Request::i()->isAjax()}}
   <div class="ipsPageHeader ipsPad_half ipsClearfix ipsSpacer_bottom" data-ipsSticky data-ipsSticky-disableIn='phone'>
       <h1 class="ipsType_pageTitle">{lang="membermap_marker_groups"}</h1>
   </div>
   <div class='ipsBox'>
       <h2 class='ipsType_sectionTitle ipsType_reset'>{lang="membermap_groups"}</h2>
{{endif}}
       <ol class="ipsDataList">
           {template="groupRow" group="markers" params="NULL, NULL, usort(\IPS\membermap\Markers\Groups::roots('view'), function($a, $b ) {$n1 = $a->_title; $n2 = $b->_title; \IPS\Member::loggedIn()->language()->parseOutputForDisplay($n1); \IPS\Member::loggedIn()->language()->parseOutputForDisplay($n2); return strcmp($n1, $n2);})"}
       </ol>
{{if !\IPS\Request::i()->isAjax()}} 
   </div>
{{endif}}

Изменено пользователем Zero108

Поправил пост

  • Автор

Заработало. Спасибо!

Изменено пользователем Zero108

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.