Jump to content

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


VladOr
 Share

Recommended Posts

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

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

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

Screenshot_86.thumb.png.0d8ca6b3066e66d09704fbb9327cea09.png

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

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

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

Link to comment
Share on other sites

Конечно

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

скине :)

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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

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

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

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

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

Link to comment
Share on other sites

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

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

Код построения строки из 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 и просто правкой шаблона не обойтись. 

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

Link to comment
Share on other sites

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

/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

Link to comment
Share on other sites

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
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Ваша ссылка была автоматически строена.   Отображать как обычную ссылку

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...