Форум русской поддержки Joomla!® CMS
27.06.2017, 04:17:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17   Вниз
  Добавить закладку  |  Печать  
Автор

Плагин “Content - Spoiler Text” - скрытый текст в контенте (спойлер)

 (Прочитано 161383 раз)
0 Пользователей и 1 Гость смотрят эту тему.
beliyadm
Профи
********

Репутация: +1588/-63
Offline Offline

Пол: Мужской
Сообщений: 8432


Севастополь == Россия


« : 14.05.2009, 03:53:16 »

Плагин “Content - Spoiler Text” - скрытый текст в контенте, версия 1.0

Что это такое - возможность создать в контенте разворачиваемые блоки скрытого текста с эффектом анимации, при этом используется библиотека Jquery и плагин Accordeon от разработчика Jörn Zaefferer

Последовательность действий:
1 - установить плагин (и по желанию кнопку для редактора), опубликовать их (Content - Spoiler Button и Content - Spoiler text)
2 - в режиме редактирования материала вставить теги (либо нажать кнопку Spoiler)
Код:
{spoiler title=Скрытый текст}здесь скрытый от посторонних глаз текст{/spoiler}
3 - вписать нужный текст
4 - можно задавать произвольный текст заголовка скрытого блока (параметр title является обязательным!), допустимыми являются символы кириллицы, цифры 0-9 и символ подчеркивания _
5 - в параметрах плагина возможно указать необходимость подгрузки библиотеки Jquery (если уже используется на сайте) и скорость разворачивания скрытого блока (по умолчанию 200 мс)
6 - оформление заложено в файле plugins/content/pb_spoiler/style.css
7 - возможно использовать HTML форматирование внутри скрытого блока (теги, изображения, прочее)
8 - в параметрах плагина кнопки можно выставить значение заголовка по умолчанию

Где можно использовать:
1 - создание простейшего FAQ на сайте в пределах одной страницы
2 - просто скрытые блоки информации, не особо актуальной для пользователя
3 - да мало ли где еще

Тестировалось: Joomla 1.5.10, Mozilla, Opera, Safary (MS), GChrome. Под ИЕ-шками не смотрел Azn

UPD - версия плагина 1.1 (pb_spoiler_plg_1.1.zip)
1 - добавлен функционал работы как от библиотеки Jquery, так и встроенного в движок mootools - опционально указывается в настройках плагина, по умолчанию mootools
2 - удалена опция указания скорости прокрутки, по умолчанию выставлено 400 мс для обоих скриптов
3 - исправлена ошибка подгрузки скриптов

Обновление - версия плагина 1.3 от scorpsan
Цитировать
там все сделано и в настройках есть куча параметров которыми можно заставить спойлеры открываться и закрываться как вам нужно....

Версия 1.2 для J!1.6 от VDG
Скачать http://narod.ru/disk/16864442001/plg_pbspoiler_1.2.zip.html
Изменения
Показать текстовый блок

Дополнительно:


[вложение удалено Администратором]
« Последнее редактирование: 21.02.2012, 19:30:28 от beliyadm » Записан
 
beliyadm
Профи
********

Репутация: +1588/-63
Offline Offline

Пол: Мужской
Сообщений: 8432


Севастополь == Россия


« Ответ #31 : 01.06.2009, 16:25:46 »

спойлер у меня не скрывает, весь скрытый текст открыт сразу и не сворачивается
проверить в исходном коде, что подключились необходимые скрипты и стили
Записан
alex54
Осваиваюсь на форуме
***

Репутация: +3/-1
Offline Offline

Сообщений: 157


« Ответ #32 : 01.06.2009, 16:38:26 »

проверить в исходном коде, что подключились необходимые скрипты и стили
я не програмист Azn можно разжевать что и как проверить
Записан
alex54
Осваиваюсь на форуме
***

Репутация: +3/-1
Offline Offline

Сообщений: 157


« Ответ #33 : 01.06.2009, 21:13:53 »

кстати при редактировании новости выдает

