Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [vste]Stronicowanie
Joachim Peters
post
Post #1





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


Witam,

Ostatnio przyszły mi plany na napisanie własnego cms, ma opierać się on na systemie szablonów podobnym do tego zastosowanego w skrypcie forum phpBB.
Narazie obmyślam jak to wszystko ma wyglądać, ale natrafiłem na jeden problem, który dotyczy właśnie stronicowania.
Jak mam połączyć ten kod z tym systemem szablonów
  1. <?php
  2. [...]
  3. if ($strona != 0) echo "<a href=?strona=" . ($strona-1) . ">Poprzednia</a> ";
  4.  
  5. for($i = 0; $i < ceil($size / $naStronie); $i++) {
  6. if ($strona == $i) echo " <span style="font-size: 10px">[<b>" . ($i + 1) . "</b>]</span>";
  7. else echo " <a href=?strona=$i>(" . ($i + 1) . ")</a>";
  8. } 
  9.  
  10. if ($strona < ceil($size / $naStronie)-1) echo " <a href=?strona=" . ($strona + 1) . ">Następna</a>";
  11. [...]
  12. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
piczu
post
Post #2





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 4.01.2005
Skąd: piczu.info

Ostrzeżenie: (10%)
X----


nie wiem jakw phpBB ale w smarty to jest tak
  1. <?php
  2. $smarty->assign("strona",$strona);
  3. $smarty->assign("strony",ceil($size / $naStronie));
  4. ?>

i smarty
Kod
{if $strona neq 0}                                                              
<a href=?strona={$strona-1}>Poprzednia</a>                                      
{/if}                                                                          
{section name=$nr loop=$strony}                                                
    {if $strona eq $nr}                                                        
    <span>[{$nr+1}]</span>                                                      
    {else}                                                                      
    <a href=?strona=$nr>({$nr+1})</a>                                          
    {/if}                                                                      
{/section}                                                                      
{if $strona lt $strony-1}                                                      
<a href=?strona={$strona+1}>Poprzednia</a>                                      
{/if}
Go to the top of the page
+Quote Post
Joachim Peters
post
Post #3





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


W tym systemie szablonów wygląda to tak:
  1. <?php
  2. $template->assign_body('demo.tpl', 'demo');
  3.  
  4. $template->assign_vars( array(
  5. 'TEST' => 'test'
  6. ));
  7.  
  8. $template->assign_loop_vars('news', array(
  9. 'TITLE' => 'News'
  10. ));
  11.  
  12. $template->display_body();
  13. ?>


i tpl wygląda np. tak

  1. <b>{TEST}</b>
  2. <!-- BEGIN news -->
  3. {news.TITLE}
  4. <!-- END news -->



teraz zrobiłem tak, ale nie wiem czy kod jest poprawnie napisany:
  1. <?php
  2. $to = "";
  3. if ($strona != 0) $to .= "<a href=?m=coments&n=" . $n . "&strona=" . ($strona-1) . ">Poprzednia</a> ";
  4.  
  5. for($i = 0; $i < ceil($size / $naStronie); $i++) {
  6. if ($strona == $i) $to .= " <span style="font-size: 10px">[<b>" . ($i + 1) . "</b>]</span>";
  7. else $to .= " <a href=?m=coments&n=" . $n . "&strona=$i>(" . ($i + 1) . ")</a>";
  8. } 
  9.  
  10. if ($strona < ceil($size / $naStronie)-1) $to .= " <a href=?m=coments&n=" . $n . "&strona=" . ($strona + 1) . ">Następna</a>";
  11.  
  12. $template->assign_vars(array(
  13. 'PAGER' => $to
  14. ));
  15. ?>


Ten post edytował d@ro 25.07.2006, 16:17:27
Go to the top of the page
+Quote Post
piczu
post
Post #4





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 4.01.2005
Skąd: piczu.info

Ostrzeżenie: (10%)
X----


w kodzie php nie moze byc zadnego znacznika HTML. Czyli:
  1. <?php
  2. $template->assign_body('demo.tpl', 'demo');
  3.  
  4. $template->assign_vars( array(
  5. 'strona' => $strona,
  6. 'strony' => ceil($size / $naStronie)
  7.  
  8. $template->display_body();
  9. ?>

a reszta (warunki i petla) w tpl
Go to the top of the page
+Quote Post
Joachim Peters
post
Post #5





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


Nie rozumiesz, że to nie są smarty ;]
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.09.2025 - 11:35