Помогите сделать блок

То есть чтобы в блоке прямой эфир были только публикации без переключателя?

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

avatar
Вы ведь имеете в виду блок «Прямой эфир»?

Тогда предложу вот так, т.к. проверил и работает, но объяснить толково последний этап не смогу. Найдено методом мультиметра.

Итак, идем в файл шаблона: \templates\skin\new\block.stream.tpl

<div class="block stream">

	<div class="tl"><div class="tr"></div></div>
	<div class="cl"><div class="cr">
					
		<h1>{$aLang.block_stream}</h1>
					
		<ul class="block-nav">						
			<li><strong></strong><a href="#" id="block_stream_topic" onclick="lsBlockStream.toggle(this,'topic_stream'); return false;">{$aLang.block_stream_topics}</a></li>
			<li class="active"><a href="#" id="block_stream_comment" onclick="lsBlockStream.toggle(this,'comment_stream'); return false;">{$aLang.block_stream_comments}</a><em></em></li>
			{hook run='block_stream_nav_item'}
		</ul>					
					
		<div class="block-content">
			{literal}
			<script language="JavaScript" type="text/javascript">
				var lsBlockStream;
				window.addEvent('domready', function() { 
					lsBlockStream=new lsBlockLoaderClass();
				});
			</script>
			{/literal}					
					
			{$sStreamComments}

			</div>
		</div></div>
		<div class="bl"><div class="br"></div></div>
	</div>

Комментируем десятую строку (ну или удаляем ее), вот эту:
<li class="active"><a href="#" id="block_stream_comment" onclick="lsBlockStream.toggle(this,'comment_stream'); return false;">{$aLang.block_stream_comments}</a><em></em></li>


Теперь у нас пропала кнопка с комментами, но они по-прежнему грузятся в эфире. Идем дальше. В этом же файле ищем 24-ю строку с надписью
{$sStreamComments}

Меняем ее на
{$sStreamTopic}

Теперь, откуда же нам взять эту самую sStreamTopic?

Идем в файл \classes\blocks\BlockStream.class.php
И видим там следующее:
class BlockStream extends Block {
	public function Exec() {
		if ($aComments=$this->Comment_GetCommentsOnline('topic',Config::Get('block.stream.row'))) {
			$this->Viewer_Assign('aComments',$aComments);
			$sTextResult=$this->Viewer_Fetch("block.stream_comment.tpl");
			$this->Viewer_Assign('sStreamComments',$sTextResult);
		}
	}
} 


Путем нехитрых манипуляций (метод мультметра, сравнение файлов \include\ajax\stream_topic.php и \include\ajax\stream_comments.php) переназначаем в указанном файле переменные для шаблона. Приходим к
class BlockStream extends Block {
	public function Exec() {
		if ($oTopic=$this->Topic_GetTopicsLast(Config::Get('block.stream.row'))) {
			$this->Viewer_Assign('oTopics',$oTopic);
			$sTextResult=$this->Viewer_Fetch("block.stream_topic.tpl");
			$this->Viewer_Assign('sStreamTopic',$sTextResult);
		}
	}
}


В итоге остается одна кнопка («Публикации»), которую неплохо бы переоформить (она же придумана как переключатель, а теперь переключать нечего), и при нажатии на которую обновляется поток топиков.
avatar
Спасибо работает
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.