Код:
Fatal error: Call to undefined method JSite::getSiteURL() in Z:\home\alex54.ru\satnsk\plugins\editors-xtd\pb_spoiler.php on line 32

такой же и с демокнопкой, только php уже кнопки
Записан
beliyadm
Профи
********

Репутация: +1588/-63
Offline Offline

Пол: Мужской
Сообщений: 8432


Севастополь == Россия


« Ответ #34 : 01.06.2009, 21:17:41 »

кстати при редактировании новости выдает
Код:
Fatal error: Call to undefined method JSite::getSiteURL() in Z:\home\alex54.ru\satnsk\plugins\editors-xtd\pb_spoiler.php on line 32
не знаю пока причину, не у всех корректно отрабатывает, решение здесь
Записан
alex54
Осваиваюсь на форуме
***

Репутация: +3/-1
Offline Offline

Сообщений: 157


« Ответ #35 : 02.06.2009, 05:47:15 »

с ошибкой разобрались - ушла
но спойлер не пашет, как проверить
 
проверить в исходном коде, что подключились необходимые скрипты и стили

и с демо кнопкой проблемы, ставлю плагин последним и кнопка становится дубль споилера с тем же функционалом
Joomla 1.5.10

Записан
delphine
Осваиваюсь на форуме
***

Репутация: +30/-0
Offline Offline

Пол: Мужской
Сообщений: 189



« Ответ #36 : 03.06.2009, 16:26:30 »

Вопрос такой! Как сделать так чтобы текст отображался-скрывался не при клике, а при наведении мыши? Кто знает?
Предполагаю что нужно использовать onMouseover и onMouseout, но никак не могу прикрутить...

p.s. Разобрался
« Последнее редактирование: 05.06.2009, 02:23:31 от delphine » Записан
ivieDVeD
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13



« Ответ #37 : 11.06.2009, 06:26:01 »

Всем привет! Чего только не пробовал - не работает. ставил разные версии (1,0 и 1,1) с кнопкой и без. В разных браузерах.. Бесполезно..
Отображаются ссылки и ничего не работает (см. приложение) Все установлено на Joomla 1.5.10

[вложение удалено Администратором]
« Последнее редактирование: 11.06.2009, 06:41:40 от ivieDVeD » Записан
delphine
Осваиваюсь на форуме
***

Репутация: +30/-0
Offline Offline

Пол: Мужской
Сообщений: 189



« Ответ #38 : 11.06.2009, 09:58:32 »

ivieDVeD, ссылка есть на сайт?
Записан
ivieDVeD
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13



« Ответ #39 : 11.06.2009, 10:06:31 »

Он у меня локальном сервере  Sad
Записан
beliyadm
Профи
********

Репутация: +1588/-63
Offline Offline

Пол: Мужской
Сообщений: 8432


Севастополь == Россия


« Ответ #40 : 11.06.2009, 12:07:01 »

ivieDVeD - с каким скриптом указываешь работу плагина (jquery или mootools)? Скрипты в HEAD подгружаются?
Записан
ivieDVeD
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13



« Ответ #41 : 15.06.2009, 02:40:04 »

ivieDVeD - с каким скриптом указываешь работу плагина (jquery или mootools)? Скрипты в HEAD подгружаются?
В во вложении сохранил из браузера образцы страниц с jquery и mootools. Не работает в обоих случаях... Sad Но выглядит по разному...
page_mootols.rar
page_jquery.rar
По началу думал дело в шаблоне, но при смене аналогичная ситуация...
« Последнее редактирование: 15.06.2009, 05:58:37 от ivieDVeD » Записан
delphine
Осваиваюсь на форуме
***

Репутация: +30/-0
Offline Offline

Пол: Мужской
Сообщений: 189



« Ответ #42 : 15.06.2009, 09:29:38 »

А что же это такое?
Код
<script type="text/javascript" src=".../jquery.htm">
<script type="text/javascript" src=".../accordion.htm">
<link href=".../style.htm" type="text/css">

Ну и по мутулзу то же самое.
Код
<script type="text/javascript" src=".../spoiler_002.htm">
<link rel="stylesheet" href=".../spoiler.htm" type="text/css">

