| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
g100m 01.03.2003 22:52
Вот написал скроллер для форума.@pages[page;pages_all][up;down;down_diff] В метод передаются номер страницы и общее число страниц
<div class="pages">
^if($pages_all > 1){
 ^; ^;Страницы: ^;
# количество ссылок для быстрого доступа
# определяется по формуле:
# смещение с начала + 1 + смещение с конца
# определяем верхнюю границу
$up($page)
# выбираем смещение с начала (-3)
^up.dec(3)
# определяем нижнюю границу
$down($page)
# выбираем смещение с конца (+3)
^down.inc(3)
# проверяем верхнюю границу
^if($up <= 0){
# если при смещении попадаем в ноль или в минус
^up.mul(-1)
# к нижней границе добавляем неиспользованные ссылки
$down($down + $up + 1)
# а верхнюю обьявляем 1
$up(1)
}
# проверяем нижнюю границу
$down_diff($down - $pages_all)
^if($down_diff > 0){
$up($up - $down_diff)
$down($down - $down_diff)
}
^if($up <= 0){$up(1)}
^if($down != $pages_all){<a href="/forum/thread.html?sid=$sid&^;page=$pages_all" title="в конец :)"><^;<^;</a> ^;| ^;}
^while($down >= $up){
^if($page == $down){
<span class="current"> ^;$down ^;</span> ^;
}{
<a href="/forum/thread.html?sid=$sid&^;page=$down">$down</a> ^;
}
^down.dec[]
}
^if($up != 1){| ^;<a href="/forum/thread.html?sid=$sid&^;page=1" title="в начало :)">>^;>^;</a>}
}
</div>