|
beliyadm
|
 |
« : 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. Под ИЕ-шками не смотрел 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Изменения 1. Работа в Joomla 1.6 2. Убраны стили и картинки. Считаю, что стили — дело шаблона. Кому как надо так и оформляйте, включая стрелочки 3. Вывод теперь одинаков для обоих фреймворков, что упрощает правку стилей. Сделав изменения в шаблоне можете переключать движки в зависимости от желания, ничего не посыпется. 4. Обеспечена совместимость с IE6+, проверено в 6, 8 и 9 5. Поддержка многоязычности. Дана русская локализация 6. Из шаблонов убраны ссылки. Не хорошо, когда есть ссылки, которые не задействованы.
Дополнительно:
|
|
|
|
« Последнее редактирование: 21.02.2012, 19:30:28 от beliyadm »
|
Записан
|
|
|
|
| |
|
beliyadm
|
 |
« Ответ #31 : 01.06.2009, 16:25:46 » |
|
спойлер у меня не скрывает, весь скрытый текст открыт сразу и не сворачивается
проверить в исходном коде, что подключились необходимые скрипты и стили
|
|
|
|
|
Записан
|
|
|
|
alex54
Осваиваюсь на форуме
 
Репутация: +3/-1
Offline
Сообщений: 183
|
 |
« Ответ #32 : 01.06.2009, 16:38:26 » |
|
проверить в исходном коде, что подключились необходимые скрипты и стили
я не програмист  можно разжевать что и как проверить
|
|
|
|
|
Записан
|
|
|
|
alex54
Осваиваюсь на форуме
 
Репутация: +3/-1
Offline
Сообщений: 183
|
 |
« Ответ #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
|
 |
« Ответ #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
Сообщений: 183
|
 |
« Ответ #35 : 02.06.2009, 05:47:15 » |
|
с ошибкой разобрались - ушла но спойлер не пашет, как проверить проверить в исходном коде, что подключились необходимые скрипты и стили
и с демо кнопкой проблемы, ставлю плагин последним и кнопка становится дубль споилера с тем же функционалом Joomla 1.5.10 
|
|
|
|
|
Записан
|
|
|
|
delphine
Давно я тут
  
Репутация: +30/-0
Offline
Пол: 
Сообщений: 222
|
 |
« Ответ #36 : 03.06.2009, 16:26:30 » |
|
Вопрос такой! Как сделать так чтобы текст отображался-скрывался не при клике, а при наведении мыши? Кто знает? Предполагаю что нужно использовать onMouseover и onMouseout, но никак не могу прикрутить...
p.s. Разобрался
|
|
|
|
« Последнее редактирование: 05.06.2009, 02:23:31 от delphine »
|
Записан
|
|
|
|
ivieDVeD
Захожу иногда

Репутация: +0/-0
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
Пол: 
Сообщений: 222
|
 |
« Ответ #38 : 11.06.2009, 09:58:32 » |
|
ivieDVeD, ссылка есть на сайт?
|
|
|
|
|
Записан
|
|
|
|
ivieDVeD
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 13
|
 |
« Ответ #39 : 11.06.2009, 10:06:31 » |
|
Он у меня локальном сервере 
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #40 : 11.06.2009, 12:07:01 » |
|
ivieDVeD - с каким скриптом указываешь работу плагина (jquery или mootools)? Скрипты в HEAD подгружаются?
|
|
|
|
|
Записан
|
|
|
|
ivieDVeD
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 13
|
 |
« Ответ #41 : 15.06.2009, 02:40:04 » |
|
ivieDVeD - с каким скриптом указываешь работу плагина (jquery или mootools)? Скрипты в HEAD подгружаются?
В во вложении сохранил из браузера образцы страниц с jquery и mootools. Не работает в обоих случаях...  Но выглядит по разному... page_mootols.rarpage_jquery.rarПо началу думал дело в шаблоне, но при смене аналогичная ситуация...
|
|
|
|
« Последнее редактирование: 15.06.2009, 05:58:37 от ivieDVeD »
|
Записан
|
|
|
|
delphine
Давно я тут
  
Репутация: +30/-0
Offline
Пол: 
Сообщений: 222
|
 |
« Ответ #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"?  А может конфликтуют скрипты? У тебя в самом начале грузятся jquery и mootools, а потом ещё раз этоже для сполера. А также позже ещё грузится accordionmenu.js. Может всё это хозяйство и глючит? попробуй всё поодключать, и посомотреть, заработает или нет. А потом потихоньку включай что отключил, и смотри в какой момент перестанет работать. Так и найдешь с кем конфликтует.
|
|
|
|
|
Записан
|
|
|
|
ivieDVeD
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 13
|
 |
