Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для 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. Найдите Уведомления и измените свои настройки.