Новости Joomla

FancyBox для изображений материалов плагин для Joomla

FancyBox для изображений материалов плагин для Joomla

Плагин добавляет ссылку на модальное окно FancyBox к изображениям материалов. В параметрах плагина можно выбрать один из двух параметров обработки изображений:

  1. когда задана ширина. Срабатывает, когда тегу img задан параметр width и он меньше, чем реальный размер изображения
  2. по классу. Напишите классы изображений, которые нужно обработать. Можно написать несколько классов через запятую.

Разработчик - участник нашего сообщества Дмитрий Денисов (@mitriy_bug). Скрипты FancyBox подключаются самостоятельно, либо с помощью плагина WT Fancybox.js.

Также следует помнить, что Fancybox.js распространяется автором (Fancyapps) под коммерческой лицензией. Для использования его на своих сайтах вы должны ознакомиться с лицензионным соглашением и приобрести лицензию согласно одному из тарифных планов Fancyapps, чтобы использовать его на своих сайтах без возможных юридических последствий.

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

ABTOP

  • Захожу иногда
  • 493
  • 33 / 4
Проблема: в шаблон сайта надо вставить разметку специально для JComments. То есть если JComments  присутствуют, то разметка появляется, а если не присутствуют - не появляется.

Вопрос: какое условие надо вставить в шаблон, чтобы такое случалось? If... и дальше..?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Проверка присутствия JComments
« Ответ #1 : 07.05.2013, 13:56:50 »
Что именно необходимо узнать - есть ли вообще на сайте JComments?
*

rixter

  • Захожу иногда
  • 95
  • 9 / 0
  • Кто юзал мой писи?
Re: Проверка присутствия JComments
« Ответ #2 : 07.05.2013, 15:50:21 »
*

ABTOP

  • Захожу иногда
  • 493
  • 33 / 4
Re: Проверка присутствия JComments
« Ответ #3 : 07.05.2013, 17:17:06 »
Что именно необходимо узнать - есть ли вообще на сайте JComments?

Необходимо узнать не только установлен этот компонент, но и что он включён.
Проверка наличия файла, как указано на JoomlaTune.com
Код
$comments = JPATH_SITE . '/components/com_jcomments/jcomments.php';
  if (file_exists($comments))
не совсем устраивает, т.к. компонент может быть установлен, но отключён.

Впрочем, задача усложняется, т.к., как правильно заметил тов. rixter, следует также проверять на включённость каждой конкретной категории. Получается многовато проверок для обще-целевого шаблона. Так что я попытаюсь сделать всё исключительно средствами CSS. Вопщем, вопрос снимается, отбой учебной тревоги.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Проверка присутствия JComments
« Ответ #4 : 07.05.2013, 17:37:38 »
А как изначально стоит вопрос-то? В принципе когда компонент вызывается, он объявляет константу JCOMMENTS_SHOW. А так, как шаблон вызывается уже после, то можно проверять по факту - был ли вызов JComments или нет.
*

ABTOP

  • Захожу иногда
  • 493
  • 33 / 4
Re: Проверка присутствия JComments
« Ответ #5 : 09.05.2013, 07:57:52 »
А как изначально стоит вопрос-то?
С самого начала что ли? Ну давайте с самого начала.

Итак, имеем такой дизайн:

Это WordPress-совский шаблон, его надо повторить для Joomla.
Проблема в том, что число комментариев выводится в таком неудобном месте. В WordPress-е вывести число комментариев легко практически в любом месте, там комментарии часть основного API. С шаблоном для Joomla проблема в том, что имя автора материала и число комментариев находятся внутри одного графического элемента - серой полоски. Вывести только число комментариев, без readmore, у меня никак не получается.

Что хочется, так это отдельное событие (не знаю как это по-русски, event), по которому бы выводилось только число комментариев. Понятно, что это событие должно быть от jComments.

Тогда я бы мог сделать достаточно простую верстку, типа:
Код
<div class=grey_bar>
<div class="createdby">
<?php $author =  $this->item->author; ?>
</div>
<div class="comments_number">
<?php echo $this->item->event->JCommentsNumberEvent; ?>
</div>
</div>

