0 Пользователей и 1 Гость просматривают эту тему.
  • 36 Ответов
  • 19479 Просмотров
*

maxvolume

  • Новичок
  • 8
  • 0
как изменить вид постраничной навигации? Joomla 1.5.9
сейчас она выглядит так-

«ПерваяПредыдущая12СледующаяПоследняя»

                   Страница 1 из 2

хочется так чтобы выглядела

страница 1  2 3 4 5 6 7 8

подскажите
« Последнее редактирование: 25.11.2009, 19:04:16 от maxvolume »
*

Kostelano

  • Давно я тут
  • 345
  • 27
  • Константин
Делается все достаточно просто, расскажу о методике :)

1. Открываем pagination.php ( libraries\joomla\html )

2. Исходя из того, что в файле pagination.php наверняка прописаны параметры "Первая", "Предыдущая", "Следующая" и "Последняя", ищем кусок кода с JText. Конечно же, в процессе поиска вы анализируете тот код, который выдает вам как результат поиска, т.е. примерно то, или вообще не то :)

3. В итоге найдем куски кода:

$data->start = new JPaginationObject(JText::_('Start')); - Первая
$data->previous = new JPaginationObject(JText::_('Prev')); - Предыдущая

и немного ниже:

$data->next = new JPaginationObject(JText::_('Next')); - Следующая
$data->end = new JPaginationObject(JText::_('End')); - Последняя

Закомментируйте строки, которые вам не нужны...

-----------------------------------------------------------------------------------------------------------------

С этим справились, однако на станице остались символы вида ">>" и ">". Открываем исходный код, выясняем что там за символы:

Цитировать
<<, <, >, >>

Опять открываем pagination.php, в поиск вбиваем любой из них, например >, результат:

Код
$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 .= ' >>';

Стираем символы из соответствующих параметров, оставляя только кавычки, сохраняем и смотрим на страницу!

По поводу вопроса товарища maxvolume, которому необходимо еще вставить слово "Страница" перед перечнем страниц: вы стираете все символы, а в первой строке кода, приведенного выше напишите вместо символов слово "Страница" (вобщем-то, какое пожелаете), сохраните файл в кодировке UTF-8!

-----------------------------------------------------------------------------------------------------------------

Чтобы удалить фразу "Страница n из m", закомментируйте строку:

Код
$html .= JText::sprintf('JPAGE_CURRENT_OF_TOTAL', $this->get('pages.current'), $this->get('pages.total'));

-----------------------------------------------------------------------------------------------------------------

На всякий случай приложу файл pagination.php - все 4 строки закомментированы, удалены все символы.

[вложение удалено Администратором]
« Последнее редактирование: 11.02.2010, 19:48:28 от Kostelano »

Спасибо, ваш совет помог
*

SLZZZ

  • Осваиваюсь на форуме
  • 157
  • 4
не могу найти, а где сами эти слова "следующая" "Предыдущая" как мне их заменить? поиском и вручную все облазил.
*

Kostelano

  • Давно я тут
  • 345
  • 27
  • Константин
не могу найти, а где сами эти слова "следующая" "Предыдущая" как мне их заменить? поиском и вручную все облазил.

САЙТ/tamara/language/ru-RU - файл ru-RU.іni
*

SLZZZ

  • Осваиваюсь на форуме
  • 157
  • 4
САЙТ/tamara/language/ru-RU - файл ru-RU.іni

Ураааа! теперь возник вопрос, а почему поиск по словам ни чего не дал? искал и стандартным поиском и Directory Opusом
*

Kostelano

  • Давно я тут
  • 345
  • 27
  • Константин
Потому что файлы в кодировке UTF-8.

А как уменьшить количество страниц, ато 10 не вписываются в шаблон? Нужно чтобы страниц было 7, а всё остальное осталось как и было. !
*

jem777

  • Практически профи
  • 1652
  • 116
Строка №96:
Код
$displayedPages	= 10;
*

sega

  • Давно я тут
  • 258
  • 4
а можно ли как то вытащить пагинацию за пределы контента, например как модуль?
*

like2dev

  • Новичок
  • 4
  • 0
Вообще-то неправильно менять ядро Joomla. Если вы внимательно посмотрите то у рендера есть такая проверка

Код
		$chromePath = JPATH_THEMES.DS.$mainframe->getTemplate().DS.'html'.DS.'pagination.php';
if (file_exists($chromePath))

То есть он смотрит есть ли в вашем шаблоне своя реализация вывода.

Создаем в папке с шаблоном в папке HTML файл pagination.php и создаем там такие функции:
pagination_item_active и pagination_item_inactive
pagination_list_render

И настраиваем вывод.
*

andreyy05

  • Новичок
  • 9
  • 0
