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:
$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ę:
<?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.

<?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ł:
include('includes/Pager.class.php');
            include('includes/EPager.class.php');

            $orders = array('id', 'nazwa', 'data', 'autor'); // Opcje sortowania
            $pager = new EPager('admin', null, false, $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
$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

Skrypty użytkowników

  1. Klasa obsługi szablo... Lirdoner
  2. Sekcje user76
  3. Klasa walidująca for... user76
  4. Licznik Gości online korey
  5. Form Builder Comandeer
  6. Dynamiczny licznik z... korey
  7. Captcha Comandeer