Новости Joomla

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

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

FancyBox для изображений материалов плагин для Joomla.Плагин добавляет ссылку на модальное окно FancyBox к изображениям материалов. В параметрах плагина можно выбрать один из двух параметров обработки изображений:1. когда задана ширина. Срабатывает, когда тегу img задан параметр width и он меньше, чем реальный размер изображения2. по классу. Напишите классы изображений, которые нужно обработать. Можно написать несколько классов через запятую.Разработчик - участник нашего сообщества Дмитрий Денисов (@mitriy_bug).Скрипты FancyBox подключаются самостоятельно, либо с помощью плагина WT Fancybox.js. Также следует помнить, что Fancybox.js распространяется автором (Fancyapps) под коммерческой лицензией. Для использования его на своих сайтах вы должны ознакомиться с лицензионным соглашением и приобрести лицензию согласно одному из тарифных планов Fancyapps, чтобы использовать его на своих сайтах без возможных юридических последствий. - Скачать плагин FancyBox для изображений материалов плагин- Плагин веб-ассета WT Fancybox.js- Цены на тарифы Fancybox.js#joomla #расширения

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

matro-skin

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Добрый день!
Прошу помощи.
Joomla 3.4.8
Компонент JComments
Использую модуль К2 Content для отображения материалов.
При использовании фильтра "Самые обсуждаемые", К2 Content не отображает материалов.
Скорее всего потому, что видеть должен только комментарии оставленные штатными комментариями от К2.
Но, я то использую JComments.
Подскажте пожалуйста как быть, что делать.
Спасибо!
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

matro-skin

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Использовать другой модуль или переписать этот.
Отличный совет :-)
Может что-то по оригинальнее есть? :-)
*

matro-skin

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Кстати, какой переписать?
 К2 Content, или JComments?  ^-^
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

matro-skin

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Оригинальное - надо писать.
А может в нужном месте попробовать заменить запросы с #__k2_comments на #__jcomments ?
*

