Хаки и Скрипты Next Generation CMS
irbees2008 irbees2008 Опубликовано - 7 - октября TWIG
314 - 0
  • Адаптировал: ИИ GPT
  • Уровень сложности исполнения: Справочник

Всем привет,давненько не было публикаций. Один из пользователей ,Толян , выложил код для слайдера ,мне он показался громозким, вот он

Код:
{% if (p.xfields.poster.value) %}
<div class="fotorama" align="center" data-width="100%" data-nav="thumbs" data-autoplay="false" data-fit="contain" data-allowfullscreen="native"
data-keyboard="true">
(% if not (p.xfields.poster.count < 1) %)<a href="{{p.xfields.poster.entries[0].url }}"><img src="{{p.xfields.poster.entries[0].purl
}}"
alt="{{ news.title }}" /></a>{% endif %}
{% if not (p.xfields.poster.count < 2) %}<a href="{{ p.xfields.poster.entries[1].url }}"><img src="{{ p.xfields.poster.entries[1].purl }}"
alt="{{ news.title }}" /></a>{% endif %}
(% if not (p.xfields.poster.count < 3) %}<a href="{{ p.xfields.poster.entries[2].url }}"><img src="{{p.xfields.poster.entries[2].purl
}}"
alt="{{ news.title }}" /></a>{% endif %)
{% if not (p.xfields.poster.count < 4) %}<a href="{{ p.xfields.poster.entries[3].url }}"><img src="{{ p.xfields.poster.entries[3].purl }}"
alt="{{ news.title }}" /></a>{% endif %}
(% if not (p.xfields.poster.count < 5) %}<a href="{{ p.xfields.poster.entries[4].url }}"><img src="{{ p.xfields.poster.entries[4].purl }}"
alt="{{ news.title }}" /></a>{% endif %}
{* if not (p.xfields.poster.count < 6) %}<a href="{{{ p.xfields.poster.entries[5].url }}"><img src="{{ p.xfields.poster.entries[5].purl
}}"
alt="{{ news.title }}" /></a>{% endif %}
{% if not (p.xfields.poster.count < 7) %}<a href="{{ p.xfields.poster.entries[6].url }}"><img src="{{ p.xfields.poster.entries[6].purl
}}"
alt="{{ news.title }}" /></a>(% endif %)
{% if not (p.xfields.poster.count < 8) %}<a href="{{p.xfields.poster.entries[7].url }}"><img src="{{p.xfields.poster.entries[7].purl
}}"
alt="{{ news.title }}}" /></a>{% endif %}
(% if not (p.xfields.poster.count < 9) %}<a href="{{ p.xfields.poster.entries[8].url }}"><img src="{{ p.xfields.poster.entries[8].purl
}}"
alt="{{ news.title }}" /></a>(% endif %}
{%
if not (p.xfields.poster.count < 10) %}<a href="{{{ p.xfields.poster.entries[9].url }}"><img src="{{p.xfieldsposter.entries[9].purl }"
alt="{{ news.title }}" /></a>{% endif %}
(% if not (p.xfields.poster.count < 11) %}<a href="{{p.xfields.poster.entries[10].url }}"><img src="{{p.xfields.poster.entries[10].purl }}"
alt="{{ news,title }}" /></a>{% endif %}
</div>
{% endif %}
Как видите большеват, ну спросил ИИ как сократить вот он выдал вариант
Код:
{% if p.xfields.poster.value %}
<div class="fotorama" align="center" data-width="100%" data-nav="thumbs" data-autoplay="false" data-fit="contain" data-allowfullscreen="native" data-keyboard="true">
{% for poster in p.xfields.poster.entries %}
<a href="{{ poster.url }}">
<img src="{{ poster.purl }}" alt="{{ news.title }}" />
</a>
{% endfor %}
</div>
{% endif %}
Что было изменено:
Цикл for: Вместо дублирования каждого условия, теперь используется цикл, который проходит по массиву p.xfields.poster.entries и выводит постеры.

Проверка на существование: Поскольку мы уже проверяем наличие значений через if p.xfields.poster.value, нам не нужно каждый раз проверять количество элементов.

Простота и масштабируемость: Теперь, если постеров будет больше, этот код не потребует изменений — цикл обработает все доступные элементы.

Этот вариант сокращает количество повторяющегося кода и улучшает читаемость.

Ну и конечно надо в этом коде заменить poster на ваше дополнительное поле , у меня это поле imges , выводятся по порядку , как загружались.
Вроде все , пользуемся

Вот демонстрация

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

Опрос

Ваше мнение

Какие темы вам интереснее?
Результаты

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

Теги

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

Статистика

  • Caйту: 4823 дня
  • Новостей: 616
  • Комменты: 257
  • Зарегистрированно : 755
  • Онлайн всего: [7]
  • Гости: [7]
  • Были сегодня : [3] Google, Яндекс, Яндекс
  • SQL запросов: 30
  • Генерация страницы: 0.251сек
  • Потребление памяти: 5.545 Mb 
  •   Яндекс.Метрика