Jump to content

Пагинация (pagination) блоков


rustav

Recommended Posts

Всем привет!

У меня возник вопрос (идея?) о пагинации блоков для IPS. К примеру: мне нужно вывести последние сообщения от определенного пользователя  на форуме.

Создаю rss ленту этого пользователя на форуме → эту ленту креплю к форуму/теме → создаю блок с последними сообщениями из этой темы/форума → в блоке указываю показать по 10 сообщений. По факту же у этого пользователя гораздо больше сообщений.

И вот тут бы прикрутить как-то пагинацию. Что бы можно было листать остальные сообщения этого пользователя. 

вот код шаблона последних сообщений:

Спойлер

{{if !empty( $comments ) }}
	<h3 class='ipsType_reset ipsWidget_title'>{$title}</h3>
	{{if $orientation == 'vertical'}}
		<div class='ipsWidget_inner ipsPad_half'>
			<ul class='ipsDataList ipsDataList_reducedSpacing'>
				{{foreach $comments as $comment}}
					<li class='ipsDataItem'>
						<div class='ipsDataItem_icon ipsPos_top'>
							{template="userPhoto" group="global" app="core" params="$comment->author(), 'tiny'"}
						</div>
						<div class='ipsDataItem_main'>
							<a href="{$comment->url()}" title='{lang="view_this_topic" sprintf="$comment->item()->title"}' class='ipsType_medium ipsType_break'>{wordbreak="$comment->item()->title"}</a><br>
							<p class='ipsType_reset ipsType_light ipsType_medium ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$comment->author()->link()"} &middot; <a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->pid ) )}' class='ipsType_blendLinks'>{$comment->dateLine()|raw}</a></p>
							<div class='ipsType_medium ipsType_textBlock ipsType_richText ipsType_break ipsContained ipsSpacer_top ipsSpacer_half' data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='{{if $orientation == 'vertical'}}6 lines{{else}}2 lines{{endif}}'>
								{$comment->truncated( true )|raw}
							</div>
						</div>
					</li>
				{{endforeach}}
			</ul>
		</div>
	{{else}}
		<div class='ipsWidget_inner'>
			<ul class='ipsDataList'>
				{{foreach $comments as $comment}}
					<li class='ipsDataItem ipsClearfix'>
						<div class='ipsComment_header ipsPhotoPanel ipsPhotoPanel_mini'>
							{template="userPhoto" app="core" group="global" params="$comment->author(), 'mini', $comment->warningRef()"}
							<div>
								<p class='ipsPos_right ipsType_reset ipsType_blendLinks'>
									<a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->pid ) )}' data-ipsTooltip title='{lang="share_this_comment"}' data-ipsMenu data-ipsMenu-closeOnClick='false' id='elShareComment_{$comment->pid}' data-role='shareComment'><i class='fa fa-share-alt'></i></a>
								</p>
								<h3 class='ipsComment_author ipsType_blendLinks'>
									<strong class='ipsType_normal'>{template="userLink" app="core" group="global" params="$comment->author(), $comment->warningRef()"}</strong>
									{template="reputationBadge" group="global" app="core" params="$comment->author()"}
								</h3>
								<p class='ipsComment_meta ipsType_light ipsType_medium'>
									<a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->pid ) )}' class='ipsType_blendLinks'>{$comment->dateLine()|raw}</a>
									{{if $comment->editLine()}}
										({lang="edited_lc"})
									{{endif}}
									{{if $comment->hidden()}}
										&middot; {$comment->hiddenBlurb()}
									{{endif}}
									{{if $comment instanceof \IPS\Content\ReportCenter and !\IPS\Member::loggedIn()->group['gbw_no_report'] and $comment->hidden() !== 1 }}
										&middot; <a href='{$comment->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}" data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a>
									{{endif}}
								</p>
					
								{{if member.modPermission('mod_see_warn') and $comment->warning}}
									{template="commentWarned" group="global" app="core" params="$comment"}
								{{endif}}
							</div>
						</div>

						<div class='ipsPad ipsClearfix'>
							<a href="{$comment->url()}" title='{lang="view_this_topic" sprintf="$comment->item()->title"}' class='ipsDataItem_title ipsType_break'>{wordbreak="$comment->item()->title"}</a><br>
							<div data-role='commentContent' class='ipsType_normal ipsType_richText ipsType_break ipsContained' data-controller='core.front.core.lightboxedImages'>
								{{if $comment->hidden() === 1 && $comment->author()->member_id == \IPS\Member::loggedIn()->member_id}}
									<strong class='ipsType_medium ipsType_warning'><i class='fa fa-info-circle'></i> {lang="comment_awaiting_approval"}</strong>
								{{endif}}
								{$comment->content()|raw}
								
								{{if $comment->editLine()}}
									{$comment->editLine()|raw}
								{{endif}}
							</div>
							
							{{if $comment->hidden() !== 1 && $comment instanceof \IPS\Content\Reputation and settings.reputation_enabled}}
								{template="reputation" group="global" app="core" params="$comment, 'ipsPos_right ipsResponsive_noFloat'"}
							{{endif}}
						</div>
					</li>
				{{endforeach}}
			</ul>
		</div>
	{{endif}}
{{endif}}

 

Может у кого есть опыт подобного или знания в таком направлении? Или же есть какое-то решение в данном вопросе?

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.

  • Recently Browsing   0 members

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