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

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

irbees2008 irbees2008 Опубликовано - 12 - февраля Изображения
547 - 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') }}

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

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

Опрос

Ваше мнение

Вы нашли что искали?
Результаты

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

Теги

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

Статистика

  • Caйту: 4437 дней
  • Новостей: 566
  • Комменты: 257
  • Зарегистрированно : 668
  • Онлайн всего: [2]
  • Гости: [2]
  • Были сегодня : [2] Google, Яндекс
  • SQL запросов: 30
  • Генерация страницы: 0.343сек
  • Потребление памяти: 5.156 Mb 
  •   Яндекс.Метрика