Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Stronicowanie w IPS 4.1


Rekomendowane odpowiedzi

  • Manager

Listę - w jaki sposób ją generujesz? Pokaż kod.

Generalnie musisz przejrzeć kod IPS4, gdzie są odwołania do paginacji (jeśli to co robisz nie opiera się na Content czy innej formie gdzie paginacja jest dostępna). Przykład z brzegu z messengera:

		$pagination = \IPS\Theme::i()->getTemplate( 'global', 'core', 'global' )->pagination( $baseUrl->setQueryString('_list', 1), ceil( $count / $perPage ), ( \IPS\Request::i()->listPage ?: 1 ), $perPage, TRUE, 'listPage' );

Ale tak jak mówię - nie ma gotowego rozwiązania, trzeba się wgryźć i kombinować.

Trochę info znalazłem: https://invisionpower.com/4guides/themes-and-customizations/javascript-framework/using-ui-widgets/ipsuipagination-r51/

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

kontroler:

		$bans = [];
		foreach (\IPS\Db::i( 'amx_db' )->select('*', 'amx_bans', NULL, 'ban_created DESC') as $ban) {
            if ($ban['ban_length'] == 0) {
				$ban['time'] = 'Permanent';
			} elseif ($ban['ban_length'] == -1) {
				$ban['time'] = 'Permanent';
			} elseif ($ban['ban_length'] > 59) {
				$ban['__ban_length'] = floor($ban['ban_length'] / 60);
				$ban['time'] = ''.$ban['__ban_length'].' godzin';
				if ($ban['__ban_length'] == 168) {
					$ban['time'] = 'tydzień';
				}
			} else {
				$ban['time'] = $ban['ban_length'].' minut';
			}

			if ($ban['expired'] == 0 && ($ban['ban_length'] + $ban['ban_created']) > time()) {
    			$ban['expired'] == 1;
   			}

			$ban['ban_created'] = gmdate("d.m.Y, H:i:s", $ban['ban_created']);

			if (empty($ban['ban_reason'])) {
				$ban['ban_reason'] = 'Brak informacji';
			}

			$bans[] = $ban;
		}
		
		return \IPS\Theme::i()->getTemplate( 'main' )->bansArea( $bans );

szablon:

<ips:template parameters="$bans" />
<h2 class="ipsType_sectionTitle ipsType_medium ipsType_reset ipsClear">{lang="amxpanel_przeglad"}</h2>
<table class="ipsTable ipsTable_responsive ipsTable_zebra" style="text-align: center;">
	<thead>
		<tr class="ipsAreaBackground">
			<th style="text-align: center;">{lang="amxpanel_player"}</th>
			<th style="text-align: center;">{lang="amxpanel_powod"}</th>
			<th style="text-align: center;">{lang="amxpanel_nadany"}</th>
			<th style="text-align: center;">{lang="amxpanel_admin"}</th>
			<th style="text-align: center;">{lang="amxpanel_timeban"}</th>
			<th style="text-align: center;">{lang="amxpanel_status"}</th>
			<th style="text-align: center;">{lang="amxpanel_cinfo"}</th>
		</tr>
	</thead>
	<tbody data-role="tableRows">
		{{foreach $bans as $a}}
		<tr class="ipsDataItem ipsClearfix">
			<td>{$a['player_nick']}</td>
			<td>{$a['ban_reason']}</td>
			<td>{$a['ban_created']}</td>
			<td>{$a['admin_nick']}</td>
			<td>{$a['time']}</td>
			<td>{{if ($a['expired'] == 0)}}<font color="red"><i class="fa fa-minus-circle"></i> {lang="amxpanel_active"}</font>{{else}}<font color="green"><i class="fa fa-plus-circle"></i> {lang="amxpanel_nonadctive"}</font>{{endif}}</td>
			<td><a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" data-ipsdialog data-ipsdialog-url='{url="app=amxpanel&module=main&controller=index&area=ajaxshowban&id={$a['bid']}" seoTemplate="amxpanel"}' data-ipsdialog-title="{$a['player_nick']}">{lang="amxpanel_look"}</a></td>
		</tr>
		{{endforeach}}
	</tbody>
</table>

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.