Плагин "Мои Вещи"
Пол дня пробил в чёрный бубен вызывая код миллионов, до дыр прокурил доки LS, но в итоге всё встало на свои места и на выходе получилось то, что ценят все пользователи суверенного Лепрозория — «Мои Вещи».
Плагин, в итоге, оказался довольно компактный и элементарный. Он добавляет пункт в основное меню, оттуда пользователи попадают в /mine/ где видят список всех топиков к которым они или их друзья имеют отношение (оставили там комментарий). Посты сортируются в порядке даты последних комментариев в них. Если активность была больше 4х недель назад, но эти топики в «Мои Вещи» не попадают.
Устанавливать — как обычно. Пожелания по улучшению принимаются.
В процессе разработки нашёл пару мелких багов в ядре — сделаю тикеты. Поскольку документация ядра довольно сырая, хотелось бы чтобы кто-то мог просвятить по теме кеширования. Хочу вывести счётчики «обновлений» в меню, но не хочу постоянно дёргать базу.
Скачать Плагин можно вот тут — 16Kb. Сегодня вечером отправлю на модерацию в каталог.
UPD: 07.Aug.2010 — Апдейт! Новая версия плагина, помимо исправления пары мелких косяков в совместимости с другими плагинами, появилось своё подменю, где есть магический фильтр «показывать только новое» с счётчиком непрочитаных комментариев. Ура! Качать там же или в каталоге!
Плагин, в итоге, оказался довольно компактный и элементарный. Он добавляет пункт в основное меню, оттуда пользователи попадают в /mine/ где видят список всех топиков к которым они или их друзья имеют отношение (оставили там комментарий). Посты сортируются в порядке даты последних комментариев в них. Если активность была больше 4х недель назад, но эти топики в «Мои Вещи» не попадают.
Устанавливать — как обычно. Пожелания по улучшению принимаются.
В процессе разработки нашёл пару мелких багов в ядре — сделаю тикеты. Поскольку документация ядра довольно сырая, хотелось бы чтобы кто-то мог просвятить по теме кеширования. Хочу вывести счётчики «обновлений» в меню, но не хочу постоянно дёргать базу.
Скачать Плагин можно вот тут — 16Kb. Сегодня вечером отправлю на модерацию в каталог.
UPD: 07.Aug.2010 — Апдейт! Новая версия плагина, помимо исправления пары мелких косяков в совместимости с другими плагинами, появилось своё подменю, где есть магический фильтр «показывать только новое» с счётчиком непрочитаных комментариев. Ура! Качать там же или в каталоге!
186 комментариев
1. Ссылка «Публикации» из профиля пользователя становится кривой, т.е. перестает работать.
2. Логичнее «Мои вещи» поместить не в главное меню, а всё то же в меню пользователя.
2. Я пробовал, но в стандартной шкурке там хук ну очень удачно расположен :(
ЗЫ
Кстати, а расскажите, пожалуйста, мне дилетанту, в каком файле и как перехватываете главное меню? Просто я тоже пытаюсь в менюху публикации вставить ссылку на новый вид топика, не хотелось бы курочить шаблон. Т.е. хотел всё красиво: плагином «забрал» менюху, «подсунул свою»..., т.е. хочу по аналогии с вашим плагином. Буду крайне признателен.
Выкладываю в каталог
443
а из 443 — половина это разметка, ещё четверть это SQL запросы, ну и пара расширений стандартных методов… реально кастомного кода оказалось наудивление мало, что, безусловно, радует.
На подходе ещё один плагин — Activity Feed — можно будет как вконтакте видеть что делают друзья в виде ленты.
Это под новый LS или 0.3?
В текущем плагине вообще не понятно для чего используется наследование через Inherit, можно просто унаследоваться напрямую от нужного модуля, например, ModuleTopic. Inherit необходимо использовать если требуется подменить стандартный модуль, чтобы вызовы вида $this->Topic_* вызывали уже модуль вашего плагина, который наследуется от ModuleTopic, и следовательно код не имеет смысла
?
Исправлено и обновлено
Как-то так, в общих чертах.
Как быть? что делать?
вообще самый простой способ — удалить таблицу
а вообще я это учту и добавлю в установщик!
проверить негде…
под топиком «в мои вещи»
а в списке топиков «стереть из моих вещей»
ну и конечно нужнейшая галка «показывать только новые» ;)
И в целом оно будет рулить, как мне кажется.
Часть хука:
Часть конфига:
Для меня например плагин невозможно использовать, потому что он в упор не видит ссылок на блоги при использовании плагина AceBlogExtender.
А счастье было так близко…
А выглядит все просто — с личными блогами, с закрытыми блогами все работает без вопросов и нареканий, с блогами, созданными под плагином aceblogextender — нет, запись в блог попросту не появляется в «моих вещах».
Если учесть что у большинства пользователей плагина блоги создавались из под него — с подкатегориями etc., то для нас, пользователей этого плагина, совместное использование выглядит проблематичным ;)
Если установлен мой плагин, то элементарно:
тип блогов из твоего плагина?
Конечно, можешь. Добавь туда еще тип subcat. Но если есть (или будут) еще какие-то плагины, которые добавляют свои типы блогов, то они — «мимо кассы».
Я попробовал — почти всё работает.
Правда там другая проблема… я не совсем понял как работают кишки LS но хук «topic_add_after» получается занят blogextender и он не срабатывает у меня. Соответственно новые посты без комментариев в Мои Вещи не попадают. Может быть знаешь что там надо настроить чтобы всё было чики-пики?
И первый хук «topic_add_after» не выполняется если другой плагин «его занимает» :(
А то я уже менюшку прикрутил и «показывать только новые» и счётчик этих самых новых…
Правда там другая проблема… я не совсем понял как работают кишки LS но хук «topic_add_after» получается занят blogextender и он не срабатывает у меня. Соответственно новые посты без комментариев в Мои Вещи не попадают.
Удалите просто всё из файла dump.sql и будет вам щастя™!
Проще и логичнее сделать кнопку «подписаться на комментарии», пользователь хочет получать все новые комменты — нажмет, не хочет — не станет. Хотя может это типо устарело или не модно..)))
Помогите, если можно.
и попробовать активировать.
Ваш плагин, и «Stream Plugin (Поток Обсуждений)» походу трут друг друга.
→ livestreet.ru/blog/addons/4783.html
→ livestreet.ru/blog/tips_and_tricks/3771.html
Как именно?
Они не «трут», а используют один и тот же столбец (topic_last_update) из таблицы prefix_topic. Этот столбец создается обоими плагинами при установке. Но, плагин «Мои Вещи», после своей деактивации за собой подчищает, а «Stream» — нет.
Вот в результате и возникает ситуация: при активации какого-либо из этих двух плагинов, если «противоположный плагин» уже активирован, движок выдает ошибку «Что, якобы, невозможно создать столбец — он уже имеется» и не дает возможности активировать плагин.
Я, к примеру, активировал «вручную» — дописывал плагин в plugins.dat. Правда, не знаю «корректно» ли это, но способ работает.
Неплохо бы было при активации плагина добавить проверку на наличие столбца topic_last_update в таблице prefix_topic.
Пытался это сделать самостоятельно, но не нашел какую функцию PHP использовать для проверки наличия столбца в таблице.
Может кто в курсе?
livestreetcms.com/addons/view/7/
здесь есть версия плагина Stream 0.1.2, в которой он не дропает столбецтолько при условии, что активирован плагин mystuff
Вы используете последние версии плагинов?
Под словом «подчищает» я подразумевал удаление плагином (при деактивации) созданных им же (при активации) элементов (таблица, столбцы) в базе данных.
С одной стороны — это хорошо, а с другой — не очень…
Спасибо, что информировали о новой версии. До этого я использовал версию 0.1.0. В версии 0.1.2, как я вижу, при активации уже выполняется проверка на наличие соответствующих элементов в БД.
Посмотрите некоторые мои размышления здесь: http://livestreet.ru/blog/questions/5207.html
Кстати, очень удобно для просмотра новых комментариев
Вы переходите в меню «Мои Вещи»?
Другие плагины конечно есть, а хрен знает что его перекрывает. Это уже не первый плагин, функционал которого перекрывает другой плагин ((
Оказывается автор плагина, перепутал местами архивы. И залил их неправильно. Отсюда народ и мучается!
Тоесть, если перейти в каталог и обратить внимание на описание плагина, то мы увидим что написано, что залита «Версия 0.2.0». А при скачке естественно отдается «версия 0.1.1»
А вот «Версия 0.2.0» лежит какраз в дропбоксе.
Вообщем вот такой вот каламбур :)
И добавить: mystuff
выше уже спрашивали
Да нет… в принципе. Чему там ломаться.
Я сам так включал. Всё работает. Только кнопка «Мои Вещи» не появилась в шаблоне. А если перейти в сайт.ру/mine то всё ок.
и всё заработает
В моих вещах ссылка на любой топик заканчивается как /.html
Тоесть кусок ссылки просто выпадает
Куда копать?
У кого получилось — отпишитесь.
Вот такая вот ошибка появляется, когда удалишь топик который у тебя есть в моих вещах…
Эх, грущу. :(
У кого получилось — отпишитесь.
У кого получилось — отпишитесь
унаследуйся от PluginNiceurl_ModuleTopic вместо ModuleTopic
класс Topic.class.php (/plugins/mystuff/classes/modules/topic
) имеет следующий вид:
и всё сразу заработало.