+2.75
Рейтинг
11.12
Сила

Виктор

вот так должно быть:
topic_list.tpl
{if count($aTopics)>0}
	{foreach name=Topics from=$aTopics item=oTopic}  
	   {assign var="sTopicTemplateName" value="topic_`$oTopic->getType()`.tpl"}
	   {include file=$sTopicTemplateName bTopicList=true}
	   {include file=$sTopicTemplateName bTopicList=true bFirstTopic=$smarty.foreach.Topics.first}
	{/foreach}	
	
    {include file='paging.tpl' aPaging="$aPaging"}			
{else}
	<div class="padding">{$aLang.blog_no_topic}</div>
{/if}


и в topic_topic.tpl:
<div class="topic {if $bFirstTopic}first{else}all{/if}">
  • avatar erema
  • 0
Пробовал как там, блин — некорректно вопрос поставил.

в «topic_list.tpl» Сделал так:
{if count($aTopics)>0}	
  {foreach from=$aTopics item=oTopic}   
      <!-- Topic -->	
        {assign var="sTopicTemplateName" value="topic_`$oTopic->getType()`.tpl"}
<!---- имзенил на это>        {include file=$sTopicTemplateName bTopicList=true bFirstTopic=$smarty.foreach.Topics.first}
      <!-- /Topic -->
  {/foreach}	
		
  {include file='paging.tpl' aPaging=$aPaging}			
	
{else}
{$aLang.blog_no_topic}
{/if}


а в «topic_list.tpl» добавил:
<div class="topic">
    {if $smarty.foreach.topics.iteration==1}
    ...
    </if>
  </div>
{if $sAction=='index'}
    <div>text</div>
{/if}

А вообще, на сайте такое спрашивалось много раз и ответы есть в каждом из повторов.
Глянул функционал плагина — впринципе, его суть можно реализовать одним хуком.
Попробую прикинуть:
1) Создайте файл HookCopyrightt.class.php в директории \classes\hooks\ со следующим содержимым
<?php

class HookCopyrightt extends Hook {
	public function RegisterHook() {
		$this->AddHook('template_copyrightt','CopyrighttLink',__CLASS__,-100);
	}

	public function CopyrighttLink() {


		$sFilePath = Config::Get('path.root.web').'/list.txt';
		$aPhrases = file($sFilePath);
		$HZ1 = $aPhrases[rand(0,count($aPhrases)-1)];

if($oUser = $this->User_GetUserCurrent()){
			$HZ2 = str_replace('%username%','<b>'.$oUser->getLogin().'</b>',$HZ1);
} else {$HZ2 = $HZ1;}

		return $HZ2;
		
	}
}
?>

2) Взять файл \plugins\greetings\templates\skin\default\list.txt (это файл с фразами) и переместить его в корень сайта
3) Теперь, если вам нужно, чтобы фразы выводились в хедере — вставте в \templates\skin\ВАШ_ШАБЛОН\header_top.tpl следующее
{hook run='copyrightt'}

Впринципе, можно в любое место вставлять — блоки, футер, хедер…
  • avatar GR0M
  • -1
Плагин исполнил mutt . Исполнил в срок, все найденные баги исправлял быстро, корректен в общении.
Результатом работы удовлетворен на все 100%.
можно просто поставить условие
if (!$this->User_IsAuthorization()) {
			return parent::EventNotFound();
		}
в Init экшена \classes\actions\ActionPeople.class.php
подсмотреть можно в \classes\actions\ActionTopic.class.php
{$oTopic->getTextShort()|strip_tags}
  • avatar ort
  • 1
задается здесь github.com/livestreet/livestreet/blob/0.5.1/classes/actions/ActionTag.class.php#L74
вместо AddHtmlTitle() нужно использовать SetHtmlTitle()
Структура этого Плагина предполагает что те переменные которые стоят после домена будут заполняться из title
<title>LiveStreet - бесплатный движок социальной сети</title>
то есть Вам ЛИБО нужно подставить в action нужный Вариант
$this->Viewer_AddHtmlTitle($this->Lang_Get('new_publication'));
что бы у Вас title был
<title>Новые публикации / LiveStreet - бесплатный движок социальной сети</title>
тогда в место new у Вас будет Выводиться Новые публикации.

