Как изменить "Прямой эфир"

Продолжаю работу над своим шаблоном :)

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

На скриншоте показано, что я хочу сделать.



Как можно сделать такое отображение «Прямого эфира»?

И еще. Можно ли вывести в этом же блоке «Блоги» с указанием числа топиков.





Благодарю.

22 комментария

avatar
в папке шаблона, есть папка blocks
avatar
Воу, а мы не знали :D
avatar
попросил, я помог, надо было писать!)
avatar
ковыряйте эти файлы
block.stream.tpl Блок «Прямой эфир», расположенный в правой колонке
block.stream_comment.tpl Вывод последних комментариев в блоке «Прямой эфир»
block.stream_topic.tpl Вывод последних публикаций в блоке «Прямой эфир»
avatar
вы хотите прямой эфир сделать без комментариев?
avatar
Да. Просто список новых топиков (из всех блогов) и кол-во комментов к ним. + если такое возможно список блогов (ТОП) и кол-во топиков к ним.
avatar
в каталоге есть плагин, позволяет вы водить топ топиков за определенное время, если вам понадобиться catalog.livestreetcms.com/addon/view/196/
avatar
Хотелось бы без плагина, т.к. делаю шаблон не только для себя.
avatar
Функционал отличный от «стандартного» наверно придется в плагин упаковать.
Ничего страшного в этом нет. Если шаблоны в комплекте с плагином.
avatar
Есть шаблоны в комплекте с своим плагином.
avatar
интересно получиться
avatar
получится*
avatar
Тогда это будет уже не прямой эфир, а статистика.
avatar
Что-то типа index/newall, только заголовок и количество комментариев.
Смотрим в classes\actions\ActionIndex.class.php EventNewAll(), где Topic_GetTopicsNewAll из classes\modules\topic\Topic.class.php. Получаем заголовок и количество комментариев (topic_count_comment)
Оно?!
avatar
Можно поподробнее? В PHP не очень шарю :(
avatar
Если только для верстки, то быстро можно сделать так:
В sidebar.tpl вставить это
<section class="block">
	<header class="block-header">
		<h3>Заголовок</h3>
	</header>
	<div class="block-content">
		{assign var="aTopics" value=$LS->Topic_GetTopicsNewAll(1, 10, true)}
		{assign var="aTopics" value=$aTopics.collection}
		<ul class="">
		{foreach from=$aTopics item=oTopic}
			<li class=""  title="{$oTopic->getTitle()|escape:'html'}">
				<a href="{$oTopic->getUrl()}" >{$oTopic->getTitle()|truncate:50:'...'|escape:'html'}</a>
				<span>{$oTopic->getCountComment()}</span>
			</li>
		{/foreach}
		</ul>
	</div>
</section>
перед {include file='blocks.tpl' group='right'}
avatar
Всё супер! :) А с блогами (нужно название + кол-во топиков; сортировать по кол-ву топиков) так можно сделать?
avatar
Для блогов подобный «костыль» наверное не получится (не получился). Нет готовой функции.
Плагин все таки нужен.
avatar
Что нужно написать, чтобы в «самопальном» прямом эфире не выводились все топики валом, а только по блогам, который открыт?
avatar
Доброго времени суток! Не могли бы подсказать, если убрать эти две строчки:
{assign var=«aTopics» value=$LS->Topic_GetTopicsNewAll(1, 10, true)}
{assign var=«aTopics» value=$aTopics.collection}
То в сайдбаре выводятся топики только того блога, который открыт (включая главную страницу). Если имеются ещё и названия блогов в отображении, то при нажатии на его название он группирует и по названию (т. е. выводит все топики, касающиеся этого блога, включая личный блог). Проблема только в том, что вылетает ошибка и не публикуются новые топики при отсутствии этих строчек, если их вставить, то уже все топики публикуются во всех сайдбарах валом, из всех блогов.

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

<aside id=«sidebar» {if $sidebarPosition == 'left'}class=«sidebar-profile»{/if}>
    Zagolovok

    {assign var=«aTopics» value=$LS->Topic_GetTopicsNewAll(1, 5, true)}
    {assign var=«aTopics» value=$aTopics.collection}

    {foreach from=$aTopics item=oTopic name=«topic»}

    {assign var=«oUser» value=$oTopic->getUser()}
    {assign var=«oBlog» value=$oTopic->getBlog()}


    <time datetime="{date_format date=$oTopic->getDateAdd() format='c'}" title="{date_format date=$oTopic->getDateAdd() format=«j F Y, H:i»}">
    {date_format date=$oTopic->getDateAdd() hours_back=«12» minutes_back=«60» now=«60» day=«day H:i» format=«j F Y, H:i»}
    {$oBlog->getTitle()|escape:'html'}
    {$oTopic->getTitle()|escape:'html'}
    {$oUser->getProfileName()}
    {$oTopic->getCountComment()}
    {/foreach}


{include file='blocks.tpl' group='right'}
avatar
Я бы предложил, чтобы была возможность вернуть стандартный сайдбар в конфиге…
avatar
да было б не плохо
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.