Куда идем?

Пагинация вверху материала

Больше
5 года 10 мес. назад - 5 года 10 мес. назад #8890 от revver
Здравствуйте, Wedal.
Подскажите, если нетрудно, в каком файле находится вывод пагинации (в начало - назад - 1 - 2 - 3 - вперёд - в конец) материалов разбитых на страницы.
Хотелось бы выводить пагинацию в начале страницы материала (перед текстом материала) и оставить в конце страницы материала (после текста материала).
Версия Joomla! 3.9.2.
Последнее редактирование: 5 года 10 мес. назад пользователем revver.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
5 года 10 мес. назад #8892 от Wedal
Wedal ответил в теме Пагинация вверху материала
revver, по умолчанию макет паганации находится здесь:
libraries/joomla/html/pagination.php

Но обычно его переопределяют в используемый шаблон Joomla, и тогда используется этот файл:
templates/ВАШ_ШАБЛОН/html/pagination.php

Т.е.:
1) Смотрите есть ли файл pagination.php в вашем шаблоне.
2) Если он есть, правите его, если его нет, копируете его в шаблон из первого пути и правите в шаблоне.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
5 года 10 мес. назад #8893 от revver
revver ответил в теме Пагинация вверху материала
Wedal, файл pagination.php мне известен. Он находится в моём шаблоне. Я думаю, что в нём происходит расчёт (формирование внешнего вида) элементов пагинации - блока вида: [в начало][назад][ 1 ][ 2 ][ 3 ][вперёд][в конец] в зависимости от текущей страницы.
Мне же нужно найти место в коде Joomla! где файл pagination.php (функция описанная в нём) используется для вывода блока пагинации после вывода текста страницы материала и тогда по аналогии можно было бы добавить вывод блока пагинации и до вывода текста страницы материала.
Боюсь только, что это место закопано глубоко в дебрях кода Joomla!, в её множественных вложениях (подпрограммах или функциях). В интернете ответа на свой вопрос я не нашёл.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
5 года 9 мес. назад #8895 от Wedal
Wedal ответил в теме Пагинация вверху материала
revver, нет, не всё так плохо. Нужный вам макет может быть разным, в зависимости от того, с какой страницей вы работаете. Если это блог категории материалов Joomla, а скорее всего так и есть, то вам нужен файл макета этой страницы. Это components/com_content/views/category/tmpl/blog.php
Этот файл должен быть переопределен в шаблон Joomla, а в нем выполните поиск по слову "pagination" - увидите код вывода пагинации. Вы легко можете скопировать его или перенести в верхнюю часть страницы. Оба варианта будут работать.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
5 года 9 мес. назад #8896 от revver
revver ответил в теме Пагинация вверху материала
Wedal. Переименовал указанный Вами файл components/com_content/views/category/tmpl/blog.php
На вывод страницы материала и его пагинации это не отразилось, но отразилось на выводе страницы блога категории (Тип пункта меню - Блог категории).
Мне же нужно повлиять на вывод пагинации в отдельном многостраничном материале, разбитым вручную на страницы, с использованием тегов <hr class="system-pagebreak" /> в тексте материала.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
5 года 9 мес. назад #8897 от Wedal
Wedal ответил в теме Пагинация вверху материала
revver, а, вот оно что. Мне почему-то казалось, что речь идет о пагинации на странице блога категории. С pagebreak я вообще сталкивался крайне редко. Если это специальный тег, то он должен обрабатываться плагином....

Upd: Это плагин Pagebreak. Нужный вам код находится здесь:
/plugins/content/pagebreak/pagebreak.php
Спасибо сказали: revver

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
5 года 9 мес. назад #8898 от revver
revver ответил в теме Пагинация вверху материала
Wedal, спасибо за подсказку.
В строке 183 указанного Вами файла (plugins/content/pagebreak/pagebreak.php) начинается вывод страницы текста материала разбитого на страницы:

// Page text.
$text[$page] = str_replace('<hr id="system-readmore" />', '', $text[$page]);
$row->text .= $text[$page];

Перед этими строками я вставил следующий код вывода пагинации:

$row->text .= '<div class="pager">';
$row->text .= $pageNav->getPagesLinks();
$row->text .= '</div>';

Вставленный код используется, в этом же файле для вывода пагинации после текста страницы материала.
Вопрос решен. Ещё раз спасибо.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.