!!! Не забудьте в языковый файл добавить переменную
'new_publication' => 'Новые публикации', 	// New publication

ЛИБО просто вставти в языковый файл переменную new
'new' => 'Новые', 	// New
самый элементарный пример на дивах, само собой название дивов и классов можно поменять на свое усмотрение.

<script>
$(document).ready(function(){
$('.add').each(function(){
var add=$(this);
add.hide();
$("#"+add.attr('rel')).add(function(){
add.toggle(0);
});
});
});
</script>

<div id="menu"> див или класс на который нужно навести </div>
<div rel="menu" class="add">то что должно появиться при наведении на див или класс</div>


add — класс дива к которому применяется эффект появления, в класс можно занести меню или любую другую информацию.
  • avatar omano
  • 0
Всем приветствую! Развернул сайт на указанном хостинге. Было несколько трудностей в процессе, но все успешно решены.
Итак, по порядку:
1. Меня не хотели регистрировать по почте @mail.ru. Категорически. Нет и все. Без объяснений. Поставил запасной ящик @gmail.com. Через несколько секунд пришло письмо с поздравлениями о регистрации. Вывод — нашу почту не любит.
2. Долго пытался войти в cpanel. Использовал данные при регистрации (логин, пароль). Выдавало ошибку, что пароль не верен. Вопрос решился путем обращения в службу поддержки, откуда часа через 2 мне прислали пароль для доступа в cpanel. Как я понял, другого способа получить пароль нет…
3. Долго искал, где взять адреса DNS — серверов, дабы привязать купленный домен в зоне ru. Вопрос решился так же — обращением в службу поддержки. Вот они Nameserver1: ns1.liveblot.com Nameserver2: ns2.liveblot.com. Как я понял, они одинаковы для всех.

На сим траблы закончились. Хостинг работает стабильно, сервера стоят в Казас-Сити, что несколько далековато от нас. Результаты тестов порадовали —




Как видно из последнего графика, время отклика в среднем составляло около 3-х секунд даже при одновременном обращении 50-ти пользователей, что для такого уровня хостинга весьма неплохо. Страницы сайта грузятся быстро, в основном хостингом я доволен.

Задавайте вопросы, постараюсь ответить
Мне кажется, что соломоновым решением было бы дать некие бонусы для заплативших. Разумеется, речь не том, чтобы вернуть деньги. На ум приходит VIP поддержка, платные плагины собственного производства, консультации по доработке, скидка на индивидуальные работы над сайтом за доп. деньги…

Ну это так, мысли…
  • avatar Shatter
  • 0
{if $oUserCurrent and $sAction=='profile' and $oUserProfile and $oUserProfile->getId()==$oUserCurrent->getId()}
  • avatar zgood
  • 0
Установил по инструкции на LS 0.5
Работает правда потупил немного прежде чем заработало.

Для тех кто плохо знает LS (т.е. таких как я) ) Очень подробно:
П.1
определяем стиль отображения блока
В /plugins/similar/templates/skin/ваш_шаблон/block.similarTopics.tpl (если такого файла нет, то создайте его) заменить код на:
{if $aSimilarTopics|@count}
                        <div class="block stream" style="padding-left:40px;padding-bottom:15px;">
                                                <span style="font-weight:bold;color:#66b746;">
{$aLang.block_similar_articles_title}</span>
                                        <div class="block-content">
                                        <ul class="stream-content">
                                                {foreach from=$aSimilarTopics item=oTopic name="cmt"}
                                                        {assign var="oBlog" value=$oTopic->getBlog()}
                                                        {assign var="oUser" value=$oTopic->getUser()}

                                                        <li {if $smarty.foreach.cmt.iteration % 2 == 1}class="even"{/if}>
                                                                <a href="{$oUser->getUserWebPath()}" class="stream-author">{$oUser->getLogin()}</a> →
                                                                <a href="{$oTopic->getUrl()}" class="stream-topic">{$oTopic->getTitle()|escape:'html'}</a>
                                                                <span> ({$oTopic->getCountComment()})</span> РІ <a href="{$oBlog->getUrlFull()}" class="stream-blog">{$oBlog->getTitle()|escape:'html'}</a>
                                                        </li>
                                                {/foreach}
                                        </ul>
                        
                        </div>
 </div>
                        {/if}


