+0.51
Рейтинг
3.53
Сила

Как вставить код в head только для топиков? [решение в топике]

Уважаемое сообщество, помогите пожалуйста со следующей задачей: нужно вставить код, который бы выводился между тегами head /head только на страницах топиков. Как это можно реализовать, с помощью каких условий?

Решение найдено:

{if Router::GetAction() == 'blog' && Router::GetActionEventName() == 'topic'}

{/if}

Почему у пользователей отсутствует кнопка "Удалить топик" при публикации топика в коллективный блог?

Заметил такую особенность (ЛС 1.0.3), если пользователь публикует топик в коллективный блог, то он не может его удалить, ему доступна только кнопка «Редактировать». Что бы удалить топик, сначала нужно перенести его из коллективного в персональный блог, тогда кнопка «Удалить» появляется. Исправил проблему следующим образом:

В файле /templates/skin/synio/topic_part_header.tpl нашел код:

{if $oUserCurrent and ($oUserCurrent->isAdministrator() or $oBlog->getUserIsAdministrator() or $oBlog->getOwnerId()==$oUserCurrent->getId())}
                    <li class="delete"><i class="icon-synio-actions-delete"></i><a href="{router page='topic'}delete/{$oTopic->getId()}/?security_ls_key={$LIVESTREET_SECURITY_KEY}" title="{$aLang.topic_delete}" onclick="return confirm('{$aLang.topic_delete_confirm}');" class="actions-delete button">{$aLang.topic_delete}</a></li>
                {/if}


И заменил его на:

{if $oUserCurrent and ($oUserCurrent->getId()==$oTopic->getUserId() or $oUserCurrent->isAdministrator() or $oBlog->getUserIsAdministrator() or $oBlog->getOwnerId()==$oUserCurrent->getId())}
                    <li class="delete"><i class="icon-synio-actions-delete"></i><a href="{router page='topic'}delete/{$oTopic->getId()}/?security_ls_key={$LIVESTREET_SECURITY_KEY}" title="{$aLang.topic_delete}" onclick="return confirm('{$aLang.topic_delete_confirm}');" class="actions-delete button">{$aLang.topic_delete}</a></li>
                {/if}


PHP знаю на уровне echo 'Hello, World'; по этому прошу подсказать, правильно ли я сделал?

Запрет для всех авторизованных пользователей

есть такой код, он разрешает показывать только для авторизованных пользователей

{if $oUserCurrent}

{if}

подскажите как сделать наоборот? нужно запретить для всех авторизованных пользователей

Плагин "Main Preview" автоматическое создание превью при добавление видео

При создании топика с видео, без проблем автоматически создаются превью с сервисов (Youtube, Vimeo, Rutube) с использование плагина «Main Preview».

При добавление видео с VK.com и Dailymotion.com превью автоматически не создаются! Если, я правильно понял необходимо в файл ../plugins/mainpreview/classes/modules/main/Main.class.php добавить поддержку этих сервисов.

Для сервиса Dailymotion.com превью видео хранятся по адресу:
api.dailymotion.com/video/ID-VIDEO?fields=thumbnail_medium_url

Может у кого есть уже готовое решение для VK и Dailymotion.

Как сохранить совместимость при адаптации js шаблона (плагина) к js движка

Зачастую при адаптации шаблонов/плагинов так и тянутся руки поправить js в движке, что чревато потерей совместимости с другими шаблонами и плагинами.

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

Какие есть варианты:
  1. Редактировать js-файлы прямо в движке
  2. Переписать (переопределить) нужный метод

Читать дальше →

Ссылка на тег

Хочу в шаблон вставить ссылки на теги, но с тегами на кирилице беда. Ссылки типа livestreet.ru/tag/теги/ получаются битыми.

Тоесть при таком варианте, ссылка работать не будет:

<a href="http://livestreet.ru/tag/теги/ "> {$aLang.tag1} </a>


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

Разделение топиков по датам.[РЕШЕНО]

Добрый день, пытаюсь сделать разделение постов по датам (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 class="stream-header-date">
	{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 class="stream-header-date">
	{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 class="stream-header-date">
	{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}

Плагин «GMapPost» (edition «GeoPost»)

Хочу вам представить плагин «GMapPost» (Карта топиков) — переделанный «GeoPost».
Основное отличие от прародителя в том, что тут используется Google Maps. Но, также можно подключать и другие карты, типа OpenStreetMap, через Google Maps API (ImageMapType).

Читать дальше →

Настройка превью фотосета

Исходная ситуация: на сайте установлен плагин Main preview. Создаем тип топика — фотосет. При заполнении топика загружаем фотосет (отмечаем превью), и загружаем превью для статьи с помощью плагина.
Есть код, который выводит превью к топику.

{if $oTopic->getPreviewImageWebPath()}
<a href="{$oTopic->getUrl()}"><img class="topic_preview" src="{$oTopic->getPreviewImageWebPath({cfg name='topic.thumbnail.img_size'})}"></a>
{/if} 


Читать дальше →

Плагин «Дополнительная работа с изображениями»

Плагин немного улучшает встраивание изображений в топики и коментарии. На данный момент реализован следующий дополнительный функционал для изображений:

— изображания становятся кликабельными, при клики открывается полный размер;
— при загрузке изображения в топик/комментарий создается preview-версия с заданым размером, которое и помещается в топик/комменатарий.


Читать дальше →