Вот вариант как поменять пагинацию если вы допустим будете на первой странице то строчки « Первая Предыдущая появлятся не будут, если перейдете на вторую страницу, то они появятся. То же самое происходит и с последней.
Пример:
http://joomla15.sk6.ru/index.php/templates Как убирать « Первая Предыдущая и Следующая Последняя » я объяснять не буду, сами думаю поймете.
Итак что мы имеем. 2 файла:
...\ibraries\joomla\html\pagination.php - это будет
1...templates\Ваш шаблон\html\pagination.php - это будет
2В 1 файле есть такая функция как getPagesLinksю Вобщем ищем строчк: // Build the select list изначально она выглядит так:
if ($data->all->base !== null) {
$list['all']['active'] = true;
$list['all']['data'] = ($itemOverride) ? pagination_item_active($data->all) : $this->_item_active($data->all);
} else {
$list['all']['active'] = false;
$list['all']['data'] = ($itemOverride) ? pagination_item_inactive($data->all) : $this->_item_inactive($data->all);
}
if ($data->start->base !== null) {
$list['start']['active'] = true;
$list['start']['data'] = ($itemOverride) ? pagination_item_active($data->start) : $this->_item_active($data->start);
} else {
$list['start']['active'] = false;
$list['start']['data'] = ($itemOverride) ? pagination_item_inactive($data->start) : $this->_item_inactive($data->start);
}
if ($data->previous->base !== null) {
$list['previous']['active'] = true;
$list['previous']['data'] = ($itemOverride) ? pagination_item_active($data->previous) : $this->_item_active($data->previous);
} else {
$list['previous']['active'] = false;
$list['previous']['data'] = ($itemOverride) ? pagination_item_inactive($data->previous) : $this->_item_inactive($data->previous);
}
Меняем ее на:
if ($data->all->base !== null) {
$list['all']['active'] = true;
$list['all']['data'] = ($itemOverride) ? pagination_item_active($data->all) : $this->_item_active($data->all);
} else {
$list['all']['active'] = false;
$list['all']['data'] = ($itemOverride) ? pagination_item_inactive($data->all) : $this->_item_inactive($data->all);
}
if ($data->start->base !== null) {
$list['start']['active'] = true;
$list['start']['data'] = ($itemOverride) ? pagination_item_active($data->start) : $this->_item_active($data->start);
} else {
$list['start']['active'] = false;
$list['start']['data'] = false;
}
if ($data->previous->base !== null) {
$list['previous']['active'] = true;
$list['previous']['data'] = ($itemOverride) ? pagination_item_active($data->previous) : $this->_item_active($data->previous);
} else {
$list['previous']['active'] = false;
$list['previous']['data'] = false;
}
(смотрим что поменялось)
Теперь оставим пока этот файл и перейдем ко второму. Ищем в нем функцию pagination_list_render. У меня она выглядит так:
function pagination_list_render($list)
{
// Initialize variables
$lang =& JFactory::getLanguage();
$html = "<ul class=\"pagination\">";
$html .= '<li>«</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 .= '&#38;#38;#171;';
}
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 .= '&#38;#38;#171;';
}
$html .= '<li>»</li>';
$html .= "</ul>";
return $html;
}
Заменяем ее:
function pagination_list_render($list)
{
// Initialize variables
$lang =& JFactory::getLanguage();
$html = "<div class=\"pagination\" align=center >";
if ($list['start']['data'] == false) {
$html .= '';
}
else {
$html .= '«';
}
// 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 .= '&#38;#38;#171;';
}
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 .= '&#38;#38;#171;';
}
if ($list['next']['data'] == false) {
$html .= '';
}
else {
$html .= '»'; }
$html .= "</div>";
return $html;
}
Ну и в ней соответсвенно в блоке <div class=\"pagination\" align=center > можно указать свои class или id
Так же можно поменять class или id непосредственно в самой ссылке <a...> в этом же файле есть 2 функции: первая выводит активную ссылку вторая не активную. Меняем в 1 функции:
function pagination_item_active(&$item) {
return " <strong><a href=\"".$item->link."\" title=\"".$item->text."\" id='Ваш #' либо class='ваш .class'>".$item->text."</a></strong> ";
}
Ну вот собственно и все.
2 файл на всякий случай прекрипил если у вас его нет в шаблоне.
[вложение удалено Администратором]