LiveStreetCMS.org. Topics powered by livestreet cms blogs


Sticky Topics v2 / Дополнительные модули и доработки для LiveStreet / LiveStreet CMS

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

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

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

// Встраивать прикрепленные топики в общую ленту? Они в любом случае передаются в шаблонную переменную $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'; Ограничивает типы записи, которые можно закрепить в блоге

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

livestreet.ru

вывод топиков / Поиск по тегам / LiveStreet CMS

Всем привет!

Появилась задача вывести на странице топика, к примеру, после комментариев, топики из текущего блога. Т.е. читая топик из блога «Сайты на LiveStreet», в конце топика видим список топиков (через topic_list) из этого же блога.

Спустя какое-то время удалось это сделать через метод GetTopicsByBlog(). Написал в шаблоне (в любом файле, к примеру, в конце comment_tree.tpl или в своем tpl) (да, знаю, что так нельзя) примерно такое:

{assign var="oBlog" value=$oTopic->getBlog()} {assign var="aTopics" value=$LS->Topic_GetTopicsByBlog($oBlog,1,4)} {assign var="aTopics" value=$aTopics.collection} {include file='topic_list.tpl'}

Дальше идем в topic_list.tpl для того, чтобы убрать дубляж (чтобы в списке топиков не выводился тот, который читаем). Находим этот цикл:

{foreach from=$aTopics item=oTopic} {if $LS->Topic_IsAllowTopicType($oTopic->getType())} {assign var="sTopicTemplateName" value="topic_`$oTopic->getType()`.tpl"} {include file=$sTopicTemplateName bTopicList=true} {/if} {/foreach}

Изменяем его на это (добавил переменную для текущего топика, не знаю, может есть стационарная):

{if $oTopic}{$CurrTopic=$oTopic->getId()}{/if} {foreach from=$aTopics item=oTopic} {if !$oTopic || $oTopic->getId()!=$CurrTopic} {if $LS->Topic_IsAllowTopicType($oTopic->getType())}{assign var="sTopicTemplateName" value="topic_`$oTopic->getType()`.tpl"} {include file=$sTopicTemplateName bTopicList=true}{/if} {/if} {/foreach}

В результате должно получится так, что на странице топика, после комментариев будет выводиться 4 последних топика из текущего блога. Если нужны топики из конкретного блога, то необходимо заменить

{assign var="aTopics" value=$LS->Topic_GetTopicsByBlog($oBlog,1,4)} на это {assign var="aTopics" value=$LS->Topic_GetTopicsByBlogId(BLOG_ID, 1, 10, array ('blog'), false)} где BLOG_ID это id необходимого блога.

livestreet.ru

Список хуков LiveStreet CMS 1.0.1 / Блог разработки LiveStreet / LiveStreet CMS

На днях написал черновик по списку хуков и так забыл о нем, пока не увидел новое видео от Максима и сразу вспомнил об этом тексте, решив под общий шумок вокруг хуков добавить и эту статью. Я видел разные топики, где спрашивали "есть ли список хуков?". Да, есть. Вот он.

Привожу список стандартных хуков для чистой официальной ЛС 1.0.1, большинство из них неявно прописаны в движке, поэтому попытка найти их вызовы в коде у вас не выйдет т.к. часть их них автоматически формируется ядром движка. Из стандартной поставки ЛС хуки в сумме вызываются 486 раз, некоторые по нескольку раз. Это нормально. Здесь приведены 161 хук, которые доступны в ЛС 1.0.1, в порядке их вызова, начиная с самого первого, исключая дальнейшие повторения.