Вообще-то неправильно менять ядро Joomla. Если вы внимательно посмотрите то у рендера есть такая проверка

Код
		$chromePath = JPATH_THEMES.DS.$mainframe->getTemplate().DS.'html'.DS.'pagination.php';
if (file_exists($chromePath))

То есть он смотрит есть ли в вашем шаблоне своя реализация вывода.

Создаем в папке с шаблоном в папке HTML файл pagination.php и создаем там такие функции:
pagination_item_active и pagination_item_inactive
pagination_list_render

И настраиваем вывод.

Получается, что только вывод  можно переопределить непосредственно в шаблоне?
А что если я хочу $displayedPages изменить, или убрать надпись Страница n из m? это можно только в ядре поправить, или можно также в шаблоне?
*

Maxum

  • Завсегдатай
  • 689
  • 31
А что если я хочу ... убрать надпись Страница n из m? это можно только в ядре поправить, или можно также в шаблоне?
Присоединяюсь к вопросу. Если убирать вывод "страница n из m" системном pagination.php, то у меня в категориях постраничная навигация вообще исчезает.
*

Kostelano

  • Давно я тут
  • 345
  • 27
  • Константин
Если убирать вывод "страница n из m" системном pagination.php, то у меня в категориях постраничная навигация вообще исчезает.

Значит ты что-то делаешь неверно. У меня ничего не исчезает. Скрин:



Есть и другой вариант скрыть строку "Страница n из m":

Найти код:

Код
if ($this->get('pages.total') > 1)

Изменить значение "1", например, на "1000". Т.е. пока не наберется 1000 страниц, строка не будет выводится.
*

Maxum

  • Завсегдатай
  • 689
  • 31
Да уже и комментировалась строка
Код
$html .= JText::sprintf('JPAGE_CURRENT_OF_TOTAL', $this->get('pages.current'), $this->get('pages.total'));
, и удалялась - результат один: в разделах всё о'к, а в категориях навигация исчезает.
Попробую выставить 1000, спасибо.

Тот же результат. Это шаблон гонит, с milkyway'ем всё нормально. Любые изменения function getPagesCounter приводят к исчезновению навигации в категориях.
« Последнее редактирование: 02.07.2010, 14:31:42 от Maxum »
*

SpecTR

  • Осваиваюсь на форуме
  • 109
  • 10
или убрать надпись Страница n из m?
Эту строчку убрать в шаблоне для контента можно. (joomla 1.5.18)
Делаем pagination.php в шаблоне:
[spoiler title="pagination.php"]
Код: php
<?php
// no direct access
defined('_JEXEC') or die('Restricted access');

/**
 * This is a file to add template specific chrome to pagination rendering.
 *
 * pagination_list_footer
 * Input variable $list is an array with offsets:
 * $list[limit] : int
 * $list[limitstart] : int
 * $list[total] : int
 * $list[limitfield] : string
 * $list[pagescounter] : string
 * $list[pageslinks] : string
 *
 * pagination_list_render
 * Input variable $list is an array with offsets:
 * $list[all]
 * [data] : string
 * [active] : boolean
 * $list[start]
 * [data] : string
 * [active] : boolean
 * $list[previous]
 * [data] : string
 * [active] : boolean
 * $list[next]
 * [data] : string
 * [active] : boolean
 * $list[end]
 * [data] : string
 * [active] : boolean
 * $list[pages]
 * [{PAGE}][data] : string
 * [{PAGE}][active] : boolean
 *
 * pagination_item_active
 * Input variable $item is an object with fields:
 * $item->base : integer
 * $item->link : string
 * $item->text : string
 *
 * pagination_item_inactive
 * Input variable $item is an object with fields:
 * $item->base : integer
 * $item->link : string
 * $item->text : string
 *
 * This gives template designers ultimate control over how pagination is rendered.
 *
 * NOTE: If you override pagination_item_active OR pagination_item_inactive you MUST override them both
 */

function pagination_list_footer($list)
{
// Initialize variables
$lang =& JFactory::getLanguage();
$html = "<div class=\"list-footer\">\n";

$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 .= $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 .= '&#171;';

$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>".$item->text."</li>";
}
?>
[/spoiler]
А если нужно вывести Страница n из m, то в коде шаблона компонента добавляем:
[spoiler title="Часть моего кода с шаблона content/category/blog.php"]
Код: php
<?php if ($this->params->def('show_pagination', 2) == 1  || ($this->params->get('show_pagination') == 2 && $this->pagination->get('pages.total') > 1)) : ?>
<div id="navigation_page">  
<?php if( $this->pagination->get('pages.total') > 1 ) : ?>
<p class="counter">
<?php echo $this->pagination->getPagesCounter(); ?>
</p>
<?php endif; ?>
<?php if ($this->params->def('show_pagination_results', 1)) : ?>
<?php echo $this->pagination->getPagesLinks(); ?>
<?php endif; ?>
</div>
<?php endif; ?>
[/spoiler]
*

