Forums / National / Russian / Тех. поддержка / Проблема с cot_pagenav

Kopusha
#46887 2023-06-09 13:51

Проблема такая - если я обращаюсь к list в котором 10 элементов и разбиение постраничное по 3 элемента - у меня 4 страницы что логично
При этом /stories&d=2 выдает ошибку 404
/stories?d=2 ведет на верную вторую страницу списка с тремя записями
Но если в запросе есть еще параметры, например 
/stories&country=ita&region=0&d=2 именно с & ведет на верную вторую страницу списка с тремя записями
а /stories&country=ita&region=0?d=2 ведет на d=1, то есть на первую, то есть игнорирует d. Откуда в принципе береться катавасия с ? и &, хоть где начинать искать концы?
Пересмотрел функцию cot_pagenav - там такого нет, использую cot::$cfg['easypagenav'] и не использую $ajax_rel

Заранее спасибо хотя бы за направление куда рыть.

Added 3 hours later:

В общем вопрос можно перефразировать
Почему при имеющемся коде

list($pn, $d, $d_url) = cot_import_pagenav('d', $maxrowsperpage);
$list_url_path = array('c' => $c, 'sort' => $sort, 'sq' => $sq);
$pagenav = cot_pagenav('stories', $list_url_path, $d, $totalitems, $maxrowsperpage);

 

	"SEARCH_ACTION_URL" => cot_url('stories', '', '', true),
	"SEARCH_SQ" => cot_inputbox('text', 'sq', htmlspecialchars($sq), 'class="schstring"'),
	"SEARCH_CAT" => cot_stories_selectcat($c, 'c'),
	"SEARCH_SORTER" => cot_selectbox($sort, "sort", array('', 'ratedesc', 'countdesc'), array($L['stories_mostrelevant'], $L['stories_ratedesc'], $L['stories_countdesc']), false),

Пагинация $pagenav без параметров 'c' => $c, 'sort' => $sort, 'sq' => $sq, 'ec' => $ec или других параметров выглядит как /stories?d=2

Если выбрать категорию не через поиск то получается такая ссылка /stories/nature?d=2

Если использовать поиск (SEARCH_ACTION_URL) и там выбрать категорию то такая ссылка /stories/nature?d=2

То есть при любом экстрапараметре (sort sq c и тд) переменная D со знаком & как /stories/nature?sort=ratedesc&d=2 и это работает, при этом /stories/nature?sort=ratedesc?d=2 уже нет
Мне это очень мешает в плане бесконечной пагинации на js. В идеале хотелось бы привести все к &d=2, видимо я не совсем верно понимаю передачу в урл всех параметров. 

 

Добавлено 6 часов спустя:

Ну вроде как разобрался, не без помощи добрых людей.

https://www.example.com/page?param1=value1&param2=value2&param3=value3

Параметры запроса в URL-адресе обычно указываются после вопросительного знака "?" и разделяются между собой символом амперсанда "&".
 

Решил вопрос костылем, просто всегда передаю лишний фальшивый параметр ec=0, и вместо /stories?d=3 получаю /stories?ec=0&d=3, что меня устраивает

This post was edited by Kopusha (2023-06-10 00:05, 11 months ago)