module_Hook_init_after module_Plugin_init_before module_Plugin_init_after module_Cache_init_before module_Cache_init_after module_Security_init_before module_Security_init_after module_Session_init_before module_Session_init_after module_Lang_init_before lang_init_start module_Viewer_init_before viewer_init_start module_Viewer_init_after module_viewer_assign_before module_viewer_assign_after module_Lang_init_after module_Message_init_before module_session_get_before module_session_get_after module_Message_init_after module_User_init_before module_Database_init_before module_Database_init_after module_database_getconnect_before module_database_getconnect_after module_cache_get_before module_cache_get_after module_cache_set_before module_cache_set_after module_Geo_init_before module_user_getusercurrent_before module_user_getusercurrent_after module_Geo_init_after module_geo_gettargetsbytargetarray_before module_geo_gettargetsbytargetarray_after module_cache_clean_before module_cache_clean_after module_User_init_after engine_init_complete init_action module_Ls_init_before module_Ls_init_after module_ls_senderrun_before module_ls_senderrun_after action_init_actionindex_before module_Topic_init_before module_Topic_init_after module_topic_getcounttopicscollectivenew_before module_Blog_init_before module_Blog_init_after module_blog_getaccessibleblogsbyuser_before module_blog_getaccessibleblogsbyuser_after module_topic_getcounttopicscollectivenew_after module_topic_getcounttopicspersonalnew_before module_topic_getcounttopicspersonalnew_after action_init_actionindex_after action_event_index_before module_viewer_sethtmlrssalternate_before module_viewer_sethtmlrssalternate_after module_viewer_sethtmlcanonical_before module_viewer_sethtmlcanonical_after module_topic_gettopicsgood_before module_lang_get_before module_lang_get_after module_user_getusersadditionaldata_before module_user_getusersadditionaldata_after module_blog_getblogsadditionaldata_before module_blog_getblogsadditionaldata_after module_Vote_init_before module_Vote_init_after module_vote_getvotebyarray_before module_vote_getvotebyarray_after module_Favourite_init_before module_Favourite_init_after module_favourite_getfavouritesbyarray_before module_favourite_getfavouritesbyarray_after module_topic_gettopicsgood_after topics_list_show module_viewer_makepaging_before module_viewer_makepaging_after action_event_index_after action_shutdown_actionindex_before action_shutdown_actionindex_after module_session_getid_before module_session_getid_after module_session_set_before module_session_set_after module_Talk_init_before module_Talk_init_after module_talk_getcounttalknew_before module_talk_getcounttalknew_after module_topic_getcountdrafttopicsbyuserid_before module_topic_getcountdrafttopicsbyuserid_after module_viewer_display_before template_html_head_begin template_html_head_end module_viewer_addblock_before module_viewer_addblock_after template_body_begin template_write_item template_container_class template_header_banner_begin template_main_menu_item template_main_menu template_userbar_nav template_userbar_stat_item template_userbar_item_first template_userbar_item_last template_header_banner_end template_menu_blog template_wrapper_class module_viewer_getblocks_before module_viewer_getblocks_after module_Comment_init_before module_Comment_init_after module_comment_getcommentsonline_before module_blog_getinaccessibleblogsbyuser_before module_blog_getinaccessibleblogsbyuser_after module_topic_gettopicsadditionaldata_before module_topic_gettopicsadditionaldata_after module_comment_getcommentsonline_after module_viewer_getlocalviewer_before module_lang_getlangmsg_before module_lang_getlangmsg_after module_viewer_getlocalviewer_after template_block_stream_nav_item module_topic_getopentopictags_before module_topic_getopentopictags_after module_Tools_init_before module_Tools_init_after module_tools_makecloud_before module_tools_makecloud_after template_block_tags_nav_item module_blog_getblogsrating_before module_blog_getblogsrating_after template_menu_blog_index_item template_content_begin module_topic_isallowtopictype_before module_topic_isallowtopictype_after template_topic_content_begin template_topic_content_end template_block_topic_share template_topic_show_vote_stats template_topic_show_info template_content_end template_footer_menu_user_item template_footer_menu_navigate_item template_copyright template_footer_end template_body_end module_database_getstats_before module_database_getstats_after module_cache_getstats_before module_cache_getstats_after module_viewer_fetch_before template_statistics_performance_begin template_statistics_performance_item template_statistics_performance_end module_viewer_fetch_after module_viewer_display_after Как видим — первым хуком стартует модуль хуков module_Hook_init_after, который срабатывает сразу после инициализации механизма хуков :)

Хуки, которые начинаются на

Это кросспост из гида по ЛС.

livestreet.ru

Выводим топики из текущего блога / Блог им. netiman / LiveStreet CMS

Всем привет!

Появилась задача вывести на странице топика, к примеру, после комментариев, топики из текущего блога. Т.е. читая топик из блога «Сайты на LiveStreet», в конце топика видим список топиков (через topic_list) из этого же блога.

Спустя какое-то время удалось это сделать через метод GetTopicsByBlog(). Написал в шаблоне (в любом файле, к примеру, в конце comment_tree.tpl или в своем tpl) (да, знаю, что так нельзя) примерно такое:

{assign var="oBlog" value=$oTopic->getBlog()} {assign var="aTopics" value=$LS->Topic_GetTopicsByBlog($oBlog,1,4)} {assign var="aTopics" value=$aTopics.collection} {include file='topic_list.tpl'}

