зы. еще интересно, как в этом же модуле вывести "производителя". Со своими поверхностными знаниями пробовал <?=$item->manufacturer?> - не прокатывает...
Не прокатывает, потому-что в запросе производителя нет.
1) Сначала бэкапим все изменяемые файлы.
2) открываем в папке mod_scatalog_latest файл helper.php
ищем
$query = 'SELECT p.title, p.image, p.short_desc
добавляем после
, m.title as mtitle, p.manufacturer_id
после строки
' JOIN #__scatalog_category AS c ON c.id=x.cat_id'.
добавляем
' LEFT JOIN #__scatalog_manufacturer AS m ON m.id=p.manufacturer_id AND m.published=1'.
ищем
$items[$i]->link = JRoute::_('index.php?option=com_scatalog&view=product&catid='.$items[$i]->catslug.'&id='.$items[$i]->slug.'&Itemid='. $itemId);
добавляем после
$items[$i]->mf_link = JRoute::_('index.php?option=com_scatalog&view=brand&id='.$items[$i]->manufacturer_id.'&Itemid'. $itemId);
Все, теперь в нашем массивчике $item фигурирует 2 новых параметра - название производителя
$item->mtitle и ссылка на него
$item->mf_linkВ файле tmpl/default.php прописываем в нужном месте
<?
if($item->mtitle) {
echo "<a href=".$item->mf_link.">".$item->mtitle."</a>";
}
?>
насчет выведения по клику увеличенного изображения еще проще.
в отм же шаблоне default.php находим место, где прописана картинка (в оригинале так:)
<a href="<?=$item->link?>"><span>
<?php if($showImage && $item->image){ echo JHTML::image($item->image, $item->title, $imgAlign); if(!$imgAlign)echo '<br/>'; } ?><?=$item->title?></span></a>
заменяем это на следующее:
<?
if(eregi("thumbs",$item->image)) {$full_path_img= str_replace("/thumbs/", "/display/",$item->image);}
if (file_exists($item->image)&&file_exists($full_path_img)) {
?>
<a href="<?=$full_path_img?>" class="highslide" onclick="return hs.expand(this)">
<img src="<?=$item->image?>" alt='<?=$item->title?>' align='<?=$imgAlign?>'/></a>
<div class='highslide-caption'><?=$item->title?></div><br>
<?} else {?>
<a href="<?=$item->link?>"><span>
<?php if($showImage && $item->image){ echo JHTML::image($item->image, $item->title, $imgAlign); if(!$imgAlign)echo '<br/>'; } ?><?=$item->title?></span></a>
<? } ?>
поясняю: проверяем наличие отсутствия полного изображения и его иконки, загруженных посредством инструмента админки нашего компонента.
если оба файла имеются, то юзаем
highslide.
Проверяем. Если
highslide в нашей жумле еще не подгружен чем-то другим и таким образом не отрабатывает, то печалиться не стоит.
В самом начале шаблона вставляем:
<script type="text/javascript">
hs.graphicsDir = '<?=JURI::root()?>components/com_scatalog/assets/highslide/graphics/';
hs.align = 'center';
hs.transitions = ['expand', 'crossfade'];
hs.outlineType = 'rounded-white';
hs.fadeInOut = true;
hs.showCredits = false;
hs.useBox = true;
hs.width = 800;
hs.height = 800;
//hs.dimmingOpacity = 0.75;
// Add the controlbar
hs.addSlideshow({
//slideshowGroup: 'group1',
interval: 5000,
repeat: false,
useControls: true,
fixedControls: true,
overlayOptions: {
opacity: .75,
position: 'top center',
hideOnMouseOut: true
}
});
</script>
и радуемся. Кстати тот же
highslide можно таким же макаром прикрутить в шаблон категории компонента.