А где же JS, CSS. Так и должно быть "htm"? Wink

А может конфликтуют скрипты? У тебя в самом начале грузятся jquery и mootools, а потом ещё раз этоже для сполера. А также позже ещё грузится accordionmenu.js. Может всё это хозяйство и глючит? попробуй всё поодключать, и посомотреть, заработает или нет. А потом потихоньку включай что отключил, и смотри в какой момент перестанет работать. Так и найдешь с кем конфликтует.
Записан
ivieDVeD
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13



« Ответ #43 : 15.06.2009, 11:05:47 »

Не знаю что к чему, но я установил полностью с нуля Джумлу  v1.5.11 и поставил на нее плагин, то же самое... Sad
Записан
beliyadm
Профи
********

Репутация: +1588/-63
Offline Offline

Пол: Мужской
Сообщений: 8432


Севастополь == Россия


« Ответ #44 : 15.06.2009, 11:19:03 »

Не знаю что к чему, но я установил полностью с нуля Джумлу  v1.5.11 и поставил на нее плагин, то же самое... Sad
значит используй плагин в режиме mootools, без jquery
Код:
<script type="text/javascript" src=".../spoiler_002.htm">
<link rel="stylesheet" href=".../spoiler.htm" type="text/css">
а вот это действительно бред какой то, физически такого быть не должно
Записан
doctorgrif
Завсегдатай
*****

Репутация: +82/-1
Offline Offline

Пол: Мужской
Сообщений: 759


Нудный доктор


« Ответ #45 : 15.06.2009, 11:22:57 »

а вот это действительно бред какой то, физически такого быть не должно
почему не должно? автор просто накосячил в написании плагтна и вместо  js и css накорябал htm Azn
переписать в исходнике и делов то?
Записан
beliyadm
Профи
********

Репутация: +1588/-63
Offline Offline

Пол: Мужской
Сообщений: 8432


Севастополь == Россия


« Ответ #46 : 15.06.2009, 11:26:58 »

почему не должно? автор просто накосячил в написании плагтна и вместо  js и css накорябал htm Azn
что значит автор накосячил? Плагин то мой собственный и нет там такого в коде
Код
$header 	.= '<script type="text/javascript" src="/plugins/content/pb_spoiler/mootools/spoiler.js"></script>';
$header .= '<link rel="stylesheet" href="/plugins/content/pb_spoiler/mootools/spoiler.css" type="text/css" />';
$mainframe->addCustomHeadTag($header);
 
Записан
doctorgrif
Завсегдатай
*****

Репутация: +82/-1
Offline Offline

Пол: Мужской
Сообщений: 759


Нудный доктор


« Ответ #47 : 15.06.2009, 11:37:46 »

тогда извиняюсь, челом бъю об пол...
а автозамены (какой-никакой) у ТС нет? ну может в htaccess какая-то фигня прописана - по запрету загрузки js/css?
ручной способ установки меняет картину?
Записан
delphine
Осваиваюсь на форуме
***

Репутация: +30/-0
Offline Offline

Пол: Мужской
Сообщений: 189



« Ответ #48 : 15.06.2009, 11:47:08 »

Что самое интересное, до и после все скрипты и css нормальные.
Записан
beliyadm
Профи
********

Репутация: +1588/-63
Offline Offline

Пол: Мужской
Сообщений: 8432


Севастополь == Россия


« Ответ #49 : 15.06.2009, 12:19:19 »

тогда самый простой вариант - закомментировать в файле плагина данные две строки и вставить в HEAD шаблона вызов данных JS CSS файлов
Записан
ivieDVeD
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13



« Ответ #50 : 16.06.2009, 04:43:54 »

А теперь можно все понятным языком, что сделать чтобы все заработало? Уж очень понравился мне этот плагин...
Записан
delphine
Осваиваюсь на форуме
***

Репутация: +30/-0
Offline Offline

Пол: Мужской
Сообщений: 189



« Ответ #51 : 16.06.2009, 09:12:53 »

