Хаки и Скрипты Next Generation CMS

Снова мучаем изображения

irbees2008 irbees2008 Опубликовано - 12 - февраля Изображения
129 - 0
  • Адаптировал: ИИ GPT
  • Уровень сложности исполнения: Справочник

Всем привет, давно не писал ни чего, вот залез в чат gpt и решил побаловаться, но нашлось довольно интересное решение коротких записей кода для изображений в короткой и полной новости. Правда GPT тупил по страшному выдавал код больших размеров чем это требовалось, но я добился чего хотел.
И так в дефолтном шаблоне в короткой новости news.short есть выражение для вывода изображений из тела новости и оно довольно массивное

Код:
{% if (news.embed.imgCount > 0) %}
<img src="{{ news.embed.images[0] }}" width="315" height="161"/>
{% else %}
<img src="{{ tpl_url }}/img/img-none.png" width="315" height="161"/>
{% endif %}
Конечно давно мы уже сократили его и получилось такое выражение
Код:
<img src="{% if (news.embed.imgCount > 0) %}
{{ news.embed.images[0] }}{% else %}{{ tpl_url }}/img/img-none.png{% endif %}" width="315" height="161"/>
Как оказалось можно еще упростить и усовершенствовать следуя прогрессу ))) , вот вариант
Код:
<img src="{{ (news.embed.imgCount > 0 and news.embed.images[0] is defined) ? news.embed.images[0] : tpl_url ~ '/img/img-none.png' }}" width="315" height="161"/>

Ну с этим все понятно , просто меня давно интересовал вариант использования изображений из дополнительных полей и тела новости, а также чтобы выводилась изображение заглушка . Итого три условия что они из себя представляют , первое
Код:
{% if (p.xfields.poster.count < 1) %}
{{ tpl_url }}/images/no_image.jpg
{% else %}
{{ p.xfields.poster.entries[0].purl }}
{% endif %}

Второе условие
Код:
 {% if (news.embed.imgCount > 0) %}
{{ news.embed.images[0] }}
{% else %}
{{ tpl_url }}/images/no_image.jpg
{% endif %}
Вот и помучал чат ИИ чтобы выдал красивый вариант
Код:
{% if p.xfields.poster.count > 0 and p.xfields.poster.entries[0].purl is defined %}
{{ p.xfields.poster.entries[0].purl }}
{% elseif news.embed.imgCount > 0 and news.embed.images[0] is defined %}
{{ news.embed.images[0] }}
{% else %}
{{ tpl_url }}/images/no_image.jpg
{% endif %}
Это наверно был десятый вариант и еще не последний ,попросил сократить ,а то массивно получается ,получилось так
Код:
{{ p.xfields.poster.count > 0 and p.xfields.poster.entries[0].purl is defined ? p.xfields.poster.entries[0].purl : 
(news.embed.imgCount > 0 and news.embed.images[0] is defined ? news.embed.images[0] : tpl_url ~ '/images/no_image.jpg') }}
Сократилось хорошо , но я случайно нажал и отравил сократить еще , и вот последний вариант
Код:
{{ p.xfields.poster.count > 0 and p.xfields.poster.entries[0].purl ?? (news.embed.imgCount > 0 and news.embed.images[0] ?? tpl_url ~ '/images/no_image.jpg') }}

Вот, уже по мелочам но получается поправить то там то сям))

Можешь почитать и вот эту статейку "Вставляем правильно дополнительное поле xfields"

Опрос

Ваше мнение

какой форум лучше для вас
Результаты

Последние комментарии

Теги

Anything in here will be replaced on browsers that support the canvas element

Статистика

  • Caйту: 4341 день
  • Новостей: 566
  • Комменты: 257
  • Зарегистрированно : 659
  • Онлайн всего: [7]
  • Гости: [7]
  • Были сегодня : [2] Google, Яндекс
  • SQL запросов: 31
  • Генерация страницы: 0.374сек
  • Потребление памяти: 5.160 Mb 
  •   Яндекс.Метрика