romawgo

  • Захожу иногда
  • 11
  • 0
Можно ли изменить слова "Следующая" и "Предыдущая" на свои картинки? В php, к сожалению, не разбираюсь. Спасибо
*

vtx

  • Давно я тут
  • 223
  • 19
Можно ли изменить слова "Следующая" и "Предыдущая" на свои картинки? В php, к сожалению, не разбираюсь. Спасибо
присоединяюсь к вопросу.
*

Elektra

  • Осваиваюсь на форуме
  • 69
  • 0
Здравствуйте! У меня вместо m из n выводится JPAGE_CURRENT_OF_TOTAL как избавиться от этого.
Удалила эту фразу между кавычками, но тогда выводится прямоугольник цветной шаблона.

*

jem777

  • Практически профи
  • 1652
  • 116
*

dennioushen

  • Осваиваюсь на форуме
  • 86
  • 0
  • Don Corleone
Ребят, подскажите пож. как сделать навигации как на скриншоте

Как изменить "Следующая, Предыдущая" с этим понятно.
А как сделать "1 2 3 ... 40" ?! Отображается 10 страниц и после десятой, номер последний страницы?!
И как сделать стиль, ссылки ("a") одного цвета с пробелами , а на который ты страницы ("span") другого.
У меня сливается фон.... Смотрите скриншот
Может в файле pagination.php надо добавлять пробелы?!
Код
div.pagination a{
         font-size: 12px;
         background:#fff;
         color:#444;
         padding:3px 8px 3px 8px;}

div.pagination a:hover{
        font-size: 12px;
        background:#656A8C;
        color:#fff;
        padding:3px 8px 3px 8px;
        text-decoration:none;}

div.pagination span{
        font-size: 12px;
        background:#656A8C;
        color:#fff;
        padding:3px 8px 3px 8px;}

Cемья тебя простит... Дон Корлеоне
*

dennioushen

  • Осваиваюсь на форуме
  • 86
  • 0
  • Don Corleone
« Последнее редактирование: 07.02.2012, 22:42:19 от dennioushen »
Cемья тебя простит... Дон Корлеоне
*

dennioushen

  • Осваиваюсь на форуме
  • 86
  • 0
  • Don Corleone
Вопрос.
В файле "mysait.ru\language\ru-RU\ru-RU.ini" вместо слов  "Первая < Предыдущая , Следующая > Последняя" вставил стрелочки "←" .
На самом сайте стрелочки отображаются, а при наведении на нее (за это отвечает тег title) отображается квадратик, то бишь не читает символ.
« Последнее редактирование: 07.02.2012, 19:20:18 от dennioushen »
Cемья тебя простит... Дон Корлеоне
*

vtx

  • Давно я тут
  • 223
  • 19
в языковом файле
*

prayer

  • Захожу иногда
  • 16
  • 0
Хочу изменить стандартную постраничную навигацию на такого вида "<< пред   1   ...   13   14   15   16   17   18   19   ...   30   след >> А то при стандартном выводе по 10 страниц пользователь не всегда догадывается что есть 11я  ;D Поставил вывод всех страниц, но выглядит как-то не очень. Заранее спасибо за ответ.
*

xaocbozzz

  • Давно я тут
  • 205
  • 8
  • Котэ просит! Не обижайте котэ!
...Если вдруг кому понадобится....
А как к навигации VirtueMart это прилепить?
*

dennioushen

  • Осваиваюсь на форуме
  • 86
  • 0
  • Don Corleone
vtx
Неправильно описал проблему.
В файле "mysait.ru\language\ru-RU\ru-RU.ini" вместо слов  "Первая < Предыдущая , Следующая > Последняя" вставил стрелочки "←" .
На самом сайте стрелочки отображаются, а при наведении на нее (за это отвечает тег title) отображается квадратик, то бишь не читает символ.

xaocbozzz
Ну в этом компоненте наверно тоже есть файл, который отвечает за вывод навигации...

prayer
Присоединяюсь к данной просьбе. Просто тут последняя страница отображается и вместо слова последняя, должна отображаться последняя страница цифрами.
Наверно, что-то в этом роде. А при переходе на последнюю страницу, будет отображаться страница из списка, как это сделать знаю. А вот отображение цифры нет.

Вот так вот, это я представляю:
" |1| 2 3 4 5 ...10" - Щас мы на первой странице, отображается только 5 страниц.
" 1...3 4 |5| 6 7...10" - Щас мы на пятой странице, отображается только 5 страниц.
" 1...6 7 8 9 |10|" - Щас мы на десятой странице, отображается только 5 страниц.

