Постраничная навигация от джона (якоря)

484
.
Всем привет. Вот кусок кода постраничной навигации. Как в конец ссылки добавить якорь? просто вывод комментариев производится на одной странице со статьей и при листинге комментариев надо кидать в верхнюю часть их, т.е. для каждой страницы самый верх коментов.
if ($countm > $kmess) {
    echo '<p>' . pagenav('index.php?from=list&id=' . $id . '&amp;', $start, $countm, $kmess) . '</p>';

}


Пытался так:
if ($countm > $kmess) {
    echo '<p>' . pagenav('index.php?from=list&id=' . $id . '&amp;', $start, $countm, $kmess,'&amp;#top') . '</p>';

}

не работает
.
А так?
if ($countm > $kmess) {
    echo '<p>' . pagenav('index.php?from=list&id=' . $id . '#top', $start, $countm, $kmess) . '</p>';
}
.
vfaste
ДоХтор, Тоже не работает... нет #top в ссылке
http://localhost/rk/rating/ind ... rt=15
.
# vfaste (31.01.2018 / 19:13)
ДоХтор, Тоже не работает... нет #top в ссылке http://localhost/rk/rating/ind ... rt=15
А в теле этой страницы прописан элемент, на который ссылается #top ?
.
vfaste
Да. Если в конце ссылки (в адресно строке добавляю #top) кидает ровно на начало списка коментов. А вот в джоновской навигации не согу добавить это в конец строки...

echo'<a id="top"></a>';

Вот это стоит в нужном месте. Там где начало якоря
.
ДоХтор
# vfaste (31.01.2018 / 19:19)
Да. Если в конце ссылки (в адресно строке добавляю #top) кидает ровно на начало списка коментов. А вот в джоновской навигации не согу добавить это в конец строки...

echo'<a id="top"></a>';
Вот э
Ну может pagenav() как-то парсит ссылки, и потому обрезает символы #top (джона нет под рукой, чтоб посмотреть) Попробуй временно записать так:
if ($countm > $kmess) {
    var_dump(pagenav('index.php?from=list&id=' . $id . '#top', $start, $countm, $kmess)); die;
    //echo '<p>' . pagenav('index.php?from=list&id=' . $id . '#top', $start, $countm, $kmess) . '</p>';
}
И посмотри, что возвращает функция.
.
ДоХтор,
string(248) "[1] 2 3 В конец "
.
# vfaste (31.01.2018 / 19:28)
ДоХтор, string(248) "[1] 2 3 В конец "
А в исходном коде?
.
vfaste
string(248) "[<b>1</b>] <a class="navpg" href="index.php?from=list&id=12#topstart=15"><b>2</b></a> <a class="navpg" href="index.php?from=list&id=12#topstart=30"><b>3</b></a> <a class="navpg" href="index.php?from=list&id=12#topstart=30"><b>В конец</b></a> "
Дальше обрезан весь исходный код
.
# vfaste (31.01.2018 / 19:31)
string(248) "[<b>1</b>] <a class="navpg" href="index.php?from=list&id=12#topstart=15"><b>2</b></a> <a class="navpg" href="index.php?from=list&id=12#topstart=30"><b>3</b></a> <a class="navpg" href="ind
Дальше и не нужно. Ссылка формируется не правильно :
&id=12#topstart=15
То, что выделено жирным, должно быть в конце, после start=15.

Не знаю, может кто что лучше подскажет, а я вижу два варианта:
1. Ковырять pagenav(), чтобы она корректно могла добавить параметр #top в конец url
2. Работать с буфером - искать ссылки с классом class="navpg", и подставлять параметр #top в конец url

Первый вариант, наверное, правильнее.
Всего: 15