matro-skin

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Сделал.
Замените свой k2_comments (helper)
на этот:
Код
<?php
/**
 * @version 2.6.x
 * @package K2
 * @author JoomlaWorks http://www.joomlaworks.net
 * @copyright Copyright (c) 2006 - 2014 JoomlaWorks Ltd. All rights reserved.
 * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

require_once (JPATH_SITE.DS.'components'.DS.'com_k2'.DS.'helpers'.DS.'route.php');
require_once (JPATH_SITE.DS.'components'.DS.'com_k2'.DS.'helpers'.DS.'utilities.php');

class modK2ContentHelper
{

public static function getItems(&$params, $format = 'html')
{

jimport('joomla.filesystem.file');
$mainframe = JFactory::getApplication();
$limit = $params->get('itemCount', 5);
$cid = $params->get('category_id', NULL);
$ordering = $params->get('itemsOrdering', '');
$componentParams = JComponentHelper::getParams('com_k2');
$limitstart = JRequest::getInt('limitstart');

$user = JFactory::getUser();
$aid = $user->get('aid');
$db = JFactory::getDBO();

$jnow = JFactory::getDate();
$now =  K2_JVERSION == '15'?$jnow->toMySQL():$jnow->toSql();
$nullDate = $db->getNullDate();

if ($params->get('source') == 'specific')
{

$value = $params->get('items');
$current = array();
if (is_string($value) && !empty($value))
$current[] = $value;
if (is_array($value))
$current = $value;

$items = array();

foreach ($current as $id)
{

$query = "SELECT i.*, c.name AS categoryname,c.id AS categoryid, c.alias AS categoryalias, c.params AS categoryparams
FROM #__k2_items as i
LEFT JOIN #__k2_categories c ON c.id = i.catid
WHERE i.published = 1 ";
if (K2_JVERSION != '15')
{
$query .= " AND i.access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
}
else
{
$query .= " AND i.access<={$aid} ";
}
$query .= " AND i.trash = 0 AND c.published = 1 ";
if (K2_JVERSION != '15')
{
$query .= " AND c.access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
}
else
{
$query .= " AND c.access<={$aid} ";
}
$query .= " AND c.trash = 0
AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." )
AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." )
AND i.id={$id}";
if (K2_JVERSION != '15')
{
if ($mainframe->getLanguageFilter())
{
$languageTag = JFactory::getLanguage()->getTag();
$query .= " AND c.language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") AND i.language IN (".$db->Quote($languageTag).", ".$db->Quote('*').")";
}
}
$db->setQuery($query);
$item = $db->loadObject();
if ($item)
$items[] = $item;

}
}

else
{
$query = "SELECT i.*,";

if ($ordering == 'modified')
{
$query .= " CASE WHEN i.modified = 0 THEN i.created ELSE i.modified END as lastChanged,";
}

$query .= "c.name AS categoryname,c.id AS categoryid, c.alias AS categoryalias, c.params AS categoryparams";

if ($ordering == 'best')
$query .= ", (r.rating_sum/r.rating_count) AS rating";

if ($ordering == 'comments')
$query .= ", COUNT(comments.id) AS numOfComments";

$query .= " FROM #__k2_items as i RIGHT JOIN #__k2_categories c ON c.id = i.catid";

if ($ordering == 'best')
$query .= " LEFT JOIN #__k2_rating r ON r.itemID = i.id";

if ($ordering == 'comments')
$query .= " LEFT JOIN #__jcomments comments ON comments.object_id = i.id";

if (K2_JVERSION != '15')
{
$query .= " WHERE i.published = 1 AND i.access IN(".implode(',', $user->getAuthorisedViewLevels()).") AND i.trash = 0 AND c.published = 1 AND c.access IN(".implode(',', $user->getAuthorisedViewLevels()).")  AND c.trash = 0";
}
else
{
$query .= " WHERE i.published = 1 AND i.access <= {$aid} AND i.trash = 0 AND c.published = 1 AND c.access <= {$aid} AND c.trash = 0";
}

$query .= " AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." )";
$query .= " AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." )";

if ($params->get('catfilter'))
{
if (!is_null($cid))
{
if (is_array($cid))
{
if ($params->get('getChildren'))
{
$itemListModel = K2Model::getInstance('Itemlist', 'K2Model');
$categories = $itemListModel->getCategoryTree($cid);
$sql = @implode(',', $categories);
$query .= " AND i.catid IN ({$sql})";

}
else
{
JArrayHelper::toInteger($cid);
$query .= " AND i.catid IN(".implode(',', $cid).")";
}

}
else
{
if ($params->get('getChildren'))
{
$itemListModel = K2Model::getInstance('Itemlist', 'K2Model');
$categories = $itemListModel->getCategoryTree($cid);
$sql = @implode(',', $categories);
$query .= " AND i.catid IN ({$sql})";
}
else
{
$query .= " AND i.catid=".(int)$cid;
}

}
}
}

if ($params->get('FeaturedItems') == '0')
$query .= " AND i.featured != 1";

if ($params->get('FeaturedItems') == '2')
$query .= " AND i.featured = 1";

if ($params->get('videosOnly'))
$query .= " AND (i.video IS NOT NULL AND i.video!='')";

if ($ordering == 'comments')
$query .= " AND comments.published = 1";

if (K2_JVERSION != '15')
{
if ($mainframe->getLanguageFilter())
{
$languageTag = JFactory::getLanguage()->getTag();
$query .= " AND c.language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") AND i.language IN (".$db->Quote($languageTag).", ".$db->Quote('*').")";
}
}

switch ($ordering)
{

case 'date' :
$orderby = 'i.created ASC';
break;

case 'rdate' :
$orderby = 'i.created DESC';
break;

case 'alpha' :
$orderby = 'i.title';
break;

case 'ralpha' :
$orderby = 'i.title DESC';
break;

case 'order' :
if ($params->get('FeaturedItems') == '2')
$orderby = 'i.featured_ordering';
else
$orderby = 'i.ordering';
break;

case 'rorder' :
if ($params->get('FeaturedItems') == '2')
$orderby = 'i.featured_ordering DESC';
else
$orderby = 'i.ordering DESC';
break;

case 'hits' :
if ($params->get('popularityRange'))
{
$datenow = JFactory::getDate();
$date =  K2_JVERSION == '15'?$datenow->toMySQL():$datenow->toSql();
$query .= " AND i.created > DATE_SUB('{$date}',INTERVAL ".$params->get('popularityRange')." DAY) ";
}
$orderby = 'i.hits DESC';
break;

case 'rand' :
$orderby = 'RAND()';
break;

case 'best' :
$orderby = 'rating DESC';
break;

case 'comments' :
if ($params->get('popularityRange'))
{
$datenow = JFactory::getDate();
$date =  K2_JVERSION == '15'?$datenow->toMySQL():$datenow->toSql();
$query .= " AND i.created > DATE_SUB('{$date}',INTERVAL ".$params->get('popularityRange')." DAY) ";
}
$query .= " GROUP BY i.id ";
$orderby = 'numOfComments DESC';
break;

case 'modified' :
$orderby = 'lastChanged DESC';
break;

case 'publishUp' :
$orderby = 'i.publish_up DESC';
break;

default :
$orderby = 'i.id DESC';
break;
}

$query .= " ORDER BY ".$orderby;
$db->setQuery($query, 0, $limit);
$items = $db->loadObjectList();
}

$model = K2Model::getInstance('Item', 'K2Model');

if (count($items))
{

foreach ($items as $item)
{
   $item->event = new stdClass;

//Clean title
$item->title = JFilterOutput::ampReplace($item->title);

//Images
if ($params->get('itemImage'))
{

$date = JFactory::getDate($item->modified);
$timestamp = '?t='.$date->toUnix();

if (JFile::exists(JPATH_SITE.DS.'media'.DS.'k2'.DS.'items'.DS.'cache'.DS.md5("Image".$item->id).'_XS.jpg'))
{
$item->imageXSmall = JURI::base(true).'/media/k2/items/cache/'.md5("Image".$item->id).'_XS.jpg';
if ($componentParams->get('imageTimestamp'))
{
$item->imageXSmall .= $timestamp;
}
}

if (JFile::exists(JPATH_SITE.DS.'media'.DS.'k2'.DS.'items'.DS.'cache'.DS.md5("Image".$item->id).'_S.jpg'))
{
$item->imageSmall = JURI::base(true).'/media/k2/items/cache/'.md5("Image".$item->id).'_S.jpg';
if ($componentParams->get('imageTimestamp'))
{
$item->imageSmall .= $timestamp;
}
}

if (JFile::exists(JPATH_SITE.DS.'media'.DS.'k2'.DS.'items'.DS.'cache'.DS.md5("Image".$item->id).'_M.jpg'))
{
$item->imageMedium = JURI::base(true).'/media/k2/items/cache/'.md5("Image".$item->id).'_M.jpg';
if ($componentParams->get('imageTimestamp'))
{
$item->imageMedium .= $timestamp;
}
}

if (JFile::exists(JPATH_SITE.DS.'media'.DS.'k2'.DS.'items'.DS.'cache'.DS.md5("Image".$item->id).'_L.jpg'))
{
$item->imageLarge = JURI::base(true).'/media/k2/items/cache/'.md5("Image".$item->id).'_L.jpg';
if ($componentParams->get('imageTimestamp'))
{
$item->imageLarge .= $timestamp;
}
}

if (JFile::exists(JPATH_SITE.DS.'media'.DS.'k2'.DS.'items'.DS.'cache'.DS.md5("Image".$item->id).'_XL.jpg'))
{
$item->imageXLarge = JURI::base(true).'/media/k2/items/cache/'.md5("Image".$item->id).'_XL.jpg';
if ($componentParams->get('imageTimestamp'))
{
$item->imageXLarge .= $timestamp;
}
}

if (JFile::exists(JPATH_SITE.DS.'media'.DS.'k2'.DS.'items'.DS.'cache'.DS.md5("Image".$item->id).'_Generic.jpg'))
{
$item->imageGeneric = JURI::base(true).'/media/k2/items/cache/'.md5("Image".$item->id).'_Generic.jpg';
if ($componentParams->get('imageTimestamp'))
{
$item->imageGeneric .= $timestamp;
}
}

$image = 'image'.$params->get('itemImgSize', 'Small');
if (isset($item->$image))
$item->image = $item->$image;

}

//Read more link
$item->link = urldecode(JRoute::_(K2HelperRoute::getItemRoute($item->id.':'.urlencode($item->alias), $item->catid.':'.urlencode($item->categoryalias))));

//Tags
if ($params->get('itemTags'))
{
$tags = $model->getItemTags($item->id);
for ($i = 0; $i < sizeof($tags); $i++)
{
$tags[$i]->link = JRoute::_(K2HelperRoute::getTagRoute($tags[$i]->name));
}
$item->tags = $tags;
}

//Category link
if ($params->get('itemCategory'))
$item->categoryLink = urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($item->catid.':'.urlencode($item->categoryalias))));

//Extra fields
if ($params->get('itemExtraFields'))
{
$item->extra_fields = $model->getItemExtraFields($item->extra_fields, $item);
}

//Comments counter
if ($params->get('itemComments'))
$item->numOfComments = $model->countItemComments($item->id);

//Attachments
if ($params->get('itemAttachments'))
$item->attachments = $model->getItemAttachments($item->id);

//Import plugins
if ($format != 'feed')
{
$dispatcher = JDispatcher::getInstance();
JPluginHelper::importPlugin('content');
}

//Video
if ($params->get('itemVideo') && $format != 'feed')
{
$params->set('vfolder', 'media/k2/videos');
$params->set('afolder', 'media/k2/audio');
$item->text = $item->video;
           if (K2_JVERSION == '15')
            {
                $dispatcher->trigger('onPrepareContent', array(&$item, &$params, $limitstart));
            }
            else
            {
                $dispatcher->trigger('onContentPrepare', array('mod_k2_content.', &$item, &$params, $limitstart));
            }
$item->video = $item->text;
}

// Introtext
$item->text = '';
if ($params->get('itemIntroText'))
{
// Word limit
if ($params->get('itemIntroTextWordLimit'))
{
$item->text .= K2HelperUtilities::wordLimit($item->introtext, $params->get('itemIntroTextWordLimit'));
}
else
{
$item->text .= $item->introtext;
}
}

if ($format != 'feed')
{

$params->set('parsedInModule', 1);
// for plugins to know when they are parsed inside this module

$item->event = new stdClass;
$item->event->BeforeDisplay = '';
$item->event->AfterDisplay = '';
$item->event->AfterDisplayTitle = '';
$item->event->BeforeDisplayContent = '';
$item->event->AfterDisplayContent = '';

if ($params->get('JPlugins', 1))
{
//Plugins
if (K2_JVERSION != '15')
{

$item->event->BeforeDisplay = '';
$item->event->AfterDisplay = '';

$dispatcher->trigger('onContentPrepare', array('mod_k2_content', &$item, &$params, $limitstart));

$results = $dispatcher->trigger('onContentAfterTitle', array('mod_k2_content', &$item, &$params, $limitstart));
$item->event->AfterDisplayTitle = trim(implode("\n", $results));

$results = $dispatcher->trigger('onContentBeforeDisplay', array('mod_k2_content', &$item, &$params, $limitstart));
$item->event->BeforeDisplayContent = trim(implode("\n", $results));

$results = $dispatcher->trigger('onContentAfterDisplay', array('mod_k2_content', &$item, &$params, $limitstart));
$item->event->AfterDisplayContent = trim(implode("\n", $results));
}
else
{
$results = $dispatcher->trigger('onBeforeDisplay', array(&$item, &$params, $limitstart));
$item->event->BeforeDisplay = trim(implode("\n", $results));

$results = $dispatcher->trigger('onAfterDisplay', array(&$item, &$params, $limitstart));
$item->event->AfterDisplay = trim(implode("\n", $results));

$results = $dispatcher->trigger('onAfterDisplayTitle', array(&$item, &$params, $limitstart));
$item->event->AfterDisplayTitle = trim(implode("\n", $results));

$results = $dispatcher->trigger('onBeforeDisplayContent', array(&$item, &$params, $limitstart));
$item->event->BeforeDisplayContent = trim(implode("\n", $results));

$results = $dispatcher->trigger('onAfterDisplayContent', array(&$item, &$params, $limitstart));
$item->event->AfterDisplayContent = trim(implode("\n", $results));

$dispatcher->trigger('onPrepareContent', array(&$item, &$params, $limitstart));
}

}
//Init K2 plugin events
$item->event->K2BeforeDisplay = '';
$item->event->K2AfterDisplay = '';
$item->event->K2AfterDisplayTitle = '';
$item->event->K2BeforeDisplayContent = '';
$item->event->K2AfterDisplayContent = '';
$item->event->K2CommentsCounter = '';

if ($params->get('K2Plugins', 1))
{
//K2 plugins
JPluginHelper::importPlugin('k2');
$results = $dispatcher->trigger('onK2BeforeDisplay', array(&$item, &$params, $limitstart));
$item->event->K2BeforeDisplay = trim(implode("\n", $results));

$results = $dispatcher->trigger('onK2AfterDisplay', array(&$item, &$params, $limitstart));
$item->event->K2AfterDisplay = trim(implode("\n", $results));

$results = $dispatcher->trigger('onK2AfterDisplayTitle', array(&$item, &$params, $limitstart));
$item->event->K2AfterDisplayTitle = trim(implode("\n", $results));

$results = $dispatcher->trigger('onK2BeforeDisplayContent', array(&$item, &$params, $limitstart));
$item->event->K2BeforeDisplayContent = trim(implode("\n", $results));

$results = $dispatcher->trigger('onK2AfterDisplayContent', array(&$item, &$params, $limitstart));
$item->event->K2AfterDisplayContent = trim(implode("\n", $results));

$dispatcher->trigger('onK2PrepareContent', array(&$item, &$params, $limitstart));

if ($params->get('itemComments'))
{
$results = $dispatcher->trigger('onK2CommentsCounter', array(&$item, &$params, $limitstart));
$item->event->K2CommentsCounter = trim(implode("\n", $results));
}

}

}

                // Restore the intotext variable after plugins execution
                $item->introtext = $item->text;

//Clean the plugin tags
$item->introtext = preg_replace("#{(.*?)}(.*?){/(.*?)}#s", '', $item->introtext);

//Author
if ($params->get('itemAuthor'))
{
if (!empty($item->created_by_alias))
{
$item->author = $item->created_by_alias;
$item->authorGender = NULL;
$item->authorDescription = NULL;
if ($params->get('itemAuthorAvatar'))
$item->authorAvatar = K2HelperUtilities::getAvatar('alias');
$item->authorLink = Juri::root(true);
}
else
{
$author = JFactory::getUser($item->created_by);
$item->author = $author->name;

$query = "SELECT `description`, `gender` FROM #__k2_users WHERE userID=".(int)$author->id;
$db->setQuery($query, 0, 1);
$result = $db->loadObject();
if ($result)
{
$item->authorGender = $result->gender;
$item->authorDescription = $result->description;
}
else
{
$item->authorGender = NULL;
$item->authorDescription = NULL;
}

if ($params->get('itemAuthorAvatar'))
{
$item->authorAvatar = K2HelperUtilities::getAvatar($author->id, $author->email, $componentParams->get('userImageWidth'));
}
//Author Link
$item->authorLink = JRoute::_(K2HelperRoute::getUserRoute($item->created_by));
}
}

// Extra fields plugins
if (is_array($item->extra_fields))
{
foreach ($item->extra_fields as $key => $extraField)
{
if ($extraField->type == 'textarea' || $extraField->type == 'textfield')
{
$tmp = new JObject();
$tmp->text = $extraField->value;
if ($params->get('JPlugins', 1))
{
if (K2_JVERSION != '15')
{
$dispatcher->trigger('onContentPrepare', array('mod_k2_content', &$tmp, &$params, $limitstart));
}
else
{
$dispatcher->trigger('onPrepareContent', array(&$tmp, &$params, $limitstart));
}
}
if ($params->get('K2Plugins', 1))
{
$dispatcher->trigger('onK2PrepareContent', array(&$tmp, &$params, $limitstart));
}
$extraField->value = $tmp->text;
}
}
}

$rows[] = $item;
}

return $rows;

}

}

}
« Последнее редактирование: 25.01.2016, 12:22:01 от matro-skin »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор akteon25

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

Автор basn

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

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

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

Автор ProtectYourSite

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

Автор ruslan13

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