20 апр. 2011 г.

AiDaNews & JoomGallery

Модуль AiDaNews для Joomla всем хорош, но есть одна неприятность - не умеет он корректно показывать изображения, если в статье используются рисунки с галереи JoomGallery.

Парсер вместо фотки вставляет битую ссылку вида "/images/stories/mod_aidanews_thumbs/ndex.jpg"

Это конечно исправляемо с помощью переключателя Use Thumbnails = No, но вариант был сразу отброшен из-за неудовлетворительного качества изображений.

Проблема решается правкой файла /modules/mod_aidanews/tmpl/default.php

Находим строки

$newtb = "images/stories/mod_aidanews_thumbs/" . $tsuff . $thumb . ".jpg";
if (file_exists($newtb)) {} else {

и заменяем блоком

$newtb = "images/stories/mod_aidanews_thumbs/" . $tsuff . $thumb . ".jpg"
// ABondarets - JoomGallery fix
if (strstr($name,"com_joomgallery")) {
if (preg_match("/[0-9]{1,}/", $name, $matchesj)) {
$query = ' SELECT CONCAT( "/", g.jg_paththumbs, c.catpath, "/", j.imgthumbname ) ';
$query = $query.' FROM #__joomgallery j, #__joomgallery_catg c, #__joomgallery_config g ';
$query = $query.' WHERE j.catid = c.cid AND j.id ='.$matchesj[0];
$db->setQuery($query);
$newtb = $db->loadResult();
if (!empty($imageWidth) or !empty($imageHeight)) {
$newtb = $newtb.'" style="';
if (!empty($imageWidth)) { $newtb=$newtb.'width: '.$imageWidth.'px; '; };
if (!empty($imageHeight)) { $newtb=$newtb.'height: '.$imageHeight.'px'; };
};
$jgfile=true;
}; };
//if (file_exists($newtb)) {} else {
if (file_exists($newtb)) {} elseif(!isset($jgfile)) {
// end ABondarets - JoomGallery fix

В результате в качестве изображений будут использоваться превьюшные картинки из JoomGallery.

Для ленивых: скачать default.php для aidanews v 1.2.1

Комментариев нет: