Плагин «Супер спойлер (Powered spoiler)», хорошее обновление


НОВОЕ

  • Структура плагина переработана таким образом, что теперь данный плагин является универсальным и работает с любым плагином и текстом в ЛС, будь-то текст топика, комментария, статические страницы или плагин для форума.
  • Спойлеры теперь работают и в предпросмотре
  • В конфиге можно задать опции чтобы не показывать окна вопросов для определенных атрибутов тега спойлера
  • Небольшая оптимизация скорости выполнения и рефакторинг кода


ОПИСАНИЕ

Мощный спойлер с условиями для просмотра содержимого для любого вида контента в LiveStreet CMS. Позволяет задать минимальный рейтинг и силу пользователей для просмотра, указать доступен ли просмотр контента для незарегистрированных пользователей, указать раскрыт ли спойлер по-умолчанию при заходе на страницу, а также списки доверенных пользователей, которые всегда могут посмотреть содержимое независимо от других вышеуказанных условий (белый список), список пользователей для которых доступ к контенту спойлера запрещен (черный список) и заголовок спойлера.

Справка по возможностям спойлера

<power r="0.5" s="0.4" hided ur ua="admin, PSNet" ud="badboy" t="Заголовок">
  Текст под спойлером
</power>


Все параметры могут комбинироваться:

r — рейтинг, число.
s — сила, число.
hided — оставить спойлер по-умолчанию свернутым (для просмотра его содержимого нужно будет кликнуть по нему чтобы его раскрыть).
ur — содержимое спойлера доступно только для зарегистрированных пользователей.
ua — список доверенных пользователей, которым всегда можно смотреть что внутри спойлера (так можно организовать доступ для определенных людей, поставив, например, рейтинг равным r=«999999» чтобы остальные не могли смотреть что там), строка логинов через запятую.
ud — список пользователей которым просмотр содержимого спойлера недоступен ни при каких условиях, строка логинов через запятую.
t — заголовок для спойлера.

В конфиге плагина доступны дополнительные параметры

  • Имя тега для спойлера.
  • Показывать ли справку о возможностях спойлера при создании нового топика (внизу под формой текста в виде самого же спойлера).
  • Показывать пользователю сообщение "вы указаны в доверенном списке пользователей для этого спойлера" в заголовке спойлера, если пользователь занесен в список доверенных пользователей этого спойлера.
  • Список атрибутов (параметров) тега спойлера, для которых не нужно показывать окно вопроса при создании нового спойлера.

Спойлеры не могут быть вложенными друг в друга. Кнопка на панели редактора доступна только для редактора MarkItUp!, в TinyMCE её нет (но тег само собой работает, если прописывать вручную).

СКРИНШОТЫ

1. Раскрытый спойлер


2. Свернутый спойлер


3. Спойлер, который раскрыт по-умолчанию


4. Пользователь в черном списке спойлера


5. У пользователя недостаточно рейтинга и силы


6. Спойлер с описанием и предпросмотром при создании нового топика


РЕЗЮМЕ

Плагин постоянно совершенствовался и теперь имеет наиболее совершенную структуру, а также полную совместимость с любыми плагинами.

Плагин доступен в каталоге. Стоимость 10уе.

Это кроспост из гида.

65 комментариев

avatar
Здравствуйте.
Возникла проблема с Вашим плагином (купленным)

Он не дружит с плагтном Плагин «LS Board — Форум»

Выражается это в том, что залогиненный пользователь вместо записей в форуме видет пустую страницу (без кода)
А если разлогинится, все работает хорошо.
Проблема пропадает если отключить плагин Powered spoiler.