Вот так могу реализовать:
" |1| 2 3 4 5 ...Последняя" - Щас мы на первой странице, отображается только 5 страниц.
" Первая...3 4 |5| 6 7...Последняя" - Щас мы на пятой странице, отображается только 5 страниц.
" Первая...6 7 8 9 |10|" - Щас мы на десятой странице, отображается только 5 страниц.
« Последнее редактирование: 07.02.2012, 20:51:24 от dennioushen »
Cемья тебя простит... Дон Корлеоне
*

prayer

  • Захожу иногда
  • 16
  • 0
Вот так могу реализовать:
" |1| 2 3 4 5 ...Последняя" - Щас мы на первой странице, отображается только 5 страниц.
" Первая...3 4 |5| 6 7...Последняя" - Щас мы на пятой странице, отображается только 5 страниц.
" Первая...6 7 8 9 |10|" - Щас мы на десятой странице, отображается только 5 страниц.
Напиши пожалуйста как так реализовать. Все равно лучше чем у меня сейчас.
*

dennioushen

  • Осваиваюсь на форуме
  • 86
  • 0
  • Don Corleone
prayer
Должно работать, у себя не проверял...
Код
        $html = "<div class=\"pagination\">";
 if(strpos($list['start']['data'], "<a") === 0)
        $html .= $list['start']['data'];
 foreach( $list['pages'] as $page )
{
if($page['data']['active']) {
$html .= '<strong>';
}

$html .= $page['data'];

if($page['data']['active']) {
$html .= '</strong>';
}
}
 if(strpos($list['end']['data'], "<a") === 0)
$html .= $list['end']['data'];
$html .= "</div>";
return $html;

Чтобы поменять title навигации (К примеру отображается "Начало", а при наведении отображается "Перейти на первую страницу")

Разобрался сам.

В файле "mysait.ru\language\ru-RU\ru-RU.ini" вместо слов  "Первая < Предыдущая , Следующая > Последняя" вставляем после равно стрелочки "&rarr;" или Ваше значение.
И в файле pagination.php (который лежит по пути "mysait.ru\templates\theme\html" или "mysait\libraries\joomla\html"  - смотря где вы правили)
вставляете код на примере снизу (сохранив его в UTF8)

Код
        $list['start']['data'] = str_replace("title=\"Первая\"","title=\"Перейти в начало\"",$list['start']['data']);
$html .= $list['start']['data'];

Ниже список стрелок:
** - признает только Tahoma.

&larr;     ←     ←     стрелка влево
&uarr;    ↑    ↑    стрелка вверх
&rarr;    →    →    стрелка вправо
&darr;    ↓    ↓    стрелка вниз
&harr;    ↔    ↔    стрелка влево-вправо
&rArr;    ⇒    ⇒    двойная стрелка вправо
&lArr;    ⇐    ⇐    двойная стрелка влево **
&hArr;    ⇔    ⇔    двойная стрелка влево-вправо
&uArr;    ⇑    ⇑    двойная стрелка вверх **
&dArr;    ⇓    ⇓    двойная стрелка вниз **
&crarr;    ↵    ↵    стрелка вниз и влево – знак возврата каретки  **

Другие символы
« Последнее редактирование: 07.02.2012, 23:42:35 от dennioushen »
Cемья тебя простит... Дон Корлеоне
*

prayer

  • Захожу иногда
  • 16
  • 0
Это все хорошо, но что мне делать если у меня файл pagination.php влияет исключительно на вывод страниц в админке, а на вывод страничек сайта влияет administrator/components/com_virtuemart/classes/pageNavigation.class.php ? (joomla 1.5.25, VirtueMart 1.1.7)

Разобрался как сделать для виртуемарта пагинацию. Сорри за беспокойство и спасибо за советы.
« Последнее редактирование: 13.02.2012, 23:33:57 от prayer »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изменить текст на вкладке браузера с "главная" на название сайта

Автор EvgeniyyB

Ответов: 10
Просмотров: 9431
Последний ответ 13.07.2017, 16:12:36
от MotorHead
как изменить заголовок страницы во вкладке браузера?

Автор Руслан71

Ответов: 4
Просмотров: 456
Последний ответ 10.08.2016, 10:51:39
от Руслан71
Изменить ширину колонки на главной странице

Автор dmalexandrov

Ответов: 5
Просмотров: 506
Последний ответ 18.11.2015, 13:17:29
от umbabaraumba
Изменить код

Автор Zegeberg

Ответов: 2
Просмотров: 848
Последний ответ 03.08.2015, 05:45:32
от filat010
Модуль для голосования Apoll - как изменить текст сообщения?

Автор Escander

Ответов: 5
Просмотров: 508
Последний ответ 15.06.2015, 13:12:49
от Escander