П.2
Прописываем Hook
Заменить содержимое /plugins/similar/classes/hooks/HookSimilar.class.php на:
<?php
/**
 * Хук для плагина Similar
 */
class PluginSimilar_HookSimilar extends Hook {

        /**
         * Регистрируем хук на topic_show
         *
         * @return void
         */
        public function RegisterHook() {
                $this->AddHook("topic_show", "topicShowed", __CLASS__);
        }

        /**
         * Получаем список похожих топиков, передаем их в Viewer и добавляем нужный блок в сайдбар
         *
         * @param array $aVars
         */
        function topicShowed($aVars) {
                if(isset($aVars['oTopic'])) {
                        $this->Viewer_AddBlock(
                                'left',
                                'similarTopics',
                                array('plugin' => 'similar', 'oTopic' => $aVars['oTopic']),
                                Config::Get('plugin.similar.topics_block_priority')
                        );
                }
        }
}


П.3
Определяем местоположение блока в шаблоне
В /templates/skin/ваш-шаблон/topic.tpl в нужное место, а в шаблоне default после:
{hook run='topic_show_end' topic=$oTopic}
</div>

Заменить на:
Код отличается от кода автора, отсутствием некоторых кавычек (с ними у меня не работало отображение похожих записей)
<div>
        {if isset($aBlocks.left)}
                        {foreach from=$aBlocks.left item=oBlock}
                                {if $oBlock.type == 'block'}
                                        {insert name="block" block=$oBlock.name params=$oBlock.params}
                                {/if}
                                {if $oBlock.type == 'template'}
                                        {include file=$oBlock.name params=$oBlock.params}
                                {/if}
                        {/foreach}
                {/if}

</div>
  • avatar tegArt
  • 0
я так реализовал бац, не дергается и не плавает, и появляется ненавязчиво
скриптик небольшой, на jquery, если интересно — как у домашнего компа буду распишу
  • avatar PSNet
  • 1
сказано — сделано.
Будет доступно после модерации.
  • avatar bamboo
  • 0
В коде не силен, но как вариант.

В полном топике, в самом низу выводятся переключалки вперед и назад.
1) Добавил только в топики. В фотосетах и т.п. их нету.
2) Если топик добавлен в персональный блог, в ссылке отображается лишний слэш. Как убрать — не в курсе.
3) Переключалки ведут на топик со следующим или предудыщим ID.
То есть, если шло 58 59, а 60 61 62 были удалены, то на 63 перескакивать не будет. Будет переходит на топик с id 60 и выдавать о несуществующей странице. Тоже не в курсе как поправить.
4) Хотелось бы скрывать ссылку Читать следующий топик, если я нахожусь в последнем топике.

Вот код
<a href="{$aPaging.sBaseUrl}/blog/{$oBlog->getUrl()}/{$oTopic->getId()+1}.html">Читать следующий топик →</a>
Буду очень рад, если кто-нибудь доработает (или напишет заново — неважно), так как функция полезная :)

Посмотреть как работает можно здесь http://ibamboo.ru/demo/
  • avatar Asphix
  • 1
не мануал нужен, а конструктор новых типов топиковю Вот тогда бы всем было вери гуд.
И поиском вы пользоваться не умеете
livestreet.ru/blog/dev_documentation/3710.html
Я свой хотел бесплатно опубликовать. У меня там глючек с фотосетом осталось исправить, но сейчас не могу, так как нет аккаунта. Человек который мне давай попользоватся сейчас отсутсвует, и исправить нет возможности. Если кто-то не против дать аккаунт для теста. Я все допишу. Пишите в личку. Будет и для -0.5.1 и для 0.4.2