Прикрепление топиков: Sticky Topics v2

В последнее время, я смотрю, тема прикрепления/закрепления топиков снова стала актуальной, поэтому…



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


И, как говорится, лучше один раз увидеть:


// Встраивать прикрепленные топики в общую ленту? Они в любом случае передаются в шаблонную переменную $aStickyTopics
$config['sticky_topics_in_feed']=true;

Если этот параметр TRUE, тогда прикрепленные топики «встраиваются» первыми в общую ленту. Можно этот параметр сделать FALSE и тогда список прикрепленных топиков будет в шаблоне отдельно, в переменной $aStickyTopics – это может быть полезно для того, чтобы отображать эти топики как-то по другому, не как все остальные.

// Разрешать пользователям закреплять топики в списке их топиков на страничке /profile/ХХХХ/created/topics/
$config['allow_personal_sticky_topics']=true;


Этой опцией можно запретить пользователям закреплять записи на их страничке. С помощью StickyTopics ваши пользователи могут получить некую свою приветственную страничку – сделать приветственный топик и закрепить его.

// Разрешать пользователям закреплять на их страничках:
// любые доступные топики - all
// написанные ими - self
// написанные только в персональный блог - personal
$config['personal_sticky_topics_kind']='self';


Ограничивает типы записи, которые пользователь может закрепить на свой страничке

// Разрешать закреплять в блогах:
// любые доступные топики - all
// написанные только в этот блог - blog
$config['blog_sticky_topics_kind']='blog';

Ограничивает типы записи, которые можно закрепить в блоге

Собственно, идеи по развитию приветствуются, но что будут реализованы «здесь и сейчас» не обещаю — куча дел, да и приболел я, что-то…

56 комментариев

avatar
Отлично!
  • ARM
  • 0
avatar
скажите, а вы можете сделать какое то отличие на закрпеленных топах? например скрепку в углу графическую добавить или что то? очень полезно будет и заметно.
avatar
Если теперь перекачать с гитхаба, то в шаблоне можно проверять $oTopic->bStickyTopic и если TRUE то это прикрепленный топик — делайте с ним в шаблоне все, что угодно.
avatar
подскажите, $oTopic->bStickyTopic нужно в топик.тпл вставлять? можно пример? как мне например в шапке топика вставить картинку около заголовка, если топик — $oTopic->bStickyTopic
avatar
решил сам. в topic_part_header прописал в нужное место
avatar
{if $oTopic->bStickyTopic}
			
			{else}
			
			{/if}
avatar
Файл плагина не найден — это при активации. как папка должна называтся?
avatar
stickytopics
avatar
Notice: Undefined variable: oBlog in /home/raity/domains/public_html/plugins/stickytopics/classes/actions/ActionAdmin.class.php on line 26
avatar
Изменить эту 26 строчку:
-        if (!$this->ACL_CanStickTopic($this->oUserCurrent, 'index', $oBlog))
	
+        if (!$this->ACL_CanStickTopic($this->oUserCurrent, 'index'))
avatar
Троекратное ура!
avatar
В плагине «компании» в блоге компаний будет работать?
avatar
Ничего не могу ответить на этот вопрос — нет у меня плагина «компании». Но с огромной долей вероятности могу сказать, что вряд ли…

Адаптация — не вопрос, при условии что у меня данный плагин будет. Естественно, обязуюсь его не использовать, не распространять и т.д. и т.п. Связь — через личку.
avatar
Notice: Undefined variable: oBlog in /home/raity/domains/public_html/plugins/stickytopics/classes/actions/ActionProfile.class.php on line 98
avatar
это при удалении одного из новых топиков — который кстати не был прикреплен.

зашел туда сменил так же как и в 26 строке выше

if (!$this->ACL_CanStickTopic($this->oUserCurrent, 'index'))
— сделал так

терь пишет

Warning: Missing argument 3 for PluginStickytopics_ModuleACL::CanStickTopic() in /home/raity/domains/public_html/plugins/stickytopics/classes/modules/acl/ACL.class.php on line 25