Дальше идем в topic_list.tpl для того, чтобы убрать дубляж (чтобы в списке топиков не выводился тот, который читаем). Находим этот цикл:

{foreach from=$aTopics item=oTopic} {if $LS->Topic_IsAllowTopicType($oTopic->getType())} {assign var="sTopicTemplateName" value="topic_`$oTopic->getType()`.tpl"} {include file=$sTopicTemplateName bTopicList=true} {/if} {/foreach}

Изменяем его на это (добавил переменную для текущего топика, не знаю, может есть стационарная):

{if $oTopic}{$CurrTopic=$oTopic->getId()}{/if} {foreach from=$aTopics item=oTopic} {if !$oTopic || $oTopic->getId()!=$CurrTopic} {if $LS->Topic_IsAllowTopicType($oTopic->getType())}{assign var="sTopicTemplateName" value="topic_`$oTopic->getType()`.tpl"} {include file=$sTopicTemplateName bTopicList=true}{/if} {/if} {/foreach}

В результате должно получится так, что на странице топика, после комментариев будет выводиться 4 последних топика из текущего блога. Если нужны топики из конкретного блога, то необходимо заменить

{assign var="aTopics" value=$LS->Topic_GetTopicsByBlog($oBlog,1,4)} на это {assign var="aTopics" value=$LS->Topic_GetTopicsByBlogId(BLOG_ID, 1, 10, array ('blog'), false)} где BLOG_ID это id необходимого блога.

livestreet.ru

О блоге | LiveStreetCMS.org

Потому что правда — удаляется.

Недавно, как обычно читая и листая сообщество livestreet.ru, я увидел оскорбления в мой адрес. Вот такие.Меня задела фраза — «уже давно выкладывает ВСЕ в паблик».

Полный бред — я ничего не выкладываю просто так.

Да, плагины и все творения мудака nickostyle’я я выкладываю. А почему ? Это отдельная история. Человек наехал на меня, просто так, как школоло какой-то. Решил публичное срачилово устроить из-за какой-то абсолютной хуйни, как копирайт. Я купил шаблон, значит купил и копирайт. Но он в мае 2012 решил посраться. И притом написал мне не на email, а запостил публичное срачилово. Любой уважающий себя человек не пропустит такое оскорбление.На что он и получил мое противодейтвие — я выложил в том топике срача его шаблон. Думал он успокоится. Но нет, из него поперло какое-то говно, споры, тупость. Понес какую-то ересь. А потом и вовсе на маты скатился, начал обзываться, родителей обзывать и т.д. Можете почитать сами.В итоге пришлось сделать сборку с его сранным шаблоном. НО он все равно не успокаивался. И только целенаправленное распространение этой сборки — помогло охладить пыл неадеквата. Плюс еще пришлось пристыдить неадеквата создав ему именной памятник на домене. Плюс еще этот далбоеб не мог даже на меня загуглить, не мог увидеть сколько мне лет. И подумал, что я нищеброд и что я просто так словами разбрасываюсь. ОК. Он не_поверил в мои слова. Ну, а я же — просто сдержал свое обещание покупать все его творения и выкладывать. Да, когда дело доходит до обещаний мне не жалко денег. Мне нахуй не сдалась его v2, ибо она убогая. Но ради обещания я первый ее купил и выложил, как и обещал. Не более не менее. Мне похуй на этого чела, я просто сдержал обещание, ибо сейчас интернет стал такой, опопсевший, люди не верят в людей. Не готовы помочь за спасибо. Рака и трололо стало овер дохуя. И сообщество lsru тоже гниет кстати в 2012, в 2010 было гораздо лучше.

Итак. Я точно так же, как сейчас объяснил Причину — ответил на клевету в мой адрес. НО создатель livestreet — все удалил, как видите. Потому что ему похуй на сообщество уже давно.Итого: alice2k просто воспитывает неадекватного школоло. Не более того. И никогда не занимался выкладываем всякого livestreet дерьма в паблик.Раз на умирающем сообществе livestreet.ru введена ЦЕНЗУРА, что ПРАВДУ удаляют. ОК — поэтому и создался этот блог, где будет публиковаться полная правда.

livestreet-cms.org

топик на главной / Поиск по тегам / LiveStreet CMS

Добрый день, пытаюсь сделать разделение постов по датам (ls 1.0.3), на главной странице, метод реализации подсмотрел в профиле -> активность ( собственно, такой реализации и хочу добиться ), пытаюсь реализовать вот таким вот образом, но явно что-то не хватает, подразумеваю что $sDateLast. Прошу помощи, заранее благодарен.

