Pager i epager pod klase templeate.

2012-02-22 20:59:25 Post #1 gość_XxDrago

 
Aktualnie jestem podczas poszerzania swojej wiedzy na temat php staram się napisać swój pierwszy optymalny CMS, i chciałem prosić o pomoc jak zmodernizować tą klasę aby ładnie wyciągnąć z niej zmienne (nie cały link) do klasy w formie:
1
2
3
4
5
6
7
8
$tpl->set_var(pierwsza'$zmienna_twojej_klasy )); // Pierwsza strona (znacznik pierwszej strony moze byc pusty).

$tpl->set_var(ostatnia, '
$zmienna_twojej_klasy )); // ostatnia strona (znacznik osatniej strony moze byc pusty)

$tpl->set_var(aktualna$zmienna_twojej_klasy )); // aktualna wybrana strona (znacznik aktualnej strony)



no i reszta czyli wszystkie strony jest taka możliwość?

2012-02-23 08:12:14 Post #2 nospor

 
Pager zwraca tablicę:
1
2
3
4
<?php
    $pager
->Make(true); // o to zwraca tablicę
    
$pag $pager->Render(); //a to generuje kod pagera
?>

No i masz dwie możliwości:
albo wpisujesz tablicę do szablonu i ją przetwarzasz,
albo wpisujesz do szablonu kod pagera i go poprostu w szablon wstawiasz
Twoja wola.

1
2
3
4
5
6
<?php
$tab 
$pager->Make(true); // o to zwraca tablicę
$pag $pager->Render(); //a to generuje kod pagera
$tpl->set_var('tablica'$tab);
$tpl->set_var('pager'$pag);
?>

2012-02-23 14:29:33 Post #3 gość_XxDrago

 
O to mi chodziło dziękuje..

Teraz druga sprawa czy to jest dobry pomysł:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
            include('includes/Pager.class.php');
            include(
'includes/EPager.class.php');

            
$orders = array('id''nazwa''data''autor'); // Opcje sortowania
            
$pager = new EPager('admin'nullfalse$orders); // stworzenie obiektu pagera
            
$pager->RecordsPerPage 5// Ilosc rekordow na stronie.
            // Wyswietlamy zarzadzanie newsami
            
$sql 'SELECT * FROM newsy';
            
$sqlCount preg_replace('/select.*?from/i''select count(*) from'$sql);
            
$res $db->query($sqlCount);
            
$row $res->fetch_array();
            
$sql $pager->Generate($sql$row[0]);


            
$headers = array('id' => '''nazwa' => '''data' => '''autor' => '');
            
$pager->OrderHeader($headers);

            
$zap_news $db->query($sql);
            
$tpl->set_var('ZABEZPIECZENIE''');
            
$tpl->set_var('nazwa_sort'$headers['nazwa']['LINK']);
            
$tpl->set_var('data_sort'$headers['data']['LINK']);
            
$tpl->set_var('autor_sort'$headers['autor']['LINK']);


Ponieważ nie mogę, wysłać zapytania z twojej klasy?

2012-02-23 14:39:39 Post #4 nospor

 
Zakładam, że zmodyfikowałeś metodę Generate o fakt, że zapodajesz jej już wyliczoną liczbę rekordów. W takim przypadku tak, jest to dobry sposób

2012-02-23 15:10:41 Post #5 gość_XxDrago

 
dokładnie tak jak napisałeś, tylko dlaczego
1
2
3
$pag $pager->Render(); //a to generuje kod pagera
$tpl->set_var('tablica'$tab); 

Zmienna $tab zwraca mi 1 ?

2012-02-23 15:17:09 Post #6 nospor

 
Mój błąd.....

Po wykonaniu Make() masz pobrać tę tablicę:
$tab = $pager->GetArray();

2012-02-23 15:23:47 Post #7 gość_XxDrago

 
Może głupie pytanie, ale jak mogę sprawdzić co zawiera ta tablica?

2012-02-23 15:43:38 Post #8 nospor

 
print_r

Odpowiedz