-4.70
Рейтинг
8.70
Сила

Константин

Как заставить LS не считать удалённый комментарии?

Много создано топиков с вопросами на эту тему. При удалении комментария, LS продолжает его считать. Я скрыл надпись «Комментарий был удалён», но число комментариев естественно не изменилось.

Как реализовать, что бы при удалении комментария счётчик уменьшался, а при восстановлении снова прибавлялся?

Как релизовать сворачивание главного меню?

Глупый вопрос, но я раньше видел на сайте livestreetcms.ru, когда меню не помещается в окно, лишние пункты меню сворачиваются, а под последним пунктом появляется стрелка, при нажатии на которую появляются эти недостающие пункты. Теперь я вижу это убрали.
Как мне найти код этого функционала? Как я понимаю это js+css

[РЕШЕНИЯ НЕТ] Как получить (показать) сайт указанный в профиле пользователя?

Всем доброго времени суток. Ковыряю плагин ТОП авторов.
Захотелось, что бы возле каждого автора выводился сайт указанный в профиле или пусто если его нет.

В плагине данные формируются фильтром:
public function Exec() {
		/**
		 * По какому полю сортировать
		 */
		$sOrder='user_rating';
		if (getRequest('order')) {
			$sOrder=(string)getRequest('order');
		}
		/**
		 * В каком направлении сортировать
		 */
		$sOrderWay='desc';
		if (getRequest('order_way')) {
			$sOrderWay=(string)getRequest('order_way');
		}
		$aFilter=array(
			'activate' => 1
		);
		/**
		 * Получаем список юзеров
		 */
		$aResult=$this->User_GetUsersByFilter($aFilter,array($sOrder=>$sOrderWay),1,Config::Get('plugin.usertop.user_count'));
		$aUsertop=$aResult['collection'];
		/**
		 * Загружаем переменные в шаблон
		 */
		$this->Viewer_Assign('aUsertop',$aUsertop);
	}	


А потом выводятся:
<ul class="usertop block-blog-list">
			{foreach from=$aUsertop item=oUser name="cmt"}
				<li>
					<a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a>
					<strong>{$oUser->getRating()}</strong>
				</li>
			{/foreach}
		</ul>


Как добавить ссылку на сайт возре Никнейма юзера?
В шаблоне профиля сайт выводиться вот так:
{assign var="aUserFieldContactValues" value=$oUserProfile->getUserFieldValues(true,array('contact'))}
		{if $aUserFieldContactValues}
			<h2 class="header-table">{$aLang.profile_contacts}</h2>
			
			<ul class="profile-contact-list">
				{foreach from=$aUserFieldContactValues item=oField}
					<li><i class="icon-contact icon-contact-{$oField->getName()}" title="{$oField->getName()}"></i> {$oField->getValue(true,true)}</li>
				{/foreach}
			</ul>
		{/if}


Но тут выводятся все поля которые заполнены у пользователя. Как быть?

Плагин ТОП пользователей. github.com/vj-team/usertop

Акция: "Бесплатные seo-аудиты для каждого"

Мне часто приходят письма с просьбами разобраться с проблемами сайта. Наиболее частые проблемы это: плохая индексация, низкие или вообще отсутствующие позиции в поисковиках, парой проблемы с внутренней оптимизацией.
У меня появилось свободное время и я решил провести акцию по бесплатным аудитам. Скажу сразу, что хорошо знаю LS, и помогу с настройками всевозможных ЧПУ, перелинковками и т.д.
Мой блог на LS любят поисковики, полюбят и Ваш.

Время проведения акции: С 1 по 15 августа 2013

Для того, что бы получить сео-аудит необходимо:
— Прислать заявку на мой почтовый адрес admin@seopublic.ru
— В заявке описать проблему и чего вы ждёте от проведённого аудита.
— Оставить о себе контактные данные (почта, скайп, профиль вконтакте). Далее просто ждать, я свяжусь с вами в ближайшее время.



За два дня в акции приняло участие 8 человек.

Подробности читайте: vk.cc/1HK2Vt

P.S. Не сочтите за рекламу. Акция бесплатная и направлена на помощь владельцам LS сайтов. Я с этого ничего не имею!

[РЕШЕНО] Как изменить генерацию ссылок

