cotonti.com : ODD / EVEN для элементов регулярного блока https://www.cotonti.com Son konu mesajları Cotonti en Thu, 16 Oct 2025 02:09:44 -0000 Alex300 Согласен, это удобно. Давайте вернем использование cot_build_oddeven().

]]>
Çrş, 27 Ağu 2025 06:29:55 -0000
Kort TPL-операторы тоже не лучший вариант по производительности, особенно если их использовать в каждой итерации.

<div class="{LIST_ROW_ODDEVEN}">
    Lorem Ipsum
</div>

будет и компактнее и понятнее и быстрее. Единственный минус - не подходит для любителей BEM-нейминга. Но ничто не мешает добавить в cot_build_oddeven() два необязательных параметра для кастомизации классов.

Рандомизировать нелинейно я не пробовал, в принципе, такая логика тоже имеет место быть. Но и здесь можно и через функцию и через шаблонизатор и скриптом.

]]>
Paz, 24 Ağu 2025 09:04:57 -0000
Kopusha Я у себя так традиционно делаю для случаев когда
- есть цикл идентичных блоков. 

- что бы не было совсем идентично - блоки несколько рандомизируем. Например в превью отображаю 5 картинок из поста, большая слева и 4 квадратом справа или наоброт. 

<div class="<!-- IF {LIST_ROW_NUM} % 2 == 0 -->alpha-post_preview__images-grid_even<!-- ELSE -->alpha-post_preview__images-grid_odd<!-- ENDIF -->">

Это дает рандомизацию "подряд". Если заменить LIST_ROW_NUM например на дату публикации страницы - рандомизация будет не линейная, может быть три подряд _odd а затем два _even. 

 

 

]]>
Paz, 24 Ağu 2025 07:17:00 -0000
Kort Предлагаю обсудить давнишний и imho не настолько плохой функционал – функцию cot_build_oddeven() для регулярных блоков, т.е. генератор классов .odd и .even Вещь простая, но уже как-то мелькали предложения отменить, уйти в CSS и использовать псевдоклассы :nth-child(odd) и :nth-child(even).

Имеет смысл обсудить и решить как системно поступать дальше. Вот факты:

  1. Теги _ODD / _EVEN назначают классы блокам, выполнение происходит на сервере при парсинге.
  2. Класс по производительности занимает второе место после id. Т.е. это быстро.
  3. Скорее всего, определять придется только фон (свойство background или background-color). Отступы и прочее уже будут в каждом случае разные.
  4. Определив всего два класса, получим универсальность для всех регулярных блоков на сайте. Важно ли это?
  5. Псевдокласс избавит лишь от использования функции cot_build_oddeven()
  6. Псевдокласс по производительности – самый медленный селектор.
  7. Четные и нечетные элементы придется стилизовать для каждого контейнера. Использование препроцессора и миксинов / вложенных классов поможет, но только в плане продуктивности. И LESS / SASS это на любителя.

Ну вот как-то так.

]]>
Cmt, 23 Ağu 2025 07:48:29 -0000