oto wersja 0.0.0.0.0.123xr54 i 4 marchweki (IMG:
style_emoticons/default/sciana.gif)
a oto kodzik który w całości można zaimplementować w smartach:
np. plik porcjowanie.tpl
{if $param.iloscStron > 0}
{strip}
{math equation='(x * y) + z' x=2 y=$param.promien z=1 assign="iloscStronDoWyswietlenia"}
{if ($param.iloscStron <= $iloscStronDoWyswietlenia)}
{if ($param.iloscStron < $iloscStronDoWyswietlenia)}
{math equation='x' x=1 assign="stronyOdLewej"}
{math equation='x' x=$param.iloscStron assign="stronyOdPrawej"}
{else}
{math equation='x' x=1 assign="stronyOdLewej"}
{math equation='x' x=$iloscStronDoWyswietlenia assign="stronyOdPrawej"}
{/if}
{elseif (($param.iloscStron > $iloscStronDoWyswietlenia) && ($param.wyswietlanaStrona > ($param.promien+1)) && ($param.wyswietlanaStrona <= ($param.iloscStron-$param.promien)))}
{math equation='x-y' x=$param.wyswietlanaStrona y=$param.promien assign="stronyOdLewej"}
{math equation='x+y' x=$param.wyswietlanaStrona y=$param.promien assign="stronyOdPrawej"}
{elseif (($param.iloscStron > $iloscStronDoWyswietlenia) && ($param.wyswietlanaStrona < $param.iloscStron))}
{if ($param.wyswietlanaStrona <= ($param.promien+1))}
{math equation='x' x=1 assign="stronyOdLewej"}
{math equation='x' x=$iloscStronDoWyswietlenia assign="stronyOdPrawej"}
{else}
{math equation='(z-x)-(x-(y-z))-q' q=1 x=$param.promien y=$param.iloscStron z=$param.wyswietlanaStrona assign="stronyOdLewej"}
{math equation='x' x=$param.iloscStron assign="stronyOdPrawej"}
{/if}
{elseif (($param.wyswietlanaStrona == $param.iloscStron))}
{math equation='x-y' x=$param.iloscStron y=$iloscStronDoWyswietlenia assign="stronyOdLewej"}
{math equation='x' x=$param.wyswietlanaStrona assign="stronyOdPrawej"}
{else}
{math equation='x' x=1 assign="stronyOdLewej"}
{math equation='x' x=$iloscStronDoWyswietlenia y=1 assign="stronyOdPrawej"}
{/if}
{/strip}
Strona {$param.wyswietlanaStrona} z {$param.iloscStron}<br />
<div class="sites">
{if $param.iloscStron > 1}
{if ($param.wyswietlanaStrona > 1)}
<a href="{$param.url|replace:'[__NUMER_STRONY__]':$param.wyswietlanaStrona-1}" title="« Poprzednia">
<span>«</span> Poprzednia
</a> {/if}
{section name=i start=$stronyOdLewej loop=$stronyOdPrawej+1}
{if ($smarty.section.i.index == $param.wyswietlanaStrona)}
<strong><a href="{$param.url|replace:'[__NUMER_STRONY__]':$smarty.section.i.index}" title="Przejdź do strony {$smarty.section.i.index} z {$param.iloscStron}">{$smarty.section.i.index}
</a></strong> {else}
<a href="{$param.url|replace:'[__NUMER_STRONY__]':$smarty.section.i.index}" title="Przejdź do strony {$smarty.section.i.index} z {$param.iloscStron}">{$smarty.section.i.index}
</a> {/if}
{/section}
{if ($param.wyswietlanaStrona < $param.iloscStron)}
<a href="{$param.url|replace:'[__NUMER_STRONY__]':$param.wyswietlanaStrona+1}" title="następna strona »">następna
<span>»</span></a> {/if}
{/if}
{/if}
A oto co potrzeba zapodać by działało (IMG:
style_emoticons/default/smile.gif)
<?php
$tpl = new smarty;
//....blebleble co kto tam chce sobie powpisywać
'iloscStron' => 50,
'wyswietlanaStrona' => (isset($_GET['i']) ?
$_GET['i'] : 1), 'promien' => 5,
'url' => 'newsy-[__NUMER_STRONY__].html'
);
$tpl->assign( 'param', $p );
$tpl->display('porcjowanie.tpl');
?>
Może sie komuś przyda!