1 1 1 1 1 1 1 1 1 1 Рейтинг: 4.50 - 1 отзыв

Как сделать изображение вводной части, ссылкой, ведущей на основную часть материала в Joomla3? Такая задача стояла передо мной в проекте Big.

Итак, решение вопроса по постановке ссылки с вводного изображения (того самого, с вкладки "Изображения и ссылки" Менеджера материалов) на основную часть материала (статьи).

Вводное изображение как ссылка в Joomla 3

денежный трактор

Так же, как и в случае с простановкой ссылки с вводного текста на основную часть статьи (не путать с кнопкой "Подробнее"), ищем два файла:

 

шаблон/html/com_content/category/blog_item.php

шаблон/html/com_content/featured/default_item.php

Если их не существует, то копируем их из:

\public_html\components\com_content\views\category\tmpl\blog_item.php

\public_html\components\com_content\views\featured\tmpl\default_item.php

 

Обязательно создаем копии этих файлов в папки шаблона, иначе при следующем обновлении Joomla, все изменения исчезнут.

Дальше для Joomla 3.23.

В файле blog_item.php видим код:

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

 

Заключаем его в нужный код, получая такую комбинацию:

<a href="/<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>"><?php echo JLayoutHelper::render('joomla.content.intro_image', $this->item); ?></a>

 

В файле default_item.php код выглядит сложнее:

<?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"> <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; ?>

 

И весь этот участок кода, меняем на такой же, как и в случае с blog_item.php:

<a href="/<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>"><?php echo JLayoutHelper::render('joomla.content.intro_image', $this->item); ?></a>

 

Теперь нажав на вводное изображение, посетитель попадет в основную часть материала.

 Вообще в Joomla 3 есть что доделать. например как сделать горизонтальное меню в Joomla 3, тоже не сразу понятно хотя решается довольно просто.

Иногда правда бывают сложности в определении кода, ответственного за вывод вводного изображения (в разных версиях Joomla он может быть другим).

 

Тогда есть способ номер 2. Не трогаем эти файлы:

\blog_item.php

\default_item.php,

а ищем файл:

layouts/joomla/content/intro_image.php 

и правим его, добавляя ссылку.

 

Так же как и в первом случае, делаем копию файла со всей цепочкой папок, в свой шаблон.

шаблон/html/layouts/joomla/content/intro_image.php

 

Так мы научились делать вводное изображение ссылкой на основную часть материала.

Добавить комментарий

Защитный код
Обновить