Интеграция JComments в галерею изображений zOOm Media Gallery
|
zOOm Media Gallery — прекрасный компонент галереи изображений для Joomla. Однако весьма ограниченные возможности встроенной системы комментариев весьма огорчают. Предлагаемая вашему вниманию интеграция заменяет встроенную систему комментариев на JComments.
- Откройте файл /components/com_zoom/www/view.php
- Найдите строки:
if ($zoom->_CONFIG['commentsOn']) {
$prefix = ZMG_Template_View::createViewBlock(_ZOOM_COMMENTS);
ZMG_Template_View::showCommentsBox($zoom->_CONFIG['viewtype'], $dir_prefix, $key);
if (($zoom->_CONFIG['anonymous_comments']) || (!$zoom->_CONFIG['anonymous_comments'] && !empty($my->username))){
if ($zoom->_CONFIG['popUpImages']) {
$cmt_action = $url_prefix;
} else {
$cmt_action = sefRelToAbs($url_prefix);
}
ZMG_Template_View::showCommentsForm($zoom->_CONFIG['viewtype'], $cmt_action, $dir_prefix, $popup, $key);
}
ZMG_Template_View::finishViewBlock($zoom->_CONFIG['comments_state'], $prefix);
} //END if commentsOn?
и замените их на:
if ($zoom->_CONFIG['commentsOn']) {
global $mosConfig_absolute_path;
$comments = $mosConfig_absolute_path . '/components/com_jcomments/jcomments.php';
if (file_exists($comments)) {
require_once($comments);
$obj_id = $zoom->_gallery->_images[$key]->_id;
$obj_title = $zoom->_gallery->_images[$key]->_name;
echo JComments::showComments($obj_id, 'com_zoom', $obj_title);
}
} //END if commentsOn?
- Откройте файл /components/com_zoom/lib/template/template.gallery.php
- Найдите строки:
if ($zoom->_CONFIG['commentsOn']) {
// Adding comment-notification, eg. show a pic with last comment-author and date as alt-text.
if ($mycom = $image->_comments[count($image->_comments)-1]) {
$inforow .= "\t\t<img border=\"0\" src=\"".$mosConfig_live_site."/components/com_zoom/www/images/comment.png\" onmouseover=\"return overlib('".$mycom->getName()." (".$mycom->getDate()."):
".$mycom->getCommentOrig()."', CAPTION, '"._ZOOM_COMMENTS."');\" onmouseout=\"return nd();\" alt=\"\" />= ".$image->getNumOfComments();
if ($zoom->_CONFIG['showHits']) {
$inforow .= ", ";
}
}
}
и замените их на:
if ($zoom->_CONFIG['commentsOn']) {
global $mosConfig_absolute_path;
$comments = $mosConfig_absolute_path . '/components/com_jcomments/jcomments.php';
if (file_exists($comments)) {
require_once($comments);
$comments = JComments::getCommentsCount($image->_id, 'com_zoom');
}
if ($comments) {
$comment = JComments::getLastComment($image->_id, 'com_zoom');
$inforow .= "\t\t<img border=\"0\" src=\"".$mosConfig_live_site."/components/com_zoom/www/images/comment.png\" onmouseover=\"return overlib('".$comment->name." (".$comment->date."):
".$comment->comment."', CAPTION, '"._ZOOM_COMMENTS."');\" onmouseout=\"return nd();\" alt=\"\" />= ".$сomments;
if ($zoom->_CONFIG['showHits']) {
$inforow .= ", ";
}
}
}
Полезные ссылки:
|