Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x

  • 264 Ответов
  • 39423 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн ELLE

В поисках нормального плагина табов.......в общем, поиски не удались - на JED либо нет под J3, либо коммерческое, либо тянет за собой еще и фреймворк **facepalm** и решила я тут сделать свое - что-нибудь легкое, адекватное и т.д. - на каждый день )))

Получилось 3 в 1
 - табы;
 - аккордеон ("гармошка");
 - спойлер;

минимум js (jQuery), минимум CSS

Работает с com_content

Смотрится по-умолчанию так -



Скачать или посмотреть демо можно тут - http://joomext.ru/plugin-tabs-slider-spoilers

Ставим, в менеджере включаем, если jQuery не подключен на сайте, то заходим в настройки и выставляем версию, например 1.8.1

В материале вставляем:
Спойлер
[свернуть]

история версий:
Спойлер
[свернуть]

Как убрать ссылку? Отвечаю: если плагин вам понравился, вы планируете его использовать в своих проектах, то можете поддержать развитие плагина, оплатив версию без копирайта, в противном случае, оставьте ссылку на месте.
« Последнее редактирование: 24.03.2015, 16:34:26 от ELLE »

*

Оффлайн dimon888951

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #1 : 20.08.2013, 07:48:07 »
Спасибо за труды! Полезный плагин.

« Последнее редактирование: 20.08.2013, 23:07:51 от ELLE »

*

Оффлайн ELLE

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #2 : 20.08.2013, 16:15:10 »
На здоровье  ^-^

По плагину есть что сказать? Может чего-то не хватает, ошибки и пр.
« Последнее редактирование: 20.08.2013, 23:08:12 от ELLE »

*

Оффлайн wfedin

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #3 : 20.08.2013, 17:34:39 »
Любопытно, что мне в табах не понравилось:
1. Содержание не занимает всё доступное место

2. Нужен параметр чтобы задать фикс. высоту табам {tab=first tab title here PARAM=280}, а лучше как-то чтобы в одном месте указал и все табы из группы съели...

*

Оффлайн ELLE

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #4 : 20.08.2013, 17:43:28 »
Любопытно, что мне в табах не понравилось:
1. Содержание не занимает всё доступное место

2. Нужен параметр чтобы задать фикс. высоту табам {tab=first tab title here PARAM=280}, а лучше как-то чтобы в одном месте указал и все табы из группы съели...
ну это можно вместо 50%, выставить все 100%
просто смотрите - лучше залезть один раз подправить стили для себя, чем мусор складывать в исходом коде
можно сделать в настройках - и ширину, и высоту, и цвета, и все что хотите, но тогда это *** будет в коде висеть - почему я и не жалую все эти слайдеры с JED - верстальщики меня поймут  ;)
а так у нас всего один маленький js и небольшой CSS получается

« Последнее редактирование: 20.08.2013, 17:47:50 от ELLE »

*

Оффлайн wfedin

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #5 : 20.08.2013, 17:52:45 »
Тогда уж проще на мой взгляд просто цепануть скрипт в хеад и плагин не нужен. Извиняюсь если что, просто я так думаю.

*

Оффлайн ELLE

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #6 : 20.08.2013, 17:55:25 »
Тогда уж проще на мой взгляд просто цепануть скрипт в хеад и плагин не нужен. Извиняюсь если что, просто я так думаю.
я раньше тоже так думала, потом надоело с разметкой возиться

*

Оффлайн SmokerMan

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #7 : 20.08.2013, 17:58:13 »
Глянул быстро
чего-то не понятно есть {/tabs}, а открывающего {tabs} нету
Логичней уже делать
{tabs}
{tab=first tab title here}
...
{/tabs}

function _replace_tabзаменить на
protected function replace_tabПрефикс "_" использовался для PHP < 5, когда еще не было более мене внятного ООП.

if(!preg_match("#{tab=.+?}|{slider=.+?}|{spoiler=.+?}#s", $row->text)) return;вообще не понятно к чему, если уж делается проверка, то ее нужно добавлять в начало, а не в конец.
И лучше делать через
if(strpos($row->text, '{tab')!== false) return;в каждой функции. Так будет гораздо быстрей.

+ сделать отдельно кнопочку для редактора, что бы это все ручками не писать.
Это так на будущее))


*

Оффлайн Efanych

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #9 : 21.08.2013, 01:35:14 »
Цитировать
Глянул быстро
чего-то не понятно есть {/tabs}, а открывающего {tabs} нету
Логичней уже делать
{tabs}
{tab=first tab title here}
...
{/tabs}

Несколько табов попадались (nonumber, uyguntabs) у них синтаксис тоже без открывающего {tabs}.
Мне бы так удобней было. Переезжать если что проще...
Создание сайтов, шаблонов, помощь в решении проблем.

*

Оффлайн ELLE

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #10 : 21.08.2013, 02:02:45 »
просто без первого можно обойтись, а без последнего никак...даже не обязательно {/tabs}, любой символ\ограничитель
в него же и можно добавить параметры, как предложил wfedin, который позволял бы задать высоту для всех блоков табов...
типа {/tabs h=200}

*

Оффлайн Fedor Vlasenko

  • ********
  • 3799
  • [+]704 / [-]6
  • Все начинается с Value
    • Просмотр профиля
    • Создание сайтов, поддержка сайтов
Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #11 : 21.08.2013, 02:05:27 »
можно вопрос зачем конструкция {tab=second tab title here}, то есть зачем делать реализацию используя php
ведь не смотря на код потом обрабатываете регулярками. Это немного Неправильный подход. Ведь все равно обрабатываем js Тогда ему все и надо отдавать всю реализацию пример тот же Bootstrap. Особый вид разметки задание класса slider к примеру и js обрабатывает как нужно.
Пока писал накидал пример http://jsfiddle.net/vlasenkofedor/qPC6a/ без php

*

Оффлайн ELLE

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #12 : 21.08.2013, 02:08:46 »
Федор, я ж уже говорила:
потом надоело с разметкой возиться

*

Оффлайн AlekVolsk

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #13 : 09.09.2013, 11:30:09 »
Интересный эффект: на странице с материалом, где есть какие-либо другие подключенные плагины (галерея, например), все нормально, а там где другие плагины не присутствуют - не работает, как будто бы jquery не подгружается.

*

Оффлайн AlekVolsk

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #14 : 09.09.2013, 13:53:44 »
Интересный эффект: на странице с материалом, где есть какие-либо другие подключенные плагины (галерея, например), все нормально, а там где другие плагины не присутствуют - не работает, как будто бы jquery не подгружается.
А ларчик просто открывался: ручками в настройках указал версию jquery. Учитывая, что я в новичок со стаже 1,5 мес - мне простительно   ^-^
Автору респект, я долго искал подобную штуку, вариант от nonumbers у меня работать почему-то отказался. Сорри за оффтоп :D

*

Оффлайн AlekVolsk

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #15 : 10.09.2013, 00:06:06 »
Все бы ничего, но после того, как заработал Tabs & Sliders & Spoilers, перестала корректно работать галерея Simple Image Gallery (by JoomlaWorks): миниатюры отображаются, однако полные изображения открываются не во фрейме, а в отдельном окне. Как решить конфликт? Пробовал указать разные версии jquery, в т.ч указывал в галерее вообще его не грузить - эффект одинаков во всех случаях. ;(


*

Оффлайн AlekVolsk

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #17 : 10.09.2013, 00:15:01 »
Допускаю, что да:

 <script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
  <script src="/media/system/js/core.js" type="text/javascript"></script>
  <script src="/media/system/js/mootools-more.js" type="text/javascript"></script>
  <script src="/media/plg_system_topofthepage/ScrollSpy-yui-compressed.js" type="text/javascript"></script>
  <script src="/media/plg_system_topofthepage/smoothscroll.js" type="text/javascript"></script>
  <script src="/media/plg_system_topofthepage/topofthepage.js" type="text/javascript"></script>
  <script src="/media/jui/js/jquery.min.js" type="text/javascript"></script>
  <script src="/media/jui/js/jquery-noconflict.js" type="text/javascript"></script>
  <script src="/plugins/content/jw_sig/jw_sig/includes/js/jquery_fancybox/fancybox/lib/jquery.mousewheel-3.0.6.pack.js" type="text/javascript"></script>
  <script src="/plugins/content/jw_sig/jw_sig/includes/js/jquery_fancybox/fancybox/jquery.fancybox.pack.js?v=2.1.4" type="text/javascript"></script>
  <script src="/plugins/content/jw_sig/jw_sig/includes/js/jquery_fancybox/fancybox/helpers/jquery.fancybox-buttons.js?v=2.1.4" type="text/javascript"></script>
  <script src="/plugins/content/jw_sig/jw_sig/includes/js/jquery_fancybox/fancybox/helpers/jquery.fancybox-thumbs.js?v=2.1.4" type="text/javascript"></script>
  <script src="/plugins/content/jw_sig/jw_sig/includes/js/behaviour.js" type="text/javascript"></script>
  <script src="/plugins/content/uyguntabs/uyguntabs/includes/js/behaviour.min.js" type="text/javascript"></script>
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
  <script src="/media/ext_tss/assets/js/script.js" type="text/javascript"></script>
  <script src="/media/system/js/caption.js" type="text/javascript"></script>
  <script type="text/javascript">
если не указать версию jquery в вашем компоненте, он не работает, а указать - грузит с Google вторую копию, может, и еще где подгружается - не до конца мне понятно, извините, новичок.
галерея - http://pu-5.ru/uchrezhdenie/dokumenty.html
слайдер - http://pu-5.ru/abiturientu.html

кстати, если не указывать в компоненте слайдера версию jquery, то он работает только на странице с галереей, на других не хочет почему-то...
вывод: на страницах, где нет галереи, jquery не грузиться, как заставить его грузиться на всех страницах? Joomla 3.1.5
« Последнее редактирование: 10.09.2013, 00:24:19 от AlekVolsk »

*

Оффлайн ELLE

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #18 : 10.09.2013, 00:24:36 »
ну, у вас jQuery 2 раза подключен, noConflict тоже 2 раза
и кстати ошибка в фансибокс http://prntscr.com/1qbbco
jQuery отключите в плагине, подключена же уже библиотека

*

Оффлайн AlekVolsk

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #19 : 10.09.2013, 00:47:14 »
убрал noConflict из фансибокс, как исправить ошибку - не знаю. отключил jquery в плагине - он перестал работать
кстати, с помощью какого инструмента была найдена ошибка, если не секрет?

*

Оффлайн ELLE

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #20 : 10.09.2013, 00:57:13 »
оставьте свой e-mail, отправлю вам новую версию, попробуете

*

Оффлайн AlekVolsk

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #21 : 10.09.2013, 00:59:10 »
хм, в профиле указан
спасибо
« Последнее редактирование: 06.04.2015, 01:36:32 от AlekVolsk »

*

Оффлайн AlekVolsk

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #22 : 10.09.2013, 01:38:41 »
решил-таки проблему ;)))))
нашел в коде галереи, где грузится jquery:
if (strpos($popup_engine, 'jquery_')!== false && $jQueryHandling != 0)
{
if (version_compare(JVERSION, '3.0', 'ge')!==false)
{
JHtml::_('jquery.framework');
} else {
if($jQueryHandling=='1.9'){
$document->addScript('//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js');
} else {
$document->addScript('//ajax.googleapis.com/ajax/libs/jquery/'.$jQueryHandling.'/jquery.min.js');
}
}
}

подумав, решил в слайдере жестко грузить jquery из ядра Joomla:
    JHtml::_('jquery.framework');
//    $jquery = $this->params->get('jquery');
//    if (isset($jquery)) {
//      $document->addScript('//ajax.googleapis.com/ajax/libs/jquery/'.$jquery.'/jquery.min.js');
//    }
подход, конечно, неправильный, ибо jquery ядром может просто не грузиться, но "на пока" сойдет, потом научусь - поправлю лучше.
большое спасибо за помощь и за компонент!

*

Оффлайн AlekVolsk

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #23 : 10.09.2013, 12:14:38 »
новая версия работает исправно, большое вам спасибо.

