LINUX.ORG.RU

История изменений

Исправление deep-purple, (текущая версия) :

Как оно может работать без жаваскриптов:

Блок комментария (кратко, только важное):

<div class="comment">
    <a name="comment-15671546"></a>
    <div class="comment-text">Текст комментария</div>
    <a href="/go?cid=15671546">Ссылка</a>
</div>

Логика на бекенде при клике на «Ссылка» (кратко, только важное, псевдокод):

// проверили что комментарий существует и не удалён

// name - имя форума
// tid - айди треда
// cid - айди комментария

// айди треда и имя форума получаем из cid,
// номер страницы рассчитывается самостоятельно,
// в контексте настроек того пользователя,
// который запросил этот урл

commentPageNum = getCommentPageNum(tid, cid, user->commentsPerPage);

redirectTo('/forum/{name}/{tid}/page{commentPageNum}#comment-{cid}');

// в случае первой страницы часть роута /page{commentPageNum} отсутствует

ВСЁ!!!

Исходная версия deep-purple, :

Как оно может работать без жаваскриптов:

Блок комментария (кратко, только важное):

<div class="comment">
    <a name="comment-15671546"></a>
    <div class="comment-text">Текст комментария</div>
    <a href="/go?cid=15671546">Ссылка</a>
</div>

Логика на бекенде при клике на «Ссылка» (кратко, только важное, псевдокод):

// проверили что комментарий существует и не удалён

// name - имя форума
// tid - айди треда
// cid - айди комментария

// айди треда и имя форума получаем из cid,
// номер страницы рассчитывается самостоятельно,
// в контексте настроек того пользователя,
// который запросил этот урл

commentPageNum = getCommentPageNum(tid, cid, user->commentsPerPage);

redirectTo('/forum/{name}/{tid}/page{commentPageNum}?cid={cid}#comment-{cid}');

// в случае первой страницы часть роута /page{commentPageNum} отсутствует

ВСЁ!!!