LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
26.05.2012, 09:37:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: страничная навигация  (Прочитано 1682 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sharp
Живу я здесь
******

Репутация: +94/-1
Offline Offline

Пол: Мужской
Сообщений: 1436


СМС рассылка от 10 коп


« : 07.07.2010, 15:26:54 »

Собственно задача сменить стандартную страничную навигацию см рис.1 на рис.2



Записан
METTER
Осваиваюсь на форуме
***

Репутация: +21/-1
Offline Offline

Пол: Мужской
Сообщений: 178



« Ответ #1 : 07.07.2010, 15:55:08 »

чтобы избавиться от слов "первая, предыдущая, следующая, последняя"
1) открываем файл относительно корня сайта "\libraries\joomla\html\pagination.php"
2) ищем там такие строки
Код:
// Reverse output rendering for right-to-left display
$html .= '<< ';
$html .= $list['start']['data'];
$html .= ' < ';
$html .= $list['previous']['data'];
foreach( $list['pages'] as $page ) {
$html .= ' '.$page['data'];
}
$html .= ' '. $list['next']['data'];
$html .= ' >';
$html .= ' '. $list['end']['data'];
$html .= ' >>';

return $html;
}
3) заменяем на
Код:
$html .= '<< ';
$html .= $list['data'];
$html .= ' < ';
$html .= $list['data'];
foreach( $list['pages'] as $page ) {
$html .= ' '.$page['data'];
}
$html .= ' '. $list['data'];
$html .= ' >';
$html .= ' '. $list['data'];
$html .= ' >>';

return $html;
}

Ну, а чтобы выводились в квадратах таких, то это надо редактировать файл стилей шаблона
Записан
sharp
Живу я здесь
******

Репутация: +94/-1
Offline Offline

Пол: Мужской
Сообщений: 1436


СМС рассылка от 10 коп


« Ответ #2 : 07.07.2010, 16:00:18 »

чтобы избавиться от слов "первая, предыдущая, следующая, последняя"
1) открываем файл относительно корня сайта "\libraries\joomla\html\pagination.php"
2) ищем там такие строки
Код:
// Reverse output rendering for right-to-left display
$html .= '<< ';
$html .= $list['start']['data'];
$html .= ' < ';
$html .= $list['previous']['data'];
foreach( $list['pages'] as $page ) {
$html .= ' '.$page['data'];
}
$html .= ' '. $list['next']['data'];
$html .= ' >';
$html .= ' '. $list['end']['data'];
$html .= ' >>';

return $html;
}
3) заменяем на
Код:
$html .= '<< ';
$html .= $list['data'];
$html .= ' < ';
$html .= $list['data'];
foreach( $list['pages'] as $page ) {
$html .= ' '.$page['data'];
}
$html .= ' '. $list['data'];
$html .= ' >';
$html .= ' '. $list['data'];
$html .= ' >>';

return $html;
}

как вариант можно и поменять языковой файл чтоб избавится от "следующая" итд. ну а вообще интересно узнать как изменить стиль
Записан
SmokerMan
Профи
********

Репутация: +520/-20
Offline Offline

Пол: Мужской
Сообщений: 5195



« Ответ #3 : 07.07.2010, 16:06:30 »

как вариант можно и поменять языковой файл чтоб избавится от "следующая" итд.
как вариант это все делается на уровне шаблона в файле ШАБЛОН\html\pagination.php, можете глянуть в стандартный rhuk_milkyway
ну а вообще интересно узнать как изменить стиль
изучить CSS и изменять себе на здоровье.
Записан
SpecTR
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Мужской
Сообщений: 118



« Ответ #4 : 07.07.2010, 16:06:54 »

METTER не стоит править ядро Joomla  
просто нужно создать свой файл pagination.php в шаблоне (\templates\шаблон\html\) и там править то что надо и стиль прикручивать Wink
Записан
METTER
Осваиваюсь на форуме
***

Репутация: +21/-1
Offline Offline

Пол: Мужской
Сообщений: 178



« Ответ #5 : 07.07.2010, 16:18:27 »