есть еще вопрос по css: как совместить градиент с изображением?
в слайдере для себя поправил:
.sliders .title  {
background:linear-gradient(top,#f7f7f7,#e9e7e7);
background:-webkit-linear-gradient(top,#f7f7f7,#e9e7e7);
background:-o-linear-gradient(top,#f7f7f7,#e9e7e7);
background:-moz-linear-gradient(top,#f7f7f7,#e9e7e7);
background:-ms-linear-gradient(top,#f7f7f7,#e9e7e7);
padding: 7px 15px;margin: 0;border: solid 1px #c4c4c4;border-bottom: none;cursor: pointer;
font-family: Verdana, sans-serif; font-size: 12px; text-shadow: 0 1px 0 rgba(255,255,255,.5);
}
.sliders .title:hover  {
background:linear-gradient(top,#f7f7f7,#e3e2e2);
background:-webkit-linear-gradient(top,#f7f7f7,#e3e2e2);
background:-o-linear-gradient(top,#f7f7f7,#e3e2e2);
background:-moz-linear-gradient(top,#f7f7f7,#e3e2e2);
background:-ms-linear-gradient(top,#f7f7f7,#e3e2e2);
}
.sliders .title.active  {
background:linear-gradient(top,#e9e7e7 0%, #e9e7e7 70%, #f7f7f7 100%);
background:-webkit-linear-gradient(top,#e9e7e7 0%, #e9e7e7 70%, #f7f7f7 100%);
background:-o-linear-gradient(top,#e9e7e7 0%, #e9e7e7 70%, #f7f7f7 100%);
background:-moz-linear-gradient(top,#e9e7e7 0%, #e9e7e7 70%, #f7f7f7 100%);
background:-ms-linear-gradient(top,#e9e7e7 0%, #e9e7e7 70%, #f7f7f7 100%);
}
.sliders .title.active:hover  {
background:linear-gradient(top,#e3e2e2 0%, #e3e2e2 70%, #f7f7f7 100%);
background:-webkit-linear-gradient(top,#e3e2e2 0%, #e3e2e2 70%, #f7f7f7 100%);
background:-o-linear-gradient(top,#e3e2e2 0%, #e3e2e2 70%, #f7f7f7 100%);
background:-moz-linear-gradient(top,#e3e2e2 0%, #e3e2e2 70%, #f7f7f7 100%);
background:-ms-linear-gradient(top,#e3e2e2 0%, #e3e2e2 70%, #f7f7f7 100%);
}
куда при этом воткнуть url(../images/arrow-square.gif) no-repeat right -51px - непредставляю себе возможным. вопрос, в общем-то не критичен, можно обойтись и без картинки, но если есть возможность совместить, подскажите решение, пожалуйста.

*

Оффлайн AlekVolsk

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #24 : 10.09.2013, 12:16:43 »
а еще очень хотелось бы иметь опцию изначально держать все разделы слайдера/спойлера свернутыми, хотя это уже блажь  ^-^

в табах обнаружил косячок: если закладок достаточно много, и они все не умещаются по ширине области, то отображаются только те первые закладки, ширина заголовков которых на 100% умещается по ширине модуля, остальные отбрасываются. возможно ли как-нибудь сделать скроллинг заголовков или отображение их в несколько строк?
« Последнее редактирование: 10.09.2013, 12:23:01 от AlekVolsk »

*

Оффлайн AlekVolsk

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #25 : 10.09.2013, 13:50:41 »
в общем, догадался методом тыка, как отобразить изначально все слайдеры скрытыми:  это:
jQuery(".sliders .desc:not(:first)").hide();поменял на это:jQuery(".sliders .desc").hide(); //:not(:first)+ закомментировал jQuery(".sliders .title:first").addClass("active"); чтобы стиль к первому слайду не применялся как к раскрытому

остался открытым вопрос с отображением всех вкладок, в частности здесь:http://pu-5.ru/uchrezhdenie/dokumenty.html у меня их 4, по факту отображаются только 3...
« Последнее редактирование: 10.09.2013, 13:57:52 от AlekVolsk »

*

Оффлайн ELLE

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #26 : 10.09.2013, 21:22:01 »
чтобы отобразить все вкладки, достаточно будет задать z-index http://prntscr.com/1qh40j
но табы в 2 и более рядов смотрятся на мой взгляд не очень...тогда уж лучше 2 блока табов делать или совместить табы со спойлером

*

Оффлайн AlekVolsk

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #27 : 10.09.2013, 22:32:06 »
да, действительно, смотрится не очень, я так понимаю, что реализация поведения заголовков табов аналогично поведению в винде (т.е. когда неактивные вкладки с другой строки расположены сверху) или требует более продвинутых знаний js или вообще малореальна. все равно спасибо за подсказку :)

*

Оффлайн ELLE

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #28 : 10.09.2013, 23:06:41 »
вы имеете в виду как вкладки допустим в браузере? в независимости от них кол-ва они всегда в один ряд, уменьшается лишь их заголовок, то есть обрезается так, чтобы вместились все вкладки в одну строку
можно сделать...подсчитать все заголовки, 100% разделить на их кол-во и задать каждой вкладке, точнее заголовку, width="xx%"

*

Оффлайн AlekVolsk

Re: Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x
« Ответ #29 : 10.09.2013, 23:13:31 »
нет, я имею ввиду как, например, в винде окошко свойств системы, где (в win7/win8) 5 вкладок в 2 строки (в xp их больше и в 3 строки), при этом заголовок активной вкладки всегда в нижней строке. или в одну строку с прокруткой
« Последнее редактирование: 10.09.2013, 23:20:45 от AlekVolsk »