1. Открываешь файл pb_spoiler.php.
2. Находишь там:
Код
$mainframe->addCustomHeadTag($header);
и комментируешь так:
Код
//$mainframe->addCustomHeadTag($header);
3. Сохраняешь изменения.
3. Открываешь файл шаблона.
4. В секцию HEAD дописываешь:
Если будешь использовать mootools
Код
<script type="text/javascript" src="/plugins/content/pb_spoiler/mootools/spoiler.js"></script>
<link rel="stylesheet" href="/plugins/content/pb_spoiler/mootools/spoiler.css" type="text/css" />
Если будешь использовать jquery
Код
<script type="text/javascript" src="'/plugins/content/pb_spoiler/jquery/jquery.js"></script>
<script type="text/javascript" src="'/plugins/content/pb_spoiler/jquery/accordion.js"></script>
<link rel="stylesheet" href="/plugins/content/pb_spoiler/jquery/style.css" type="text/css" />
<script type="text/javascript">
jQuery().ready(function(){
// applying the settings
jQuery('.pbspoiler').Accordion({
 active: 'span.selected',
 header: 'span.head',
 alwaysOpen: false,
 animated: true,
 showSpeed: 400
});
});
</script>
5. Сохраняешь.
6. Пользуешься.

(beliyadm, ошибок вроде нету?)
Записан
delphine
Осваиваюсь на форуме
***

Репутация: +30/-0
Offline Offline

Пол: Мужской
Сообщений: 189



« Ответ #52 : 16.06.2009, 09:18:11 »

beliyadm, а такой вопрос. Использую jquery. А если на странице нет ни одного сполера, а всё эта байда для него всё-равно загружена, ошибок в IE не всплывает?  Wink
В частности вот с этим блоком:
Код
<script type="text/javascript">
jQuery().ready(function(){
// applying the settings
jQuery('.pbspoiler').Accordion({
 active: 'span.selected',
 header: 'span.head',
 alwaysOpen: false,
 animated: true,
 showSpeed: 400
});
});
Записан
beliyadm
Профи
********

Репутация: +1588/-63
Offline Offline

Пол: Мужской
Сообщений: 8432


Севастополь == Россия


« Ответ #53 : 16.06.2009, 09:46:55 »

delphine - моя вина Azn открой файл pb_spoiler.php и перетащи вызов функции pb_spoiler_css(); выше в функцию function pb_spoiler_replacer
Записан
ivieDVeD
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13



« Ответ #54 : 16.06.2009, 10:42:06 »

Сделал все описанное delphine, все точно так же... Sad
Записан
beliyadm
Профи
********

Репутация: +1588/-63
Offline Offline

Пол: Мужской
Сообщений: 8432


Севастополь == Россия


« Ответ #55 : 16.06.2009, 10:50:24 »