В шаблоне прописываю ссылку:

<a onclick="функция()" href="адрес" rel="nofollow" target="_blank"  >анкор</a>

движок перелопачивает её в вид:
<a class="pageNoFollow_hilite" rel="nofollow" target="_blank" href="адрес" onclick="функция()"> анкор</a>


Как сделать, что бы ссылка генерировалась следующим образом?:
<a class="pageNoFollow_hilite" onclick="функция()" href="адрес" rel="nofollow" target="_blank"  >анкор</a>

Т.е. onclick стоял перед href.

UPD: Да вы правы. Это RDS Bar ссылки так перелопачивает!

Планка комментариев для dofollow cсылок

Доброго времени суток. Ох и давно же я не заходил на любимый LS. Всё времени нет, да и страсти как-то поутихли тут. Раньше каждый день новый топик закрепляли. Эх… Ну ладно, о чём это я.
Уже давно подумываю сделать свой бложек Dofollow, но что бы не плодить тонны открытых спамных ссылок, хотелось бы сделать планку к примеру в 5 комментариев, после которых ссылки становятся открытыми.


Какие есть инструменты, плагины, способы реализации данной затеи на LS? Заранее благодарен!

[РЕШЕНО] Что за аномалия?

Хочу реализовать прибавление рейтинга за публикацию топика:
В Action.Topic.class.php добавляю 3 строчки:
if ($this->Topic_AddTopic($oTopic)) {
			$this->Hook_Run('topic_add_after', array('oTopic'=>$oTopic,'oBlog'=>$oBlog));
			/**
			 * Получаем топик, чтоб подцепить связанные данные
			 */
			$oTopic=$this->Topic_GetTopicById($oTopic->getId());
			/**
			 * Прибавляем 0.4 рейтинга за публикацию топика
			 */
			$oUserTopic = $this->oUserCurrent;
            $oUserTopic->setRating($oUserTopic->getRating()+0.4); // можно в конфиге val вместо 0.4
            $this->User_Update($oUserTopic);


Всё ок, работает на ура!
В этом же файле, только ниже, в функции удаления (вконце) добавляю 3 строчки отнимания рейтинга при удалении топика:
protected function EventDelete() {
		$this->Security_ValidateSendForm();
		/**
		 * Получаем номер топика из УРЛ и проверяем существует ли он
		 */
		$sTopicId=$this->GetParam(0);
		if (!($oTopic=$this->Topic_GetTopicById($sTopicId))) {
			return parent::EventNotFound();
		}
		/**
		 * проверяем есть ли право на удаление топика
		 */
		if (!$this->ACL_IsAllowDeleteTopic($oTopic,$this->oUserCurrent)) {
			return parent::EventNotFound();
		}
		
		/**
		 * Удаляем топик
		 */
		$this->Hook_Run('topic_delete_before', array('oTopic'=>$oTopic));
		$this->Topic_DeleteTopic($oTopic);
		$this->Hook_Run('topic_delete_after', array('oTopic'=>$oTopic));
		/**
		 * Отнимаем 0.4 рейтинга
		 */
		$oUserTopic = $this->oUserCurrent;
        $oUserTopic->setRating($oUserTopic->getRating()-0.4);
        $this->User_Update($oUserTopic);

Теже 3 строчки, но только знак минус. НЕ РАБОТАЕТ. РЕЙТИНГ НЕ ОТНИМАЕТСЯ!

Понял, потом, что функция отнимания неверна, т.к. если удалит админ или редактор, то у него отнимется рейтинг.

Пределал:
$oUserTopic=$this->User_GetUserById($oTopic->getUserId());
		$oUserTopic->setRating($oUserTopic->getRating()-0.4);
        $this->User_Update($oUserTopic);

Заменил, и всё равно рейтинг не отнимается. Что не так?

Разъясните, как формируется рейтинг у блогов?

Пользовался поиском. Столько бреда написано. Гуру, дайте верный ответ. Пишут что рейтинг блога не зависит от рейтинга постов, неужели так всё плохо? И где тогда кнопка голосования за сам блог.
Жду ответа…

Помогите с переносом блока в футер топика.

Плагин «похожие записи» отображаются в блоке, а нужно что бы в конце каждого топика.

Данная проблема обсуждалась: livestreet.ru/blog/addons/12611.html#comment192893
Посоветовали создать хук.

Я создал место для этого плагина в шаблон/topic_topic.tpl

Вот код всего файла topic_topic.tpl:
{include file='topic_part_header.tpl'}
   
   
<div class="topic-content text" OnCopy="ls.msg.error(null,'{$aLang.cp_reverse_link_notify}'); return true;">
	{hook run='topic_content_begin' topic=$oTopic bTopicList=$bTopicList}
	
	{if $bTopicList}
		{$oTopic->getTextShort()}
		
		{if $oTopic->getTextShort()!=$oTopic->getText()}
            	<a href="{$oTopic->getUrl()}#cut" title="{$aLang.topic_read_more}">
				{if $oTopic->getCutText()}
					{$oTopic->getCutText()}
				{else}
					{$aLang.topic_read_more} →
				{/if}
			</a>
		{/if}
	{else}
		{$oTopic->getText()}
	{/if}
	
	{hook run='topic_content_end' topic=$oTopic bTopicList=$bTopicList}
	 
	 <!-- Похожие записи -->
	<div class="block stream">
    <div class="tl"><div class="tr"></div></div>
    <div class="cl">
       <div class="cr">
	   {if $aSimilarTopics}
    <section class="block block-type-stream">
        <header class="block-header">
            <h3>{$aLang.plugin.similar.block_similar_articles_title}</h3>
        </header>
        <div class="block-content">
            <div class="block-content">
                <ul class="latest-list">
                    {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="user">{$oUser->getLogin()}</a> →
                            <a href="{$oTopic->getUrl()}" class="topic-title">{$oTopic->getTitle()|escape:'html'}</a>
                            <span> {$oTopic->getCountComment()}</span> → <a href="{$oBlog->getUrlFull()}" class="blog-title">{$oBlog->getTitle()|escape:'html'}</a>
                        </li>
                    {/foreach}
                </ul>
            </div>
        </div>
    </section>
{/if}
	   </div>
   </div>
   <div class="bl"><div class="br"></div></div>
   </div>
   <!-- Конец похожие записи -->
	 
</div> 


{include file='topic_part_footer.tpl'}


Вот как я понимаю файл плагина, который отвечает за хуки, может в нём что нето:
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('right', 'similarTopics', array('plugin' => 'similar', 'oTopic' => $aVars['oTopic']
                    ), Config::Get('plugin.similar.topics_block_priority')
            );
        }
    }

}

