Autor | Zpráva | ||
---|---|---|---|
ludekbrno Profil * |
#1 · Zasláno: 6. 5. 2012, 14:52:14
Zdravím ve spolek, potřeboval bych poradit s drobnou úpravou PHP ve fóru Kunena. Na jednom webu jsem upravoval fórum Kunena, aby bylo celkově užší a sedělo do templatu Joomly. Podařilo se mi to až na jednu položku, konkrétně číslování stránek u dlouhých diskuzních vláken, které se rozdělí na více stran (nad cca 8). Sice potom už počet tlačítek nepřibývá (mezi ně se doplní značka "..."), ale i tak je jich moc, že mi to číslování uteče mimo template a nelze se proklikat na ty poslední stránky vlákna, které jsou už schované "za rohem". Viz. ukázka: http://www.jedendomov.cz/forum/10-stidava-pee/337-zrdnost-jmenem-stidavka-muiktei-chtji-valku Vlákno je rozděleno na 18 stránek, ale 17. a 18. už jsou zakryté. Nenapadlo mě, jak bych tu tabulku s čísly stránek zafixoval, aby neutíkala mimo template, ale napadlo mě, že by stačilo snížit maximální počet zobrazovaných čísel stránek z 8 třeba na 5. Asi jsem našel i odpovídající kód v příslušeném PHP, ale tím končím a už s tím nehnu :) Přidávám část kódu, která podle mně to číslování stránek vytváří:
function getPagination($catid, $threadid, $page, $totalpages, $maxpages) { $startpage = ($page - floor ( $maxpages / 2 ) < 1) ? 1 : $page - floor ( $maxpages / 2 ); $endpage = $startpage + $maxpages; if ($endpage > $totalpages) { $startpage = ($totalpages - $maxpages) < 1 ? 1 : $totalpages - $maxpages; $endpage = $totalpages; } $output = '<ul class="kpagination">'; $output .= '<li class="page">' . JText::_('COM_KUNENA_PAGE') . '</li>'; if ($startpage > 1) { if ($endpage < $totalpages) $endpage --; $output .= '<li>' . CKunenaLink::GetThreadPageLink ( 'view', $catid, $threadid, 1, $this->config->messages_per_page, 1, '', $rel = 'follow' ) . '</li>'; if ($startpage > 2) { $output .= '<li class="more">...</li>'; } } for($i = $startpage; $i <= $endpage && $i <= $totalpages; $i ++) { if ($page == $i) { $output .= '<li class="active">' . $i . '</li>'; } else { $output .= '<li>' . CKunenaLink::GetThreadPageLink ( 'view', $catid, $threadid, $i, $this->config->messages_per_page, $i, '', $rel = 'follow' ) . '</li>'; } } if ($endpage < $totalpages) { if ($endpage < $totalpages - 1) { $output .= '<li class="more">...</li>'; } $output .= '<li>' . CKunenaLink::GetThreadPageLink ( 'view', $catid, $threadid, $totalpages, $this->config->messages_per_page, $totalpages, '', $rel = 'follow' ) . '</li>'; } $output .= '</ul>'; return $output; } Kdyby na to někdo mrknul a viděl, jestli je to ono a věděl by, jak to poupravit, byl bych velmi vděčný. Podotýkám, že je to nevýdělečný projekt, jinak bych samozřejmě řešil prostřednictvím zakázek. Díky. |
||
Časová prodleva: 12 let
|
0