98 строка оригинал

if (!$this->ACL_CanStickTopic($this->oUserProfile, 'personal', $oBlog))
avatar
дополню что эта ошибка лезет только в профиле юзера в created/topics/
avatar
Ага. Отлаживал на «рабочем» PHP с отключенными нотисами и ворнингами.

в ACL.class.php 98 строка:
-    public function CanStickTopic(ModuleUser_EntityUser $oUser,$sTargetType,$iTargetId)
+    public function CanStickTopic(ModuleUser_EntityUser $oUser,$sTargetType=null,$iTargetId=null)


Ну или перекачать с гитхаба
avatar
Ну и в ActionProfile.class.php 98 строка
-        if (!$this->ACL_CanStickTopic($this->oUserProfile, 'personal', $oBlog))
+        if (!$this->ACL_CanStickTopic($this->oUserProfile, 'personal'))
avatar
спасибо
avatar
: Call to a member function getBlog() on a non-object in /home/domains/public_html/templates/compiled/social/df1ce8d9ad450e760f403c54fe73f1049f78360b.file.block.stream_comment.tpl.php on line 44
avatar
я вообщето убрал это сбоку теперь нет ошибки. но для других — возможна()
avatar
Мнээээ… А это вообще вряд ли как-то относится к моему плагину.
avatar
Появилась такая мысль.

Может быть помечать прикрепленные топики как то?
И добавить кнопку открепить в самом топике, что бы не лезть так “далеко/глубоко“.
avatar
Насчет как-то помечать — это дело шаблона. Поставить в шаблоне условие livestreet.ru/blog/addons/13077.html#comment200323 и помечать как вам угодно.

Насчет кнопки «открепить»… Честно говоря не уверен в ее необходимости — все-таки это не ежедневная операция, по идее-то.
avatar
А плагин будет работать в Лентой (Flow) закрепляя по верх флоу нужные топики, думаю это нужно многим пользователям LiveStreet
avatar
Flow у меня нет и я даже не представляю как оно работает внутри :)

Блин, вопрос получения исходников платных плагинов становится все более актуальным… Попробую провентилировать вопрос получения на предмет совмещения.
avatar
Будем, вернее работает.
avatar
будеТ
avatar
Кстати да… А что, в Flow нет такой нативной фичи? Как бы напрашивается…
avatar
на скоко я понял если через админку добавить топ наверх он и в флоу висит вверху
avatar
нету. — закреплять по верх флоу несколько топиков нельзя.
avatar
в FLOW плагин работает отлично, но есть один минус, когда здесь вставляем FALSE ($config['sticky_topics_in_feed']=true;) — то плагин из FLOW пропадает, поскольку не закрепляется поверх данной ленты.
avatar
Ну, как бы… Так и должно быть… В чем проблема?
avatar
Я про это — Можно этот параметр сделать FALSE и тогда список прикрепленных топиков будет в шаблоне отдельно, в переменной $aStickyTopics – это может быть полезно для того, чтобы отображать эти топики как-то по другому, не как все остальные.
avatar
Что имеется ввиду под «как-то по другому»?
avatar
Ну это и имеется в виду — вы сами можете сделать какой-нибудь специальный внешний вид для таких топиков.
avatar
Хочется закрепить четыре топика по верх Ленты на главной — при этом сохраняя внешний вид Flow. Можете помочь в этом? Где точно, что менять? Поскольку хотелось бы закрепить материалы именно поверх Ленты, а не внутри нее. (www.ifamous.me)
avatar
Не совсем понимаю, что не так, если топики закрепляются внутри ленты? Вы хотите, чтобы они как-то по другому выглядели или что? Как часто должны меняться топики?
avatar
У меня при заходе в блог выпадает такая ошибка
Warning: Invalid argument supplied for foreach() in /var/www/romanovcmc/data/www/mirpetel.ru/plugins/stickytopics/classes/actions/ActionBlog.class.php on line 119

Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /var/www/romanovcmc/data/www/mirpetel.ru/plugins/stickytopics/classes/actions/ActionBlog.class.php on line 149