sharp, даже вот так правильнее будет
1) открываем файл относительно корня сайта "\libraries\joomla\html\pagination.php"
2) ищем там такие строки
Код:
// Reverse output rendering for right-to-left display
$html .= '<< ';
$html .= $list['start']['data'];
$html .= ' < ';
$html .= $list['previous']['data'];
foreach( $list['pages'] as $page ) {
$html .= ' '.$page['data'];
}
$html .= ' '. $list['next']['data'];
$html .= ' >';
$html .= ' '. $list['end']['data'];
$html .= ' >>';

return $html;
}
3) заменяем на
Код:
// Reverse output rendering for right-to-left display
$html .= $list['start']['data'];
$html .= $list['previous']['data'];
foreach( $list['pages'] as $page ) {
$html .= ' '.$page['data'];
}
$html .= ' '. $list['next']['data'];
$html .= ' '. $list['end']['data'];

return $html;
}
4) ищем строки
Код:
// Set the start and previous data objects
$data->start = new JPaginationObject(JText::_('Start'));
$data->previous = new JPaginationObject(JText::_('Prev'));
5) зменяем на
Код:
// Set the start and previous data objects
$data->start = new JPaginationObject(JText::_('<<'));
$data->previous = new JPaginationObject(JText::_('<'));
6) ищем строки
Код:
// Set the next and end data objects
$data->next = new JPaginationObject(JText::_('Next'));
$data->end = new JPaginationObject(JText::_('End'));
7) заменяем на
Код:
// Set the next and end data objects
$data->next = new JPaginationObject(JText::_('>'));
$data->end = new JPaginationObject(JText::_('>>'));

В результате слова убираются, а вместо символов "<, <<, >, >>" у нас становятся ссылки



Записан
SmokerMan
Профи
********

Репутация: +520/-20
Offline Offline

Пол: Мужской
Сообщений: 5195



« Ответ #6 : 07.07.2010, 16:27:30 »

METTER не стоит править ядро Joomla 
Azn
Записан
art1535
Давно я тут
****

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 289


Мат&Тык


« Ответ #7 : 07.07.2010, 19:24:40 »

Относительно дизайна, вот мой примерный pagination
Замени стандартный код в templates.css, ну а подправить под себя - там осталось только значения поменять
Цитировать
.pagination a{
display: inline-block;
background-color:#EEEEEE;
height: 16px;
width: 16px;
border:1px solid #EEEEEE;
}

.pagination a:hover
{

    padding: 2px;
    text-decoration: none;
    color: #666;
    border: 1px solid #ccc;
    background-color: #;
    border-bottom: 1px solid #ccc;
}
Записан
sharp
Живу я здесь
******

Репутация: +94/-1
Offline Offline

Пол: Мужской
Сообщений: 1436


СМС рассылка от 10 коп


« Ответ #8 : 07.07.2010, 21:12:12 »

Относительно дизайна, вот мой примерный pagination
Замени стандартный код в templates.css, ну а подправить под себя - там осталось только значения поменять
вот нету таких классов у меня. см рис

поставил свои значения но не работает. видимо тут еще дело в файле шаблона "блога материалов"
Записан
art1535
Давно я тут
****

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 289


Мат&Тык


« Ответ #9 : 07.07.2010, 21:17:17 »

Ну так класс .pagenav? И, кстати, в папку с шаблоном ,папка html положили файл pagination.php?
Записан
sharp
Живу я здесь
******

Репутация: +94/-1
Offline Offline

Пол: Мужской
Сообщений: 1436


СМС рассылка от 10 коп


« Ответ #10 : 07.07.2010, 22:32:43 »

Ну так класс .pagenav? И, кстати, в папку с шаблоном ,папка html положили файл pagination.php?
ну да,класс .pagenav естественно менял в CSS . сейчас попробую с pagination.php
Записан
sharp
Живу я здесь
******

Репутация: +94/-1
Offline Offline

Пол: Мужской
Сообщений: 1436


СМС рассылка от 10 коп


« Ответ #11 : 08.07.2010, 16:07:24 »

ну вобщем "честно" стащил файл /шаблон/html/pagination.php с готового шаблона. закинул к себе.
нашел класс который отвечает за  навигацию, добавил к себе в CSS файл, подправил под дизайн своего сайта. теперь все как надо Azn

