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

demis

  • Захожу иногда
  • 64
  • 2 / 0
Добрый день.

Нужно вступительное изображение материала вывести не в <img> а в style="background-image: url();"

Вот так не получается: style="background-image: url(<?php echo $this->content->image_intro; ?>);" >

Подскажите как правильно вывести картинку.

Спасибо.
*

NewUsers

  • Завсегдатай
  • 1613
  • 137 / 0
Подскажите как правильно вывести картинку.
Код
<?php $images = json_decode($this->item->images); ?>
<?php echo htmlspecialchars($images->image_intro, ENT_COMPAT, 'UTF-8'); ?>
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

demis

  • Захожу иногда
  • 64
  • 2 / 0
Код
<?php $images = json_decode($this->item->images); ?>
<?php echo htmlspecialchars($images->image_intro, ENT_COMPAT, 'UTF-8'); ?>

Спасибо, проверил в стандартном шаблоне "protostar" всё работает.

Я использую шаблон с конструктором yootheme pro, там кастомизорован вывод artikle.php и картинка выводится вот так:
Код
<img<?= $this->attrs($image->attrs)?> property="url" class="opacity">
Если так писать в style="background-image: url();" то на выходе получается вот так:
Код
<span style="background-image: url( src=" images="" 9cedff2a7c4816e21132ddb0d87577d7.jpg"="" alt="9cedff2a7c4816e21132ddb0d87577d7.jpg" );"=""><img src="/images/9cedff2a7c4816e21132ddb0d87577d7.jpg" alt="9cedff2a7c4816e21132ddb0d87577d7.jpg" property="url" class="opacity"></span>

Подскажите пожалуйста как в этом случае ... ?
Спасибо.
*

NewUsers

  • Завсегдатай
  • 1613
  • 137 / 0
$image->attrs
Что находится в переменной $image в твоем случае
Код: php
<?php print_r($image); ?>
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

demis

  • Захожу иногда
  • 64
  • 2 / 0
Правильно я понял ?
Код
<span class="catItemImage uk-border-circle uk-display-block uk-background-norepeat uk-background-cover uk-background-center-center uk-transition-scale-up uk-transition-opaque" style="background-image: url(/stdClass Object
(
    [link] => index.php?option=com_content&amp;view=article&amp;id=18:test2&amp;catid=13
    [align] => left
    [caption] =>
    [attrs] => Array
        (
            [src] => images/9cedff2a7c4816e21132ddb0d87577d7.jpg
            [alt] => 9cedff2a7c4816e21132ddb0d87577d7.jpg
            [title] =>
        )

)
);">
<img src="/images/9cedff2a7c4816e21132ddb0d87577d7.jpg" alt="9cedff2a7c4816e21132ddb0d87577d7.jpg" property="url" class="opacity">
</span>
*

NewUsers

  • Завсегдатай
  • 1613
  • 137 / 0
Правильно я понял ?
Да!

Но теперь надо искать где формируется массив attrs, ключ src удалить и добавить
Код
[style] => background-image: url(images/9cedff2a7c4816e21132ddb0d87577d7.jpg);
У меня нет этого шаблона, так что не могу подсказать где именно
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

effrit

  • Легенда
  • 9504
  • 1042 / 11
  • effrit.com
*

demis

  • Захожу иногда
  • 64
  • 2 / 0
Но теперь надо искать где формируется массив attrs, ключ src удалить и добавить
Нашел где формируется, а как правильно записать?
Вот эта часть:
Код
// Image
    if (is_string($image)) {

        $images = new Registry($article->images);
        $imageType = $image;

        if ($images->get("image_{$imageType}")) {

            $image = new stdClass();
            $image->link = $params['link_titles'] ? $link : null;
            $image->align = $images->get("float_{$imageType}")?: $params["float_{$imageType}"];
            $image->caption = $images->get("image_{$imageType}_caption");
            $image->attrs = [
                'src' => $images->get("image_{$imageType}"),
                'alt' => $images->get("image_{$imageType}_alt", basename($images->get("image_{$imageType}"))),
                'title' => $images->get("image_{$imageType}_caption"),
            ];

        } else {

            $image = null;
        }
    }
*

demis

  • Захожу иногда
  • 64
  • 2 / 0
на смколько я понял, ТС-у просто нужно вот это
Код
style="background-image: url(<?php echo $image->attrs->src; ?>);" 

Да, нужно типа того, но оно просто так не работает, пустой url()
*

NewUsers

  • Завсегдатай
  • 1613
  • 137 / 0
Нашел где формируется, а как правильно записать?
замени всю строку src
Код
'style' => 'background-image: url('.$images->get("image_{$imageType}").');',
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

effrit

  • Легенда
  • 9504
  • 1042 / 11
  • effrit.com
так вроде же есть там картинка, просто вывести правильно надо )
так пробуйте, сам путаюсь постоянно со вложенными массивами и свойствами
style="background-image: url(<?php echo $image->attrs[src]; ?>);"
style="background-image: url(<?php echo $image->attrs["src"]; ?>);"
*

demis

  • Захожу иногда
  • 64
  • 2 / 0
style="background-image: url(<?php echo $image->attrs["src"]; ?>);"
Сработало! И не пришлось helper.php дербанить. Спасибо! +
*

demis

  • Захожу иногда
  • 64
  • 2 / 0
NewUsers спасибо за помощь в поиске решения!

Помог вариант предложенный effrit всё заработало как и требовалось.

Спасибо всем!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как отключить вывод текста в блоге категории?

Автор Leo1986

Ответов: 7
Просмотров: 86
Последний ответ 06.05.2019, 17:10:50
от Leo1986
Дополнительное поле для вывода вступительного текста к новостям

Автор Merk

Ответов: 0
Просмотров: 157
Последний ответ 10.11.2018, 18:26:12
от Merk
Автоматическое ограничение количества символов вводного текста

Автор Toxa33

Ответов: 48
Просмотров: 9402
Последний ответ 05.11.2018, 15:08:08
от autokaif
Изменение текста в кнопках пагинации

Автор serzh-serega

Ответов: 5
Просмотров: 196
Последний ответ 26.09.2018, 10:32:35
от NewUsers
вывод только текста

Автор aslero

Ответов: 2
Просмотров: 221
Последний ответ 26.06.2018, 17:55:25
от Pavluk