шаблон социал,
плагины:
aceAdminPanel: v.2.0.382 — Ok
Amazon S3 integration: v.1.0
AutoAlt: v.1.0
AutoCut: v.0.0.4
AutoOpenID: v.1.5.32
Камера: v.1.0.2
Chat: v.0.1
DAO: v.3.1.2
Debug Toolbar: v.0.2.0
EC: v.0.4
LSGallery: v.0.4.0
Main preview topic: v.1.1
Static page: v.1.3.2
Popup info: v.1.1.2
QA: v.3.0
Search Auto Completer: v.1.2.0
SEO: v.0.2.0
Похожие записи: v.0.3.0
Simple Rating: v.1.2
Simple Search and Auto Completer: v.1.1.2
Sitemap: v.0.3.0
StickyTopics v2: v.2.0.1
Tags like full: v.1.0.2
Template Social: v.3.2
TinyMce: v.1.1.0
TOPICcck: v.1.3
Topic info: v.1.0.3
Tricky Title: v.1.0
Viewcount: v.1.0.0
aceBlogExtender: v.2.1.752 — Ok
avatar
Я болел, поэтому такая задержка.

Видимо какой-то из ваших плагинов неадекватно реагирует на пустой массив топиков для получения информации функцией GetTopicsAdditionalData. Это, конечно, спорный вопрос правильно это или нет, но я считаю, что раз был передан пустой массив, то пустой массив и должен быть возвращен, а не непонятно, что. Для решения проблемы именно в блогах и на главной странице поместил фикс на гитхаб.
avatar
Вопрос нуба, что такое гитхаб? и куда нам теперь идти =) (для решения временно отключил Viewcount: v.1.0.0 но плагин то нужный вроде как...)
avatar
github.com/kerbylav/stickytopicsv2/archive/master.zip

только после разархивации не забыть папку stickytopicsv2-master переименовать в stickytopics
avatar
Очень оперативно, большое спасибо!!! прям неожидал, плагин архи нужный.
avatar
Не удается на главной закреплять топики из персональных блогов. Я что-то не так делаю?
avatar
Не рассчитано на то, что на главной будут закрепляться топики из персональных блогов, кроме блога админа.
avatar
Ок. Я могу вам заказать доработку этого функционала и ещё кое какого?
avatar
Все зависит от ТЗ и сроков. Не могу сказать, что я сейчас очень свободен…
avatar
Здравствуйте. При использовании LS 1.0.3 и aceAdminPanel, ссылка в админке на страницу /admin/sticky/ генерируется без параметра security_ls_key, как у вас в видео. Из-за этого ajax запрос на поиск топиков возвращает «Hacking attemp!».
Подскажите, пожалуйста, как это можно обойти не отключая ace админку?
avatar
Warning: Invalid argument supplied for foreach() in /plugins/stickytopics/classes/actions/ActionProfile.class.php on line 127

Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /plugins/stickytopics/classes/actions/ActionProfile.class.php on line 158

Ошибка на странице профиля. И не работает, почему то, поиск.
avatar
скажите пожалуйста, как сделать, чтоб в админке искало не только мои топики
avatar
находит только несколько топиков, на сайте более 1000+ топиков :( Кто нибудь сталкивался с подобной проблемой?
avatar
день добрый граждане.

нужна помощь с этим плагином. я по всей видимости что-то делаю не так, либо что-то не далаю вовсе для его настрйоки. опыт взаимодействия с LS можно сказать никакой, но анализ ситуации показал, что веротянее всего я не понимаю как сделать подмену стандартной стартовой страницы на страницу из плагина. был бы благодарен за разъяснения в этмо вопросе.

заранее спасибо за помощь.
avatar
страницу из плагина
тут нет ни какой подмены плагин работает вроде со всеми шаблонами
переходите на сайт/admin/sticky/ и выбираете нужный топик для прекрепления
avatar
я так делаю, но на главной топик не всплывает вверх
avatar
вопрос закрыт.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.