Можно было бы добавить к этой верстке проверку условия на наличие JComments, или включать этот кусок через настройки вручную - не принципиально. Загвоздка в том, что я не знаю есть ли такое событие и, если есть, как его правильно использовать.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Проверка присутствия JComments
« Ответ #6 : 10.05.2013, 22:28:00 »
Что хочется, так это отдельное событие (не знаю как это по-русски, event), по которому бы выводилось только число комментариев. Понятно, что это событие должно быть от jComments.
Такое событие в принципе есть:

Код: php
dispatcher	=& JDispatcher::getInstance();
$dispatcher->trigger('onJCommentsCount', array($id, 'com_mycomponent'));
где $id это идентификатор комментируемого объекта, а 'com_mycomponent' соотв. имя компонента.
*

ABTOP

  • Захожу иногда
  • 493
  • 33 / 4
Re: Проверка присутствия JComments
« Ответ #7 : 11.05.2013, 07:34:27 »
Я нашёл аж 24 этих самых триггеров, но onJCommentsCount среди них не наблюдаю.
Он в каком файле определён?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Проверка присутствия JComments
« Ответ #8 : 11.05.2013, 10:53:11 »
Это событие определено в системном плагине (JComments - System).
*

ABTOP

  • Захожу иногда
  • 493
  • 33 / 4
Re: Проверка присутствия JComments
« Ответ #9 : 15.05.2013, 03:53:06 »
Ну, вопщем, если кому понадобиться, то работает такая штуковина:
Код
<?php
echo JText::_('TPL_WARP_COMMENTS') ;
$commentscount = plgSystemJComments::onJCommentsCount($this->item->id, 'com_content') ;
echo $commentscount;
?>

Понятно, что в настройках плагина Материалы - Комментарии следует скрывать ссылку «Комментарии», чтобы один и тотже счётчик два раза не показывать.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Проверка присутствия JComments
« Ответ #10 : 15.05.2013, 11:03:09 »
Ну, вопщем, если кому понадобиться, то работает такая штуковина:
Не совсем корректно, правильнее использовать JDispatcher, как я писал ранее. Так как в этом случае, не нужно проверять, загружен ли плагин, и в случае, если JComments вообще нет на сайте, никакой ошибки не возникнет.
*

ABTOP

  • Захожу иногда
  • 493
  • 33 / 4
Re: Проверка присутствия JComments
« Ответ #11 : 19.05.2013, 14:49:08 »
... правильнее использовать JDispatcher, ...
А у меня через него почему-то сразу не получалось, так я в обход пошёл.  ;D
У меня вообще трудности с ООП, да.

Итак, корректный вариант через диспетчера:
Код
<?php
echo JText::_('TPL_WARP_COMMENTS') ;
$dispatcher =& JDispatcher::getInstance();
$dispatcher->trigger('onJCommentsCount', array($this->item->id, 'com_content'));
?>

Понятно, что к языковым константам в данном случае необходимо добавить нечто вроде
Код
TPL_WARP_COMMENTS="Comments:&nbsp;"

Большое спасибо за помощь, Сергей.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не отправляются комментарии из JComments 3.0.7.9

Автор akteon25

Ответов: 1
Просмотров: 1391
Последний ответ 21.02.2025, 12:41:06
от NewUsers
152-ФЗ jcomments электронная почта комментатора

Автор basn

Ответов: 1
Просмотров: 1343
Последний ответ 12.02.2025, 12:01:20
от basn
Как отключить капчу в jcomments 4?

Автор Алено4ка

Ответов: 1
Просмотров: 2370
Последний ответ 02.08.2024, 20:53:02
от ProtectYourSite
Вышла новая версия JComments Fork 4.0.16

Автор ProtectYourSite

Ответов: 79
Просмотров: 28718
Последний ответ 05.02.2024, 23:50:16
от ProtectYourSite
У Jcomments есть аналоги?

Автор ruslan13

Ответов: 10
Просмотров: 4588
Последний ответ 07.12.2023, 20:08:31
от Missile