Не подскажите, куда копать?
avatar
в личку сообщите список установленных плагинов, версию ЛС. и ссылку на пример «пропажи».
avatar
Проблема решена автором плагина — PSNet.
И была она на моей стороне. Оказался «битым» файл шаблона Developer. Как это произошло и когда я не знаю :(
Большое спасибо!
avatar
Удачи
avatar
0.5.1 не встанет?
avatar
нет.
avatar
раскрывается ли спойлер, если заходить с мобильных устройств?
avatar
я не совсем понял вопроса.
avatar
если захожу с мобильного, при нажатии на спойлер он не раскрывается, если с ПК то все работает как надо.
avatar
у вас мобильный шаблон или стандартный?
avatar
шаблон Simple
avatar
можете дать больше информации: какое мобильное устройство используется? версия ПО/браузер, используется ли какая-либо компрессия трафика от сервера к телефону и т.п.?
avatar
а должно работать чтоли? наверно мне надо обновиться чтоли
avatar
Планируется ли адаптация плагина под altocms? Если нет, то сколько будет стоить адаптация на заказ?
avatar
Планируется ли адаптация плагина под altocms?
На данный момент — нет.
Если нет, то сколько будет стоить адаптация на заказ?
Не знаю. Скажите нужную версию альто, посмотрю.
(В личку).
avatar
Подскажите, а содержимое спойлера индексируется Поисковиками?
avatar
в зависимости от правил показа: если спойлер доступен незарегистрированному пользователю — то индексируется, иначе — нет.
Никаких исключений для ПС не делается.
avatar
А параметром ud — можно как нибудь прикрыть содержимое от ПС?
avatar
почему бы не использовать:
ur — содержимое спойлера доступно только для зарегистрированных пользователей.

?
avatar
понимаю — глупость наверное, но думал может как то именно от роботов поисковиков закрыть… Хотя да, их роботы ников не имеют… Интересно нет решения всех роботов ПС — под ники запихать?
avatar
Решения нет и оно не может быть однозначным — для основных пс если и можно собрать названия ботов, то давать регистрацию им — ещё та глупость. Ничто не мешает злоумышленнику поменять свой юзер_агент.
avatar
Ну да — глупость))

А к тегу power нельзя в скобки вручную добавить ноиндекс и т.п.?
avatar
так а зачем ноидекс? запрет индексации делается атрибутом ur и больше ничего не нужно.
avatar
С одной стороны в этом решении есть плюс — как побуждение к регистрации)
Но с другой, зачем мне юзеры, которые зарегистрировались только что бы прочитать один топик?(( — если только их потом рассылкой спамить))
avatar
я не очень понимаю как ноиндекс заставит пользователя регистрироваться. он же все равно увидит содержимое спойлера (если не запретить его видеть).
avatar
Не… предыдущее сообщение касалось атрибута ur
т.е. он и от индексации спасает и к регистрации побуждает))
avatar
да, именно.
avatar
А пожалуй меня устроит такое решение)) — пошел покупать. Спасибо за плагин.
avatar
Есть предложение: вместо «Спойлер» писать «Развернуть (раскрыть текст)», и по условию раскрытости спойлера — «Свернуть»
avatar
менять заголовок спойлера можно вручную при его создании.

то же самое можно сделать средствами КСС — там есть псевдо-класс на раскрытый и закрытый спойлер.
avatar
Доброго дня!
Столкнулся с проблемой — не совместимости с плагином Лайт Имидж — вставленные под спойлер изображения с атрибутами class=«photoset-image» rel="[photoset]" не подгружаются в poopup окно — т.е. не увеличиваются по клику, а открываются в новом окне. Как это исправить?:)
  • ASA
  • 0
avatar
Здравствуйте.

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

Подскажите, пожалуйста, как сделать спойлер только для админа? Я пробую вариант исключить кнопку из редактора:
HookPoweredspoiler.class.php:
public function AddStylesAndJS () {
    $sTemplateWebPath = Plugin::GetTemplateWebPath (__CLASS__);
	
    $this -> Viewer_AppendStyle ($sTemplateWebPath . 'css/style.css');
	$this->oUserCurrent=$this->User_GetUserCurrent();
		if (!$this->oUserCurrent->isAdministrator()) {
			 return $this -> Viewer_AppendScript ($sTemplateWebPath . 'js/init.js');;
			// return false;	
		}
    // build filters and register plugins for template processing
    $this -> PluginPoweredspoiler_Smartysetup_SetDefaultFiltersForSmartyObject ($this -> Viewer_GetSmartyObject ());
  }
avatar
только для админа в редакторе или видимость спойлера в топиках?
avatar
Кнопка spoiler в редакторе только для админка. Остальное я спрятал уже в шаблоне.
avatar
Делаем данный плагин только для админа (не полностью):

Прячем описание возможностей спойлера от обычных пользователей при написании поста:

В /plugins/poweredspoiler/templates/skin/default/add_topic_end.tpl добавляем проверку на админа {if $oUserCurrent->isAdministrator()}:

{if $oUserCurrent->isAdministrator()}
  <!-- Poweredspoiler plugin -->
  <div class="PS_AddTopicInfo">
    {include file="{$aTemplatePathPlugin.poweredspoiler}spoiler.tpl" bSpoilerHidedByDefault=true bAllowedToShow=true sContent=$aLang.plugin.poweredspoiler.add_topic_info}
  </div>
  <!-- /Poweredspoiler plugin -->  
{/if}


