Нужна помощь! Нужно подровнять стандартный плагин, который разделяет на сраницы, к примеру когда в категории 11 элементов, а на 1 странице вмещается только 10. Думаю, кто то уже сталкивался с нуждой ручками исправлять код, поэтому очень прошу помощь с php, ибо в этом я не шарю(((
Сейчас pagination выглядит так:
http://clip2net.com/s/1Jsrx - когда страниц мало (так и должно быть)
http://clip2net.com/s/1JssW - так, когда страниц много
Нужно сделать так, чтобы было константное число страниц в данном навигаторе, к примеру 5 (чтобы не было переноса строки навигатора)
Т.е. если к примеру 10 страниц и включена 6ая страниц, чтобы отображалась 6ая страница, 2 предыдущие страницы + 2 следующие страницы..
Ну а если меньше 5 страниц существует, то тогда чтобы показывало столько, сколько есть...
Надо лезить в код, а я в php не варю, очень прошу помощи! Если нужно, то вот код 2ух файлов (плагин + шаблон)
Плагин:// split the text around the plugin
$text = preg_split( $regex, $row->text );
// count the number of pages
$n = count( $text );
$row->pagebreaktitle = $row->title;
// we have found at least one plugin, therefore at least 2 pages
if ($n > 1)
А также код из файла Шаблона:
if ($lang->isRTL())
{
$html .= "\n<div class=\"counter\">".$list['pagescounter']."</div>";
$html .= $list['pageslinks'];
$html .= "\n<div class=\"limit\">".JText::_('Display Num').$list['limitfield']."</div>";
}
else
{
$html .= "\n<div class=\"limit\">".JText::_('Display Num').$list['limitfield']."</div>";
$html .= $list['pageslinks'];
$html .= "\n<div class=\"counter\">".$list['pagescounter']."</div>";
}
$html .= "\n<input type=\"hidden\" name=\"limitstart\" value=\"".$list['limitstart']."\" />";
$html .= "\n</div>";
return $html;
}
function pagination_list_render($list)
{
// Initialize variables
$lang =& JFactory::getLanguage();
$html = "<ul class=\"pagination\">";
$html .= '<li><span>«</span></li>';
// Reverse output rendering for right-to-left display
if($lang->isRTL())
{
$html .= $list['start']['data'];
$html .= $list['previous']['data'];
$list['pages'] = array_reverse( $list['pages'] );
foreach( $list['pages'] as $page ) {
if($page['data']['active']) {
// $html .= '<strong>';
}
$html .= $page['data'];
if($page['data']['active']) {
// $html .= '</strong>';
}
}
$html .= $list['next']['data'];
$html .= $list['end']['data'];
// $html .= '«';
}
else
{
$html .= $list['start']['data'];
$html .= $list['previous']['data'];
foreach( $list['pages'] as $page )
{
if($page['data']['active']) {
// $html .= '<strong>';
}
$html .= $page['data'];
if($page['data']['active']) {
// $html .= '</strong>';
}
}
$html .= $list['next']['data'];
$html .= $list['end']['data'];
// $html .= '«';
}
$html .= '<li><span>»</span></li>';
$html .= "</ul>";
return $html;
}
function pagination_item_active(&$item) {
return "<li> <strong><a href=\"".$item->link."\" title=\"".$item->text."\">".$item->text."</a></strong> </li>";
}
function pagination_item_inactive(&$item) {
return "<li> <span>".$item->text."</span> </li>";