В шаблонах Joomla 2.5 и 3.x изображение для вступительно текста выводится без ссылки на материал.

Как добавить ссылку..

Делать это нужно в коде шаблона компонента com_content в представлениях category и featured. И чтобы изменения не затерлись обновлением Joomla нужно соответствующие папки скопировать в папку html шаблона. В результате в папке шаблона появятся следующие папки:

  • html/com_content/category
  • html/com_content/featured

с файлами раскладок из папок tmpl, соответствующих представлений.

Теперь находим в файле blog_item.php следующий код:

<?php if (isset($images->image_intro) and !empty($images->image_intro)) : ?>
 <?php $imgfloat = (empty($images->float_intro)) ? $params->get('float_intro') : $images->float_intro; ?>
 <div class="img-intro-<?php echo htmlspecialchars($imgfloat); ?>">
 <img
  <?php if ($images->image_intro_caption):
   echo 'class="caption"'.' title="' .htmlspecialchars($images->image_intro_caption) .'"';
  endif; ?>
  src="/<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>"/>
 </div>
<?php endif; ?>

и добавляем ссылку на материал:

<a href="/<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>"></a>

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

<?php if (isset($images->image_intro) and !empty($images->image_intro)) : ?>
 <?php $imgfloat = (empty($images->float_intro)) ? $params->get('float_intro') : $images->float_intro; ?>
 <div class="img-intro-<?php echo htmlspecialchars($imgfloat); ?>">
 <a href="/<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>">
 <img
  <?php if ($images->image_intro_caption):
   echo 'class="caption"'.' title="' .htmlspecialchars($images->image_intro_caption) .'"';
  endif; ?>
  src="/<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>"/>
  </a>
 </div>
<?php endif; ?>

Этот код также действителен и для Joomla 3.1.

Блок с превьюшным изображением в Joomla 3.1 сейчас выводится так:

<?php echo JLayoutHelper::render('joomla.content.intro_image', $this->item); ?>

Этот код можно закомментировать и добавить код, который используется для Joomla 2.5

Но можно сделать, как предложил Сергей777 в комментарии к этому посту - не убирать JLayoutHelper::render... , а изменить содержание файла для вступительных картинок intro_image.php, который находится в папке 

  • layouts/joomla/content :
<?php $images = json_decode($displayData->images); ?>
<?php if (isset($images->image_intro) && !empty($images->image_intro)) : ?>
 <?php $imgfloat = (empty($images->float_intro)) ? $params->get('float_intro') : $images->float_intro; ?>
 <div class="pull-<?php echo htmlspecialchars($imgfloat); ?> item-image">
<a href="/<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($displayData->slug, $displayData->catid)); ?>">
<img
<?php if ($images->image_intro_caption):
echo 'class="caption"'.' title="' .htmlspecialchars($images->image_intro_caption) .'"';
endif; ?>
 src="/<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>"/>
</a></div>
<?php endif; ?> 

Чтобы изменения не затерлись при обновлении Joomla, переписываем папку layouts/joomla/content в html папку шаблона. Получается такой путь:

  • шаблон/html/layouts/joomla/content