« Ответ #43 : 15.06.2009, 11:05:47 » |
|
Не знаю что к чему, но я установил полностью с нуля Джумлу v1.5.11 и поставил на нее плагин, то же самое... 
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #44 : 15.06.2009, 11:19:03 » |
|
Не знаю что к чему, но я установил полностью с нуля Джумлу v1.5.11 и поставил на нее плагин, то же самое...  значит используй плагин в режиме mootools, без jquery <script type="text/javascript" src=".../spoiler_002.htm"> <link rel="stylesheet" href=".../spoiler.htm" type="text/css"> а вот это действительно бред какой то, физически такого быть не должно
|
|
|
|
|
Записан
|
|
|
|
|
doctorgrif
|
 |
« Ответ #45 : 15.06.2009, 11:22:57 » |
|
а вот это действительно бред какой то, физически такого быть не должно
почему не должно? автор просто накосячил в написании плагтна и вместо js и css накорябал htm  переписать в исходнике и делов то?
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #46 : 15.06.2009, 11:26:58 » |
|
почему не должно? автор просто накосячил в написании плагтна и вместо js и css накорябал htm  что значит автор накосячил? Плагин то мой собственный и нет там такого в коде $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
|
 |
« Ответ #47 : 15.06.2009, 11:37:46 » |
|
тогда извиняюсь, челом бъю об пол... а автозамены (какой-никакой) у ТС нет? ну может в htaccess какая-то фигня прописана - по запрету загрузки js/css? ручной способ установки меняет картину?
|
|
|
|
|
Записан
|
|
|
|
delphine
Давно я тут
  
Репутация: +30/-0
Offline
Пол: 
Сообщений: 222
|
 |
« Ответ #48 : 15.06.2009, 11:47:08 » |
|
Что самое интересное, до и после все скрипты и css нормальные.
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #49 : 15.06.2009, 12:19:19 » |
|
тогда самый простой вариант - закомментировать в файле плагина данные две строки и вставить в HEAD шаблона вызов данных JS CSS файлов
|
|
|
|
|
Записан
|
|
|
|
ivieDVeD
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 13
|
 |
« Ответ #50 : 16.06.2009, 04:43:54 » |
|
А теперь можно все понятным языком, что сделать чтобы все заработало? Уж очень понравился мне этот плагин...
|
|
|
|
|
Записан
|
|
|
|
delphine
Давно я тут
  
Репутация: +30/-0
Offline
Пол: 
Сообщений: 222
|
 |
« Ответ #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
Пол: 
Сообщений: 222
|
 |
« Ответ #52 : 16.06.2009, 09:18:11 » |
|
beliyadm, а такой вопрос. Использую jquery. А если на странице нет ни одного сполера, а всё эта байда для него всё-равно загружена, ошибок в IE не всплывает?  В частности вот с этим блоком: <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
|
 |
« Ответ #53 : 16.06.2009, 09:46:55 » |
|
delphine - моя вина  открой файл pb_spoiler.php и перетащи вызов функции pb_spoiler_css(); выше в функцию function pb_spoiler_replacer
|
|
|
|
|
Записан
|
|
|
|
ivieDVeD
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 13
|
 |
« Ответ #54 : 16.06.2009, 10:42:06 » |
|
Сделал все описанное delphine, все точно так же... 
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #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
Пол: 
Сообщений: 222
|
 |
« Ответ #56 : 16.06.2009, 11:41:17 » |
|
ivieDVeD, давай ещё раз страницу, уже с измененым кодом
|
|
|
|
|
Записан
|
|
|
|
delphine
Давно я тут
  
Репутация: +30/-0
Offline
Пол: 
Сообщений: 222
|
 |
« Ответ #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
Сообщений: 13
|
 |
« Ответ #58 : 17.06.2009, 02:25:11 » |
|
Снова сделал все как написано... Аналогично... Страница в приложении.
|
|
|
|
« Последнее редактирование: 17.06.2009, 05:33:23 от ivieDVeD »
|
Записан
|
|
|
|
ivieDVeD
Захожу иногда

Репутация: +0/-0
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 закинул в корень сайта.. И все зароботало!!! Но теперь другая проблема: сайт "подкидывает" вверх при раскрытии спойлера. Т.е. если если страницу прокрутить вниз и раскрыть там спойлер, то страницу переносит резко вверх. 
|
|
|
|
« Последнее редактирование: 17.06.2009, 10:03:17 от ivieDVeD »
|
Записан
|
|
|
|
delphine
Давно я тут
  
Репутация: +30/-0
Offline
Пол: 
Сообщений: 222
|
 |
« Ответ #60 : 17.06.2009, 09:59:20 » |
|
скинь страничку с уже работающим.
|
|
|
|
|
Записан
|
|
|
|
|