Внимание! Форум временно закрыт. Все вопросы вы можете задать на странице MaxSite CMS в Github

Недочёт: виджет последних комментариев

Здесь можно публиковать найденные баги и замечания по системе.
Аватар пользователя
Slonne
Сообщений: 52
Зарегистрирован: 01 дек 2012, 00:04

Недочёт: виджет последних комментариев

Сообщение Slonne » 18 фев 2014, 00:05

версия 0.86

Проблема с виджетом последних комментариев. Хотелось бы, чтоб при нажати на комментарий, окно браузера фокусировалось на этом комментарии.
Как работает сейчас - если ты просто читаешь комментарии к посту, то при нажатии на дату (она является ссылкой на комментарий, якорем) комментарий помещается в самый верх окна, что, в принципе, логично и удобно. Но такого эффекта не наблюдается, если хочешь перейти к выбранному комментарию, увиденному в виджете последних комментариев - кидает либо в самый верх страницы, либо чуть ниже, т.е. какой-то эффект якоря есть, но неполный. А ссылки те же самые, вида http://название сайта/page/kartinki#comment-223

UPD: проблема незначительная, потому что даже если при чтении комментариев к посту кликнуть на ссылку последних комментариев, кидает в самый верх страницы (т.к. до футера недостаточно места для того, чтобы поднять выбранный комментарий в верх окна). Из ленты комментариев (не виджет, а пункт меню в /comments) тоже при нажатии на последние комментарии кидает в самый верх страницы, но т.к. там комментов больше отображено, то при нажатии на более старые комментарии, окно позиционируется как положено и комментарий оказывается в верху окна.

Возможно, проблему получится решить, если сделать отступ от последнего комментария и до футера высотой в 1000 пикселей, но это какое-то деревянное решение, лучше бы в верх страницы не кидало, а кидало уже в самый низ - где последний комментарий. Короче, что-то не так с якорями для последних комментариев.

Аватар пользователя
Slonne
Сообщений: 52
Зарегистрирован: 01 дек 2012, 00:04

Re: Недочёт: виджет последних комментариев

Сообщение Slonne » 08 авг 2014, 14:53

нашёл причину проблемы, всё до безумия просто. Дело в том, что комментарии в сайдбаре считаются как бы настоящими комментариями, расположенными под постом, поэтому при нажатии на комментарий именно он, комментарий из сайдбара поднимается в самый верх страницы.
Заглянул в код, боюсь наломать дров, а решение должно выглядеть просто - в виджет должен попадать только текст комментария и обрамляться ссылкой на него. А сейчас попадает ссылка и обрамляется ссылкой же.

чую, что дело в 155 строке, но не уверен, помогите, а? )

Код: Выбрать все

$out .= '<ul class="is_link last_comment">' . NR;

Аватар пользователя
MAX
Администратор
Сообщений: 3179
Зарегистрирован: 31 янв 2009, 19:02

Re: Недочёт: виджет последних комментариев

Сообщение MAX » 08 авг 2014, 15:29

Ссылки на комментарий формируются как #comment-XXX. На странице каждый комментарий снабжен такием же id. Таким образом, если нет скролинга к комментарию, то либо его нет на странице (проверить поиском по исходному коду Crtl+U, Ctrl+F), либо страница еще не загрузилась (типовое поведение браузеров).

Аватар пользователя
vimruler
Сообщений: 401
Зарегистрирован: 13 май 2009, 09:31

Re: Недочёт: виджет последних комментариев

Сообщение vimruler » 08 авг 2014, 16:53

Slonne писал(а):нашёл причину проблемы, всё до безумия просто. Дело в том, что комментарии в сайдбаре считаются как бы настоящими комментариями, расположенными под постом, поэтому при нажатии на комментарий именно он, комментарий из сайдбара поднимается в самый верх страницы.

чую, что дело в 155 строке, но не уверен, помогите, а? )

Код: Выбрать все

$out .= '<ul class="is_link last_comment">' . NR;


Посмотрел ваш сайт и увидел описанную проблему. Вы отчасти правильно уловили суть проблемы («каменты в виджете считаются настоящими»), но проблема не в указанном вами коде. Проблема зарыта в строке 168, в которой код:
$out .= '<li class="' . $css_style_add . '"><a href="' . getinfo('siteurl') . 'page/' . mso_slug($page_slug) . '#comment-' . $comments_id . '" id="comment-' . $comments_id . '"><strong>';


Если в этом коде убрать у ссылки формирование идентификатора id (т.е. убрать «id="comment-' . $comments_id . '"» ), то перескакивание по анкору происходит к правильному месту - именно к комментарию, после поста, а не к виджету.

Если честно, то не знаю зачем нужен id в виджите последних комментариев. Он скорее нужен именно при выводе самого комментария.

ЗЫ: Если проблема решена, то ваш пост с вопросом на http://maxhub.ru публиковать не буду, ибо всё равно там ничего кроме ссылки сюда ничего полезного нет.

Аватар пользователя
MAX
Администратор
Сообщений: 3179
Зарегистрирован: 31 янв 2009, 19:02

Re: Недочёт: виджет последних комментариев

Сообщение MAX » 08 авг 2014, 20:23

Верно. Нужно убрать это id. Внесу изменения.

Аватар пользователя
Slonne
Сообщений: 52
Зарегистрирован: 01 дек 2012, 00:04

Re: Недочёт: виджет последних комментариев

Сообщение Slonne » 19 авг 2014, 00:54

да вот как-то и не помогает. пробовал по-всякому, не получилось.

UPD: хм, я оставил это исправление и утром обнаружил, что всё работает, как положено, как мне хотелось. А вчера не хотело, и дело не в кэше, т.к. на ошибки реагировало мгновенно. Это странно, это очень странно. Спасибо за подсказку и решение проблемы!


Вернуться в «Найденные ошибки, замечания и пожелания по системе»

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей

cron