Jump to content

Проблемы с Таблицей лидеров/Leaderboard

Featured Replies

Ребят, подскажите, куда копнуть.

Хочу сменить на главной странице Таблице лидеров количество их, сделать вместо стандартных 4-х восемь.

Казалось бы простая задача, в настройках выставляю количество на основной странице - 8 и оставляю только по репутации, что бы мне не показывала публикации.

Screenshot_86.thumb.png.0d8ca6b3066e66d09704fbb9327cea09.png

Настройки применяются, но при этом на самой странице Лидеров не меняется ни чего.

Проверил на двух сайтах, на одном лицензия, на другом мафиевский нуль.

Заранее спасибо.

Link to comment
https://ipbmafia.ru/topic/18595-problemy-s-tablicej-liderovleaderboard/
Share on other sites

Кеш форума чистили? 

Конечно

На дефолтном скрине тож проверял, результат одинаков

скине :)

Странность в том, что на обоих сайтах как написал такая хрень

последняя на лицензии и предпоследняя на нуле

Все, можно закрывать. Сам понял. Это все относится к ТОП пользователей, а не к Лидерам

:( а мне надо как раз лидеров сделать 8 штук а не 4

11 минут назад, VladOr сказал:

последняя на лицензии и предпоследняя на нуле

Все, можно закрывать. Сам понял. Это все относится к ТОП пользователей, а не к Лидерам

:( а мне надо как раз лидеров сделать 8 штук а не 4

Ковырять файл на вывод 8ми лидеров 

Уже ковыряю, может и получится.

Спасибо!

Видимо, утратил я уже сакральные знания.

Гуру, помогите разобраться.

Код построения строки из 4-х лидеров:

{{if count( $topContributors)}}
			{{$count = 0;}}
			<ol class="ipsPad ipsStream ipsList_reset cStream_members ipsGrid ipsGrid_collapsePhone" data-ipsGrid data-ipsGrid-minItemSize='230' data-ipsGrid-maxItemSize='500' data-ipsGrid-equalHeights='row'>
				{{foreach $topContributors as $memberId => $rep}}
					{{$count++;}}
					{{$member = \IPS\Member::load( $memberId );}}
					{template="memberRow" group="popular" app="core" params="$member, $rep, $count"}
				{{endforeach}}
			</ol>

	{{else}}
		<p class='ipsAreaBackground_light ipsType_center ipsPad ipsType_reset ipsType_light ipsType_normal'>
			{lang="popular_no_member_results"}
		</p>

Собственно, весь код из файла шаблона PopularWrapper:

{{if \IPS\Content\Search\Query::isRebuildRunning()}}
	<div class="ipsMessage ipsMessage_info">{lang="popular_rebuild_is_running"}</div>
{{endif}}
{{$now = \IPS\DateTime::ts( time() );}}
{{$thisUrl = \IPS\Request::i()->url();}}
<div>
    <div class="ipsAreaBackground_light">
        <div class="ipsReputationFilters ipsPad_half ipsClearfix ipsClear">
            {{if count( $dates )}}
            <ul class="ipsButtonRow ipsPos_right ipsClearfix">
                <li>
                    <a href='#elLeaderboard_app_menu' id="elLeaderboard_app" data-ipsMenu>{{if isset( \IPS\Request::i()->in ) and isset( $areas[ \IPS\Request::i()->in ] )}}{lang="leaderboard_in_app" sprintf="$areas[ \IPS\Request::i()->in ][1]"}{{else}}{lang="leaderboard_in_all_apps"}{{endif}} <i class="fa fa-caret-down"></i></a>
                    <ul id="elLeaderboard_app_menu" class="ipsMenu ipsMenu_selectable ipsMenu_normal ipsHide">
                        <li class="ipsMenu_item {{if ! isset( \IPS\Request::i()->in )}}ipsMenu_itemChecked{{endif}}"><a href="{$thisUrl->stripQueryString( 'in' )}">{lang="leaderboard_all_apps"}</a></li>
                        {{foreach $areas as $key => $data}}
                        <li class="ipsMenu_item {{if isset( \IPS\Request::i()->in ) and \IPS\Request::i()->in == $key}}ipsMenu_itemChecked{{endif}}"><a href="{$thisUrl->setQueryString( array( 'in' => $key ) )}">{$data[1]}</a></li>
                        {{endforeach}}
                    </ul>
                </li>
                <li>
                    <a href='#elLeaderboard_time_menu' id="elLeaderboard_time" data-ipsMenu>
                        {{if isset( \IPS\Request::i()->custom_date_start ) or isset( \IPS\Request::i()->custom_date_end )}}
                        {lang="custom_date"}
                        {{elseif isset( \IPS\Request::i()->time ) and isset( $dates[ \IPS\Request::i()->time ] ) and $setTime = \IPS\Request::i()->time}}
                        {lang="leaderboard_time_$setTime"}
                        {{else}}
                        {lang="leaderboard_time_oldest"}
                        {{endif}}
                        <i class="fa fa-caret-down"></i>
                    </a>
                    <ul id="elLeaderboard_time_menu" class="ipsMenu ipsMenu_selectable ipsMenu_normal ipsHide">
                        {{foreach $dates as $human => $timeObject}}
                        <li class="ipsMenu_item {{if ( ! isset( \IPS\Request::i()->time ) and ( ! isset( \IPS\Request::i()->custom_date_start ) and ! isset( \IPS\Request::i()->custom_date_end ) ) and $human == 'oldest' ) or ( ! isset( \IPS\Request::i()->custom_date_start ) and ( isset( \IPS\Request::i()->time ) and \IPS\Request::i()->time == $human ) )}}ipsMenu_itemChecked{{endif}}">
                            <a href="{$thisUrl->stripQueryString( array('custom_date_start', 'custom_date_end') )->setQueryString( array( 'time' => $human ) )}">
                                {lang="leaderboard_time_$human"}
                                <p class="ipsTruncate ipsTruncate_line ipsType_reset ipsType_light">
                                    {$timeObject->dayAndMonth()} {$timeObject->format('Y')}{{if $now->localeDate() != $timeObject->localeDate()}} - {$now->dayAndMonth()} {$now->format('Y')}{{endif}}
                                </p>
                            </a>
                        </li>
                        {{endforeach}}
                        <li class="ipsMenu_item {{if isset( \IPS\Request::i()->custom_date_start ) or isset( \IPS\Request::i()->custom_date_end )}}ipsMenu_itemChecked{{endif}}">
                            <a href="#" data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-content='#elDateForm' data-ipsDialog-title="{lang="custom_date"}">{lang="custom_date"}
                            {{if isset( \IPS\Request::i()->custom_date_start ) or isset( \IPS\Request::i()->custom_date_end )}}
                            <p class="ipsType_reset ipsType_light">
                                {{if isset( \IPS\Request::i()->custom_date_start )}}
                                {datetime="\IPS\Request::i()->custom_date_start" dateonly="true"}
                                {{if isset( \IPS\Request::i()->custom_date_end )}} - {{endif}}
                                {{endif}}
                                {{if isset( \IPS\Request::i()->custom_date_end )}}
                                {datetime="\IPS\Request::i()->custom_date_end" dateonly="true"}
                                {{endif}}
                            </p>
                            {{endif}}
                            </a>
                        </li>
                        <div class="ipsHide" id="elDateForm">
                            {$form|raw}
                        </div>
                    </ul>
                </li>
            </ul>
            {{endif}}
        </div>
	{{if count( $topContributors)}}
			{{$count = 0;}}
			<ol class="ipsPad ipsStream ipsList_reset cStream_members ipsGrid ipsGrid_collapsePhone" data-ipsGrid data-ipsGrid-minItemSize='230' data-ipsGrid-maxItemSize='500' data-ipsGrid-equalHeights='row'>
				{{foreach $topContributors as $memberId => $rep}}
					{{$count++;}}
					{{$member = \IPS\Member::load( $memberId );}}
					{template="memberRow" group="popular" app="core" params="$member, $rep, $count"}
				{{endforeach}}
			</ol>

	{{else}}
		<p class='ipsAreaBackground_light ipsType_center ipsPad ipsType_reset ipsType_light ipsType_normal'>
			{lang="popular_no_member_results"}
		</p>
    </div>
	{{endif}}
</div>
<hr class='ipsHr'>

<section class='ipsSpacer_top' data-controller='core.front.core.ignoredComments'>
	<h2 class='ipsType_sectionTitle ipsType_reset'>{lang="popular_results_title"}</h2>
	<div class='ipsAreaBackground_light ipsPad'>
		<div data-role='popularBody'>
			<p class="ipsType_reset ipsType_medium ipsSpacer_bottom"><i class='fa fa-calendar'></i> {$description}</p>
			<div data-role='popularResults'>
				<ol class='ipsStream ipsList_reset' data-role='popularContent'>
					{template="popularItems" group="popular" app="core" params="$results"}
				</ol>
			</div>
		</div>
	</div>
</section>
{{if $tzOffsetDifference !== NULL}}
	<div class='ipsPad ipsType_center ipsType_light ipsType_small'>
		{lang="popular_timezone" sprintf="\IPS\Member::loggedIn()->language()->addToStack('timezone__' . \IPS\Settings::i()->reputation_timezone), $tzOffsetDifference"}
	</div>
{{endif}}

Есть подозрение, что количество лидеров передается переменной $topContributors и просто правкой шаблона не обойтись. 

Прошу помощи.

Рискну предположить

/applications/core/modules/front/discover/popular.php

434 строка

foreach( \IPS\Db::i()->select( 'member, rep', array( $innerQuery, 'in' ), NULL, 'rep DESC', 4 )->setKeyField('member')->setValueField('rep') as $member => $rep )

замените 'rep DESC', 4 на 'rep DESC', 8

Очень похоже, щас проверю.

 

Да, это оно. Проверено, работает.

Спасибо!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.