[SMARTY] Stronicowanie i wyświetlanie linków |
[SMARTY] Stronicowanie i wyświetlanie linków |
11.04.2011, 23:43:34
Post
#1
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 96 Dołączył: 10.04.2008 Skąd: Koszalin Ostrzeżenie: (0%) |
Tworzę system do wyświetlania informacji z tablicy, rekordów będzie dużo więc wykorzystałem paginację. Znalazłem klasę do SMARTY, która załatwia to w łatwy sposób.
Klasa: http://www.lotsofcode.com/download/php-array-pagination.zip http://www.lotsofcode.com/php/smarty-pagination.htm Mój problem polega na tym, że nie wiem jak przerobić klasę aby linki do stron wyglądały np. tak: 1 2 3 ...13 14 15 ... 21 22 23 Teraz wyświetlane są wszystkie linki do stron czyli: 1 2 3 4 5 6 7 8 .... itp. Przy dużej ilości stron nie wygląda to zbyt ładnie, może ktoś pomoże w przerobieniu klasy lub posiada inną pod SMARTY, która umożliwi ustawienie tego. Dane w szablonie pobieram na razie w podobny sposób jak na stronie autora klasy:
-------------------- |
|
|
7.08.2012, 23:35:01
Post
#2
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 23.08.2007 Ostrzeżenie: (0%) |
Rozwiązałeś jakoś ten problem? Albo ktos inny? Bo też potrzebuję czegoś takiego.
|
|
|
4.09.2012, 10:46:14
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 18.08.2012 Ostrzeżenie: (0%) |
Ja bym zrobił coś takiego
{if !empty($listing)} {if !empty($pagination)} <div class="pagination">{$pagination}</div> {/if} {$a = 0}// ustawienie jakiejś zmiennej która się zwiększa o jeden co pętla przetwarza tablice {foreach item="item" from="$listing"} {if $a < 3} //wyświetla tylko trzy pierwsze linki <tr> <td>{$item.id}</td> <td>{$item.title}</td> </tr> {else if $a >= (($listing.length / 2)-1) && $a <= (($listing.length / 2)+1)}//wyświetla trzy środkowe linki <tr> <td>{$item.id}</td> <td>{$item.title}</td> </tr> {else if $a >= ($listing.length - 3) && $a < $listing.length}//wyświetla trzy ostatnie linki <tr> <td>{$item.id}</td> <td>{$item.title}</td> </tr> {/if} {$a++} // a tu się ta zmienna powiększa o jeden {/foreach} {/if} Nie zaglądałem do kodu więc nie wiem skąd się bierze dane i co w nich jest ale do wyświetlania linków jak 1 2 3 ....... 9 10 11.........18 18 20 bym tak zrobił.Pewnie się da to prościej zrobić ale sam zaczynam z programowaniem. Ten post edytował snakee 4.09.2012, 10:55:51 |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 11:11 |