+19.40
Рейтинг
81.45
Сила

Сворачиваем/разворачиваем все ветки в списке комментариев

Увидел на нескольких сайтах возможность сворачивания/разворачивания веток комментариев. Такая возможность очень удобна, когда много комментариев и среди них много вложенных.

1. В template.js шаблона ДО инициализации комментариев (здесь) добавим функции «перелючалок» (toggle):
Читать дальше →

Залогинен или нет

Как админу сайта можно «вытащить» инфо, что пользователь именно сейчас залогинен?
Где хранится и по какому признаку сохраняются данные в «Последний раз был на сайте»?
Как подсчитать количество залогиненных в данный момент?

Асинхронная загрузка css и js

Как использовать асинхронную загрузку css и js,
если в шаблоне мы имеем только {$aHtmlHeadFiles.css} и {$aHtmlHeadFiles.js}?

Думаю, что нужно jQuery не мержить (array('merge'=>false)), а остальное «подавать» в обертке ниже. Однако почему-то исключенные с мержа файлы подключаются ниже смерженных. Т.е. нужна возможность при подключении дополнительно указывать выше ли ниже (типа append и prepend).

При этом нужно учитывать включен ли в конфиге мерж.

Вот только как это все сделать?

Мобильная версия

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

Для воспроизведения нужно почистить куки браузера.

Количество просмотров страниц

Как известно, все существующие решения (плагины) для подсчета количества просмотров прилично увеличивают количество запросов к базе.

Например, на моем сайте скорость загрузки главной увеличивается более чем в 3 раза:
— с включенным плагином просмотры — full time: 0.638, Mysql Query: 63
— с отключенным плагином — full time: 0.193, Mysql Query: 27

Существует ли на сегодняшний день решение без такого «нагрузона»?

Кстати, большинство сайтов используют системы аналитики (Yandex Metrika, Google Analytics и др.).
Возможно ли «вытащить» через их API данные по просмотрам в соответствии с url топика и поставлять их в футер? Ведь они там есть…

Как сохранить совместимость при адаптации js шаблона (плагина) к js движка

Зачастую при адаптации шаблонов/плагинов так и тянутся руки поправить js в движке, что чревато потерей совместимости с другими шаблонами и плагинами.

Чтобы разобраться с этим вопросом и с целью самообразования, решил написать этот топик — может кому-то пригодится.

Какие есть варианты:
  1. Редактировать js-файлы прямо в движке
  2. Переписать (переопределить) нужный метод

Читать дальше →

Баг в "Активности" при восстановлении комментария из лички в LS1.0.3 (Решено)

Ломается страница Активности (/stream) с выводом ошибки:

Fatal error: Call to a member function getUrl() on null in /templates/compiled/youskin/xxxxx.file.events.tpl.php on line XX

Происходит это после:
— пишем к какому-нибудь письму в личке комментарий
— удаляем этот каммент (может только админ)
— затем восстанавливаем
— после этого этот комментарий «лезет» в активность и на странице вышеуказанная ошибка
— повторное удаление каммента решает проблему, но восстановление приводит к багу

Восстановление происходит по ls.comments.toggle через ajax, вызываемом в шаблоне здесь.
Предполагаю, что проблема здесь, когда любой восстановленный каммент отправляется в ленту активности.

Посоветуйте, кто знает, как решить проблему.

UPD — Проблему решил, добавив условие, т.е. заменой этой строки на:
if ($oComment->getTargetType() != "talk"){
    $this->Stream_write($oComment->getUserId(), 'add_comment', $oComment->getId(), !$oComment->getDelete());
}