View all posts in Topic
View all posts in Topic
rxu, там событий выше нужной строки нет
- rxu
- Сообщения: 1125
- Зарегистрирован: 21 янв 2014, 21:20
- Откуда: Krasnoyarsk
- Github repo: https://github.com/rxu
- Контактная информация:
View all posts in Topic
Татьяна5, просто неясно, почему именно такое место расположения
Ощущение, что случайно выбрано, тем более, что $config['posts_per_page'] первый раз встречается выше, в строке 366.
Давайте посмотрим на выбор места получше, чтобы и для других задач было применимо.
Код: Выделить всё
// Make sure $start is set to the last page if it exceeds the amount
Давайте посмотрим на выбор места получше, чтобы и для других задач было применимо.
- HAMMER663
- Сообщения: 123
- Зарегистрирован: 22 янв 2014, 09:23
- Откуда: Москва
- Github repo: https://github.com/HAMMER663
View all posts in Topic
Вот в эту функцию validate_start нельзя событие как-то добавить? Конечно это конкретно под данный случай. В общем я пока еще не до конца разобрался с этими событиями
- rxu
- Сообщения: 1125
- Зарегистрирован: 21 янв 2014, 21:20
- Откуда: Krasnoyarsk
- Github repo: https://github.com/rxu
- Контактная информация:
View all posts in Topic
Пока смотрю, может, и без доп. события как-то обойтись. @pagination должно быть возможно подключить сервисом, тогда можно переопределить всё, что нужно, в существующих событиях.
- rxu
- Сообщения: 1125
- Зарегистрирован: 21 янв 2014, 21:20
- Откуда: Krasnoyarsk
- Github repo: https://github.com/rxu
- Контактная информация:
View all posts in Topic
В config/services.yml добавьте
далее в список параметров конструктора в слушателе (соблюдаем тот же порядок, что и в конфиге)
и там же в конструкторе присваиваем
После этого в слушателе можно переопределять и сам $start, и его валидатор вот так
ну и параметр конфигурации тоже
Главное - выбрать правильное событие, возможно, core.viewtopic_get_post_data подойдет. Хотя, к этому моменту список постов уже отобран. Возможно, действительно нужно более раннее событие. Например, сразу после
Код: Выделить всё
- @pagination
Код: Выделить всё
\phpbb\pagination $pagination
Код: Выделить всё
$this->pagination = $pagination;
Код: Выделить всё
$start = $this->pagination->validate_start($start, $this->config['posts_per_page'], $total_posts);
Код: Выделить всё
$this->config['posts_per_page'] = 200;
Код: Выделить всё
// Go ahead and pull all data for this topic
$sql = 'SELECT p.post_id
FROM ' . POSTS_TABLE . ' p' . (($join_user_sql[$sort_key]) ? ', ' . USERS_TABLE . ' u': '') . "
WHERE p.topic_id = $topic_id
AND " . $phpbb_content_visibility->get_visibility_sql('post', $forum_id, 'p.') . "
" . (($join_user_sql[$sort_key]) ? 'AND u.user_id = p.poster_id': '') . "
$limit_posts_time
ORDER BY $sql_sort_order";
View all posts in Topic
Это из инструкции к модуrxu писал(а):Ощущение, что случайно выбрано
Подходит любое место с 405 (чуть выше рассчитывается $total_posts) до 604 строки (605 - генерируется пагинация)
Код: Выделить всё
$pagination->generate_template_pagination($base_url, 'pagination', 'start', $total_posts, $config['posts_per_page'], $start);
964 строка, на пагинацию то событие не повлияет (или её можно заново сгенерировать в слушателе?)rxu писал(а):Например, сразу послеКод: Выделить всё
// Go ahead and pull all data for this topic $sql = 'SELECT p.post_id FROM ' . POSTS_TABLE . ' p' . (($join_user_sql[$sort_key]) ? ', ' . USERS_TABLE . ' u': '') . " WHERE p.topic_id = $topic_id AND " . $phpbb_content_visibility->get_visibility_sql('post', $forum_id, 'p.') . " " . (($join_user_sql[$sort_key]) ? 'AND u.user_id = p.poster_id': '') . " $limit_posts_time ORDER BY $sql_sort_order";
- rxu
- Сообщения: 1125
- Зарегистрирован: 21 янв 2014, 21:20
- Откуда: Krasnoyarsk
- Github repo: https://github.com/rxu
- Контактная информация:
View all posts in Topic
Думаю можно генерировать, через объект pagination, о чем я писал выше.
- rxu
- Сообщения: 1125
- Зарегистрирован: 21 янв 2014, 21:20
- Откуда: Krasnoyarsk
- Github repo: https://github.com/rxu
- Контактная информация:
View all posts in Topic
Если у кого-то есть возможность проверить это - проверьте плиз, я пока не смогу.
если сработает - сделаю ПР на событие.
если сработает - сделаю ПР на событие.
- HAMMER663
- Сообщения: 123
- Зарегистрирован: 22 янв 2014, 09:23
- Откуда: Москва
- Github repo: https://github.com/HAMMER663
View all posts in Topic
Дома вечером смогу проверить
- HAMMER663
- Сообщения: 123
- Зарегистрирован: 22 янв 2014, 09:23
- Откуда: Москва
- Github repo: https://github.com/HAMMER663
View all posts in Topic
Сервис - @pagination я вставил, но мод отказывается работать.