Как организовать вывод похожих записей, в блоке всё отображается как надо.
Где и какой кух нужно прописывать.

UPD: Вижу предложений никаких. Для потомков опишу свой способ данной реализации. Создал ещё одну позицию для сайдбара, и прописал её в настройках отображения блока.

[РЕШЕНО] Помогите доработать код

Есть плагин, вывода топиков из определённого блога в блок.

{if $aBT_Topics}
    <!-- Blogtopics plugin -->
    <div class="block Blogtopics">
      <header class="block-header sep">
        <h3>{$oBT_Blog->getTitle()|truncate:300:'...'} <a style="text-decoration: underline;color: rgb(112, 170, 224);;font-size: 11px;font-family: Verdana,sans-serif;cursor: pointer;" href="Ссылка на Блог">все события</a></h3>
      </header>
      <table border="0">
	   {foreach from=$aBT_Topics item=oBlogTopic name=aBT_Topics_Name}
          <tr {if $smarty.foreach.aBT_Topics_Name.iteration % 2 ==0} class="second"{/if}>
		  <td width="70px" align="right"><strong>{date_format date=$oBlogTopic->getDateAdd() format='j F'}</strong></td>
		   <td style="padding-left:5px;"><a href="{$oBlogTopic->getUrl()}">{$oBlogTopic->getTitle()|escape:'html'}</a></td>
          </tr>
        {/foreach}
      </table>
    </div>
    <!-- /Blogtopics plugin -->
  {/if}


Как организовать вывод только тех топиков, которые старше сегодняшней даты. Т.е. если сегодня 29 апреля, то выводить все топики, которые опубликованы 30 апреля, 1 мая и т.д.

P.s. Не пугайтесь, у топиков дата публикации устанавливается вручную!