Пагинация

24
В очереной раз я наткнулся на SEO-беозабразие в LS. На этот раз я обнаружил, что пагинация плодит дубли страниц.
Я заметил, что в индексе ПС оказалось сразу три главных страницы сайта

Читать дальше
  • +7
  • 20 марта 2012, 21:12
  • CZon

Бесплатный плагин «OpenID Comments»

20
«Наш ответ Чемберлену» :)



При отправке комментария гость увидит всплывающее окошко авторизации/регистрации, а после авторизации/регистрации его комментарий появится на сайте.

Плагин может работать совместно с плагином OpenID (что удобней для гостей сайта) или без него.

Github репозиторий плагина.
Пример работы плагина можно увидеть на Кукораме.

PS. Поблагодарить разработчиков можно отправив небольшой донейт

Модификация стандартного chekbox, функционал выделения и отключение всех chekbox

3
Недавно столкнулся с такой проблемой, в списке сообщений livestreet.ru/talk/ после нажатия на галочку, выделяются все «chekbox с определенным css классом» но нажимая второй раз эти галочки не снимаются, а по опыту использования на одном из проектов удобнее что бы было выделение и снятие галочки у chekbox.

Решается эта проблема заменой в js/main.js кода

	this.checkAll = function(cssclass, checkbox, invert) {
		$('.'+cssclass).each(function(index, item){
			if (invert) {
				$(item).attr('checked', !$(item).attr("checked"));
			} else {
				$(item).attr('checked', $(checkbox).attr("checked"));
			}
		});
	}
на немного модифицированный код

	this.checkAll = function(cssclass, checkbox, invert) {
		$('.'+cssclass).each(function(index, item){
			if (!$(checkbox).is(":checked")) {
				$(item).removeAttr("checked");
			} else {
				$(item).attr("checked","checked");
			}
		});
	}


PS Возможно кому то ещё пригодится такая модификация.

Спустя полгода LS 0.4.2 стал тормозить, описание ситуации

6
Вот и меня настигла нелегкая карма.

Проблема: При записи пустяковых вещей (комменты, небольшие топики) в БД через интерфейс LS от любого пользователя стали наблюдаться тормоза около 10 секунд.
Причем не постоянно. Но все же тормозить последнее время все стало.
Перезагружаю серв — все некоторое время ннормально, потом опять начинается…

Вплоть до выдачи вот такой ошибки иногда: «ошибка 504 Gateway Time-out nginx» (стоит Apache+nginx, причем не совсем уверен, что оно правильно настроено, но более полугода сайт работал без нареканий).

Количество активных пользователей на сайте около 30.
Ежедневная посещаемость ~ 100 уников.
В режиме чтения сайт работает нормально.

Хостинг fastvps.ru (виртуальный выделенный серв):


Статистика из админки:




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

Livestreet Wall

24
Данный плагин реализует функциональность под названием «Стена». Он очень похож на одноименную стену в_контакте и facebook.
Каждый пользователь в своем профиле имеет свою собственную стену. Существует коллективная стена, владельцем, которой является сам сайт. А так же фред-лента, которая содержит поток записей со стен друзей пользователя.
Плагин работает с активным применением технологии ajax.
Возможности пользователя:
— Добавление записи на стену
— Добавление изображения на стену
— Удаление своих записей, а так же чужих записей со своей стены
— Комментирование записей
— Удаление свои комментариев; комментариев, размещенных к записи пользователя; а так же удаление комментариев, размещенных к записям стены пользователя


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

Обновление шаблонизатора Smarty до версии 3.0.7

19
В SVN версии LS произошло обновление шаблонизатора Smarty, теперь используется последняя 3.0.7 версия, написанная на PHP 5.2.
Обновление в ядре прошло гладко, единственное пришлось внести изменения в стандартный класс Smarty — trac.lsdev.ru/livestreet/changeset/1129, это позволит делигировать шаблоны плагинами.

Теперь самое важное — для работы текущих шаблонов на новой версии шаблонизатора необходимо внести в них некоторые изменения. А именно:
  • везде, где используется
    {include file='file_name.tpl'}
    имя файла нужно брать в кавычках, по сути это относится к любым параметрам
  • не использовать апострофы `, т.е. было
    {include file='paging.tpl' aPaging=`$aPaging`}
    стало
    {include file='paging.tpl' aPaging=$aPaging}
    для математических выражений
    {section name=closelist1  loop=`$nesting-$cmtlevel+1`}
    меняем их на скобки
    {section name=closelist1  loop=($nesting-$cmtlevel+1)}
  • после открывающей фигурной скобки { и перед закрывающей } не должно быть пробельных символов, иначе они не считаются за конструкции Smarty
  • в условиях логические операторы необходимо отделять пробелами, было
    {if $aParams[0]=='favourites'and$aParams[1]!='comments'}
    стало
    {if $aParams[0]=='favourites' and $aParams[1]!='comments'}
Эти правила должны помочь достаточно легко адаптировать ваши шаблоны под текущую(а в последствии и новую версию) SVN версию LS.
Пример адаптации шаблона «new» — trac.lsdev.ru/livestreet/changeset/1128
  • +6
  • 28 апреля 2011, 00:09
  • ort

Особенности шаблонов Livestreet для новичков.

63
Параллельно с версткой своего шаблона, который, надеюсь, скоро будет доступен широкой общественности решил сделать пару заметок о том, что интересного и непонятного можно найти в файлах шаблона Livestreet. Будет полезно для тех, кто впервые открыл папку с шаблоном Livestreet.

Это не руководство по созданию тем LS, просто поможет избежать некоторых вопросов.

Читать дальше
  • +23
  • 14 марта 2011, 15:09
  • skif

Прикручиваем 3 Smarty к LS

11
В коментариях к одному из топиков, randomtoy попросил меня рассказать по подробней про прикрутку smarty 3 к ЛайвСтриту — рассказываю.

Там в общем-то ничего сложного нет.
1) Файл /engine/modules/viewer/Viewer.class.php
Не заработал метод Viewer -> TemplateExists()
Времени разбираться и делать по человечески не было, заменил внутренности функции на следующий код
if (file_exists($sTemplate)) return true;

foreach ($this->oSmarty->template_dir as $dir) {
   if (file_exists($dir . '/' . $sTemplate)) return true;
}
return false;



Читать дальше
  • +12
  • 22 февраля 2011, 16:05
  • Lurk

История про нагрузку и как я с ней боролся.

90
Случилось так, что на одном из проектов full time стал переваливать за 1,5 сек и при этом сжирался весь проц. При этом все остальные показали были в норме: база — 0,002 сек, кеш — 0,01 сек.

Пришлось прикручивать профайлер и смотреть, в чем дело.

Виноват оказался Smarty, который из 1,5 секунд работал 1,2 (шаблон, на проекте, используется стандартный с легкими изменениями).

Копаясь дальше нашел самый сложный шаблон comments_tree.tpl, который выполняет в цикле инклюд шаблона comment.tpl.

Проблема решилась отказом от инклюда и переносом содержимого из comment.tpl в comments_tree.tpl.

full time на топиках с 400+ комментариев не превышает 0,4 сек.

Надеюсь кому-то поможет.
  • +26
  • 09 февраля 2011, 00:25
  • Lurk