Теперь в /js/init.js перед выводом кнопки спойлера в редактор делаем проверку админ ли:

На 50 строке файла оборачиваем кнопку в if ($('body').hasClass('ls-user-role-admin')) { //код кнопки }
  //
  // adding new button to MarkItUp! editor for topics
  //
  if ($('body').hasClass('ls-user-role-admin')) {
	  var oSettingsT = ls.settings.getMarkitup ();
	  oSettingsT.markupSet.push (oPoweredSpoilerButton);
	  ls.settings.getMarkitup = function () {
		return oSettingsT;
  }
}


Спасибо PSNet за помощь с js, без него б не разобрался.
Еще интересно было бы сделать разные виды спойлера (для незарегистрированных так и оставляем). Для зарегистрированных, чтоб он не выделялся и был обычным текстом без выделения в блоке. Надо условие на вывод css или вывод другого div'а зарегистрированным.
avatar
нужно spoiler.tpl редактировать
avatar
PSNet На мобильной версии работает и видео поддерживает внутри?
avatar
На мобильной версии работает
не проверял. должен работать.

видео поддерживает внутри?
это как?
avatar
Например когда открываешь спойлер, обычно видео сжата в узком виде, проверти на ютубе.
avatar
внутри будет то, что туда вставили в том же виде. плагин никак его не ограничивает
avatar
PSNet Не открывает полностью vk видео если спойлеров несколько штук.
А в предпросмотре все работает, очень странно.
avatar
не могли бы вы показать пример или описать действия для повторения
avatar
Создаем топик, добавляем в него 5 раз
<power hided t="Имя спойлера">видео с вк</power>

первое открывается нормально, а последующий уже не полностью.
avatar
PSNet Пример
avatar
я посмотрю
avatar
тщательно все просмотрел — все работает отлично и все последующие открываются нормально. посмотрите — может вы некорректно вставили код самого видео (забыли про его высоту и ширину).
avatar
да не вроде все нормально вставлял, размер высоты и ширины указан.
работа плагина может быть нарушена из за мобильного шаблона?
avatar
работа плагина может быть нарушена из за мобильного шаблона?
не знаю. не проверял. а в синьйо работает?
avatar
а в синьйо работает?

не проверял тоже.
avatar
под синьйо я проверил — все корректно работает.
avatar
тоже проверил на синьйо плагин работает, но на мобильном не работает.
еще заметил что там прописывает такой код
<iframe width="607" height="360" style="height: 59px;"></iframe>
avatar
что то прописывает style=«height: 59px;
но не понять что, прописывает element.style {
avatar
это уже вопрос к мобильному шаблону
avatar
а что мне делать?
avatar
задавать вопрос в поддержку моб. шаблона, очевидно же что это его рук дело.
avatar
я нашел исходник бага, но не знаю как исправить
файл template.js
function adjustIframes()
{
  $('iframe').each(function(){
    var
    $this = $(this),
    proportion = $this.data( 'proportion' ),
    w = $this.attr('width'),
    actual_w = $this.width();
    
    if ( ! proportion )
    {
        proportion = $this.attr('height') / w;
        $this.data( 'proportion', proportion );
    }
  
    if ( actual_w != w )
    {
        $this.css( 'height', Math.round( actual_w * proportion ) + 'px' );
    }
  });
}
Если отрубить эту функцию будет работать, но тогда обычное видео без спойлера летит к чертям.
avatar
вот хороший jQuery плагин для этого
avatar
поможете поставить?
avatar
могу предложить в этом коде строку:
$('iframe').each(function(){

поменять на
$('iframe:visible').each(function(){

и проверить. если заработает — тогда нужно включить это в моб. шаблон т.к. если объект (видео) спрятано (не важно как), то ширина не определена и рассчет пропорций не корректен, что и приосходит.
avatar
PSNet
не работает.
avatar
Вроде работает, кэш надо было почистить.
avatar
добавил в техподдержку запись
avatar
а чем в плагине реализовано сворачивание — height: 0 или display: none? если это slideToggle, то там и то и другое…
кстати, нет демо?
avatar
а чем в плагине реализовано сворачивание — height: 0 или display: none? если это slideToggle, то там и то и другое…
slideToggle

display: none
достаточно для
:visible


демо нет
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.