Записан
art1535
Давно я тут
****

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 289


Мат&Тык


« Ответ #12 : 09.07.2010, 10:51:21 »

Ну вот Smiley
Записан
art1535
Давно я тут
****

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 289


Мат&Тык


« Ответ #13 : 15.07.2010, 21:51:23 »

А как вообще убрать "Последняя", "Первая", чтобы было только: Следующая 1 2 3 4 Предыдущая?
У меня ссылки убираются, а квадратики остаются Sad
Записан
art1535
Давно я тут
****

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 289


Мат&Тык


« Ответ #14 : 16.07.2010, 14:35:37 »

Ну что никто не знает?? Sad
Записан
sharp
Живу я здесь
******

Репутация: +94/-1
Offline Offline

Пол: Мужской
Сообщений: 1436


СМС рассылка от 10 коп


« Ответ #15 : 16.07.2010, 21:20:07 »

Ну что никто не знает?? Sad
ну поэксперементируй с pagination.php. как я понял там есть функции которые вызывают эти значения. всего лишь их убрать
Записан
art1535
Давно я тут
****

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 289


Мат&Тык


« Ответ #16 : 16.07.2010, 23:38:29 »

Да я всё решил уже
Записан
Yamamura
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 56


« Ответ #17 : 26.07.2010, 14:52:11 »

Скажите, а как сделать, чтоб не выводилось «Первая» и «Предыдущая», когда мы находимся на первой странице? Аналогично, когда мы на последней странице, не должно выводиться «Следующая» и «Последняя».
Записан
SmokerMan
Профи
********

Репутация: +520/-20
Offline Offline

Пол: Мужской
Сообщений: 5195



« Ответ #18 : 26.07.2010, 15:02:32 »

Скажите, а как сделать, чтоб не выводилось «Первая» и «Предыдущая», когда мы находимся на первой странице? Аналогично, когда мы на последней странице, не должно выводиться «Следующая» и «Последняя».
Нумерация страниц
Там я давно писал как такое реализовать. Правда не знаю насколько сейчас это будет актуально.
Записан
Yamamura
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 56


« Ответ #19 : 26.07.2010, 16:45:55 »

Цитировать
Там я давно писал как такое реализовать. Правда не знаю насколько сейчас это будет актуально.
не работает, к сожалению.
Записан
Yamamura
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 56


« Ответ #20 : 26.07.2010, 18:30:13 »

Сделал. При чём не потребовалась даже правка libraries\joomla\html\pagination.php

Просто в файле templates\ваш_шаблон\html\pagination.php прописываем следующую функцию pagination_list_render:
Код
function pagination_list_render($list)
{
// Initialize variables
$html = "<span class=\"pagination\">";
if ($list['start']['active'] == false && $list['previous']['active'] == false) {
$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>';
}
}
 
if ($list['end']['active'] == false && $list['next']['active'] == false) {
$html .= '';
}
else {
$html .= $list['next']['data'];
$html .= $list['end']['data'];
}
 
$html .= "</span>";
return $html;
}
Вроде так всё работает :)
Записан
bcat
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #21 : 13.08.2010, 20:10:14 »

Привет всем господа Джумловоды.
Вопрос по поводу пагинации.
Есть сайт _http://it-svr.ru так вот там пагинация выводиться на главной странице. Сделал так как захотела заказчица, но есть одна проблема. Пагинация выводиться только на главной странице а к примеру при переходе в Услуги пагинации вообще нет. Не могу понять что не так сделал. Подскажите люди добрые.
Записан
skai
Живу я здесь
******

Репутация: +103/-4
Offline Offline

Пол: Мужской
Сообщений: 1120


слушаю 4duk.ru


« Ответ #22 : 31.08.2010, 04:19:46 »

как реализована навигация на этой странице  ?
если кто знает - подскажите! оч. удобно для многостраничного каталога.

упс... не могу вставить ни изображение ни ссылку.. в чем дело?

« Последнее редактирование: 31.08.2010, 06:15:22 от skai » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet