Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 0 Ответов
  • 203 Просмотров
*

OZlaim

  • Новичок
  • 1
  • 0 / 0
Всем привет!
Возник такой вопрос, как сделать кликабельными картинки в категориях формата "Блог" и "Избранное", если в материалах не было добавлено "Изображение для вводного текста"?
Проще говоря, заполнялся материал таким образом - картинка, краткое описание и тире "Подробнее". Как бы картинка, превьюшка, есть, но она не кликабельная.
Материалов порядка 2000 (информационик), заполнял с 2015 года...
Joomla 3.10.12
P.S.: Всё что находил в интернете, так это было связано с "Вводным изображением" *ОХ-Х-Х*. Одна надежда на вас =))
################################
Проблема решена, если интересен код, то он такой. Только помните, что всё зависит от шаблона, поэтому переменные могут быть другими
Код
<?php
// Устанавливаем заголовок с указанием кодировки UTF-8
header('Content-Type: text/html; charset=utf-8');

// Получаем содержимое статьи
$content = $this->item->introtext . $this->item->fulltext;

// Извлекаем краткий текст статьи без изображения
$introtext = preg_replace('/<img[^>]*>/', '', $this->item->introtext);

// Создаем DOMDocument и загружаем содержимое статьи в кодировке UTF-8
$doc = new DOMDocument();
libxml_use_internal_errors(true); // Игнорировать ошибки HTML
$doc->loadHTML(mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'));
libxml_clear_errors(); // Очистить ошибки после загрузки HTML

// Ищем первое изображение в тексте статьи
$images = $doc->getElementsByTagName('img');
if ($images->length > 0) {
    $firstImage = $images->item(0)->getAttribute('src'); // URL первого изображения
    $titleText = $images->item(0)->getAttribute('title'); // Значение атрибута title
    $altText = $images->item(0)->getAttribute('alt'); // Значение атрибута alt

    // Добавляем стили и выводим изображение
    echo '<a href="' . JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)) . '">';
    echo '<div style="text-align: center"><img src="' . $firstImage . '" alt="' . htmlspecialchars($altText) . '" title="' . htmlspecialchars($titleText) . '"  /></div>';
    echo '</a>';
}

// Выводим краткий текст без изображения
echo $introtext;
?>
« Последнее редактирование: 30.05.2024, 11:26:51 от SeBun »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вставить видео с Telegram в материал?

Автор Ishti39

Ответов: 2
Просмотров: 210
Последний ответ 18.06.2024, 10:41:30
от Olg
Как сделать отображение времени создания материала?

Автор Pzhigalov

Ответов: 0
Просмотров: 379
Последний ответ 27.09.2023, 22:45:29
от Pzhigalov
Поиск в Материал- Блог категории

Автор mag_num83

Ответов: 1
Просмотров: 381
Последний ответ 14.09.2023, 20:36:34
от beliyadm
Вставка кода видео в материал

Автор dedun

Ответов: 20
Просмотров: 7316
Последний ответ 12.03.2023, 16:13:31
от kochevnik
Изображения перестали открываться

Автор rezchik

Ответов: 5
Просмотров: 388
Последний ответ 03.02.2023, 20:25:43
от beliyadm