По аналогии со страницей активности из профиля /profile/profile/stream/, файл (events.tpl ), где есть разделение по датам, вытягиваю эту строку:

{if {date_format date=$oStreamEvent->getDateAdded() format="j F Y"} != $sDateLast} {assign var=sDateLast value={date_format date=$oStreamEvent->getDateAdded() format="j F Y"}} <li> {if {date_format date=$smarty.now format="j F Y"} == $sDateLast} {$aLang.today} {else} {date_format date=$oStreamEvent->getDateAdded() format="j F Y"} {/if} </li> {/if}

и подставляю её в topic_list.tpl параллельно изменив $oStreamEvent на $oTopic ( мы же изменяем топики, а не активность ), получается вот такая строка:

{if {date_format date=$oTopic->getDateAdded() format="j F Y"} != $sDateLast} {assign var=sDateLast value={date_format date=$oTopic->getDateAdded() format="j F Y"}} <li> {if {date_format date=$smarty.now format="j F Y"} == $sDateLast} {$aLang.today} {else} {date_format date=$oTopic->getDateAdded() format="j F Y"} {/if} </li> {/if}

Но данная реализация показывает только одну строку: сегодня поверх всех топиков, и разделение на даты не происходит. Будьте добры, подскажите, куда копать?

РЕШЕНИЕ:
Заменяем getDateAdded на getDateAdd. За наводку спасибо sgavka

{if {date_format date=$oTopic->getDateAdded() format="j F Y"} != $sDateLast} {assign var=sDateLast value={date_format date=$oTopic->getDateAdd() format="j F Y"}} <li> {if {date_format date=$smarty.now format="j F Y"} == $sDateLast} {$aLang.today} {else} {date_format date=$oTopic->getDateAdd() format="j F Y"} {/if} </li> {/if}

livestreet.ru

блоги | LiveStreetCMS.org

Попался такой вот топик.

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

Итак, я решил снова написать мыслей. Ведь я именно с WordPress и сравнивал всегда этот движок.

вот в принципе и все важные для меня различия.именно эти пункты заставляют меня пользоваться livestreet. хотя последние версии wordpress очень даже ничего, за 2011-12 он тоже очень сильно развился и стал еще лучше чем был в 2010, когда он меня достал и мне захотелось чего-то нового. сейчас если смотреть глазами обычных людей — разницы никакой нету на чем создавать всякие блого-проекты. для новичков проще именно wordpress, о чем и написал автор топика.

про рейтинг видел тут упоминания. вот хорошая цитата на эту тему. для меня этот пункт не играет никакого значения в сравнении wordpress и livestreet.

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

взять личный блог, ушел с wordpress в 2010, до этого с 2008 был на wordpress. но мне тогда хотелось просто начать блог с чистого листа. и я даже хвалил свой выбор. за 2 года много устаревшей информации накопилось. хотел сделать более удобно и наглядно. более структурировано, по категориям, списки FAQ и так далее. у многих моих проектов цель именно сборки разных faq-отчетов для людей, чтобы людям было проще что-то делать, чтобы они не перечитывали, не разбирали кучу информации. а сразу за счет чужого опыта тратили минимум усилий.

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

еще в livestreet не удобно то, что при переносе записи из одного блога в другой. меняется и ссылка. вспомните как раньше было на форумах, ссылки на топик всегда работали, не важно в каком из разделов он находился, так как в имени ссылки не участвовало имя раздела. в livestreet очень не удобно наводить порядок на сайте, когда чистишь, комбинируешь старые посты, меняешь структуру. на wordpress с этим стало проще щас.по картинкам нету нормальных первьюшек. фотосет вроде справляется с этим, но почему это отдельный вид топика? фотосет это альбом, и его, так же как и опрос — нужно просто вставлять модулем в обычную запись. не нужно делать кучу ненужных видов топика.так же livestreet не удобна для переезда на другой домен. картинки вставляются через домен, да еще и привязаны к протоколу ="http:// когда должно быть ="// где протокол и домен опускаются. и кстати сам код движка, css и js, тоже зарание должны нормально с https работать, приходилось многие ссылки в стилях исправлять и убирать привязку к http.

если судить по выпуску плюшек в новых версиях, то livestreet так и движется в сторону социальности. всякие там Активность, добавление в друзья и подобное. но я никогда не воспринимал livestreet как социальную сеть.

я сравнивал именно с wordpress, поэтому и решил сейчас поделиться мыслями.

livestreet-cms.org


Prostoy-Site | Все права защищены © 2018 | Карта сайта