все должно быть корректно, было так
Код
function pb_spoiler_replacer ( &$matches )
{
//$jstype = pb_spoiler_params();
$plugin =& JPluginHelper::getPlugin('content', 'pb_spoiler');
$pluginParams = new JParameter( $plugin->params );
$jstype = $pluginParams->get('jstype', 1);
$html = '';
$regex1 = "#{spoiler title=([_0-9A-Za-zА-яа-яЁё](.*?))}#s";
$regex2 = "#{/spoiler}#s";
$spoilertext = preg_replace($regex2, '', (preg_replace($regex1, '', $matches[0])));
 
switch ($jstype) {
case '1'; //mootools
$html .= '<div class="spoiler">
<div class="sp-head">
<div class="sp-head-click"><a href="#">'
.$matches[1].'</a></div></div>
<div class="sp-body">'
.$spoilertext.'</div>
</div>'
;
break;
case '2'; //jquery
$html .= '<ul class="pbspoiler">';
$html .= '<li><span class="head"><a href="javascript:;" title="Развернуть">'.$matches[1].'</a></span>
    <ul>
    <li>'
.$spoilertext.'</li>
    </ul>
    </li>'
;
$html .= '</ul>';
break;
}
       return $html;
}
pb_spoiler_css();
а должно стать так
Код
function pb_spoiler_replacer ( &$matches )
{
//$jstype = pb_spoiler_params();
pb_spoiler_css();
$plugin =& JPluginHelper::getPlugin('content', 'pb_spoiler');
$pluginParams = new JParameter( $plugin->params );
$jstype = $pluginParams->get('jstype', 1);
$html = '';
$regex1 = "#{spoiler title=([_0-9A-Za-zА-яа-яЁё](.*?))}#s";
$regex2 = "#{/spoiler}#s";
$spoilertext = preg_replace($regex2, '', (preg_replace($regex1, '', $matches[0])));
 
switch ($jstype) {
case '1'; //mootools
$html .= '<div class="spoiler">
<div class="sp-head">
<div class="sp-head-click"><a href="#">'
.$matches[1].'</a></div></div>
<div class="sp-body">'
.$spoilertext.'</div>
</div>'
;
break;
case '2'; //jquery
$html .= '<ul class="pbspoiler">';
$html .= '<li><span class="head"><a href="javascript:;" title="Развернуть">'.$matches[1].'</a></span>
    <ul>
    <li>'
.$spoilertext.'</li>
    </ul>
    </li>'
;
$html .= '</ul>';
break;
}
       return $html;
}
то есть вызов функции подгрузки скриптов происходит только в случае обнаружения вхождения ключевых тегов спойлера на странице
Записан
delphine
Осваиваюсь на форуме
***

Репутация: +30/-0
Offline Offline

Пол: Мужской
Сообщений: 189



« Ответ #56 : 16.06.2009, 11:41:17 »

ivieDVeD, давай ещё раз страницу, уже с измененым кодом
Записан
delphine
Осваиваюсь на форуме
***

Репутация: +30/-0
Offline Offline

Пол: Мужской
Сообщений: 189



« Ответ #57 : 16.06.2009, 11:53:33 »

beliyadm, а так правильно? у меня так в HEAD по два, три, четыре... раза все загружается...

у меня ошибка вылазит когда я в шаблон это вставляю
Код
jQuery().ready(function(){jQuery('.pbspoiler').Accordion({active:'span.selected',header:'span.head',alwaysOpen:false,animated:true,showSpeed:400}) });
а не на всех страницах есть этот pbspoiler
а только её в pb_spoiler.php оставить не могу, так как этот $header втыкается при загрузке раньше чем грузится сам скрипт jquery.
Опять же ошибка выползает.

А выткать загрузку jquery.js и accordion.js выше
Код
<jdoc:include type="head" />
что то не очень хочется...
« Последнее редактирование: 16.06.2009, 12:03:51 от delphine » Записан
ivieDVeD
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13



« Ответ #58 : 17.06.2009, 02:25:11 »

Снова сделал все как написано... Аналогично... Страница в приложении.

[вложение удалено Администратором]
« Последнее редактирование: 17.06.2009, 05:33:23 от ivieDVeD » Записан
ivieDVeD
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13



« Ответ #59 : 17.06.2009, 09:44:31 »

Решил проблему самостоятельно! По аналогии с другим плагином нашел различия, и вот что я изменил:
в файле pb_spoiler.php в местах где указывается путь, в самом начале поставил пробел и убрал слэш.  
было:
Цитировать
...('live_site').'/plugins/content/pb_spoiler/mootools/spoiler.js"></script>';
стало:
Цитировать
...('live_site'). 'plugins/content/pb_spoiler/mootools/spoiler.js"></script>';

mootools.js закинул в корень сайта.. И все зароботало!!!
 
Но теперь другая проблема: сайт "подкидывает" вверх при раскрытии спойлера. Т.е. если если страницу прокрутить вниз и раскрыть там спойлер, то страницу переносит резко вверх. Sad
« Последнее редактирование: 17.06.2009, 10:03:17 от ivieDVeD » Записан
delphine
Осваиваюсь на форуме
***

Репутация: +30/-0
Offline Offline

Пол: Мужской
Сообщений: 189



« Ответ #60 : 17.06.2009, 09:59:20 »

скинь страничку с уже работающим.
Записан
Страниц: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet