easyComm 1.14.0 (3.3.0) темы оформления для звездочек и другие изменения к 2024 году

Привет! Оживлю немного сайт)

Выпустил новую версию easyComm 1.14.0 (3.3.0 для MODX 3) с некоторыми изменениями, о которых ниже.


Темы оформления звездочек


С самого начала в комплекте с компонентом идут звездочки, которым уже много лет. Их, конечно, можно заменить путем редактирования css файла, но решил что пора (ага, вовремя)) добавить что-нибудь посвежее.

В общем ловите 3 новых варианта оформления (первым идет, для сравнения, стандартный):



Для их выбора добавлен новый параметр starsTheme ко всем сниппетам компонента (соответственно stars2, stars3, hearts).
[[ecThreadRating?
    &starsTheme=`stars2`
]]
Новые звездочки немного больше старых (20 точек, против 16).

Как создать свои звездочки?

1. Посмотрите как в файле
assets/components/easycomm/css/web/ec.css
описаны темы для звездочек, там всего десяток строк, создайте свою по подобию, дайте уникальное название.
2. Создайте свой svg файл с иконкой, вам нужно в svg описать 2 иконки как спрайт, одна над другой. Важно, что ширина svg должна включать в себя расстояние между иконками. К примеру, если иконка 20*20, и между иконками в ряду 4 пикселя, то общая ширина svg файла 24 пикселя (а высота 20*2 = 40).
3. Укажите ваше название в параметре starsTheme.

Новый параметр algorithm для сниппета ecThreadRating


С самого начала компонент считал рейтинг по 2м алгоритмам (средний арифметический и продвинутый), но в стандартных чанках выводился второй. Чтобы вывести средний, нужно было редактировать чанки.

Сейчас добавил параметр algorithm, может принимать 2 значения simple или wilson.
[[ecThreadRating?
    &algorithm=`simple`
]]
Этот параметр влияет только на ОТОБРАЖЕНИЕ рейтинга, подсчет всё равно идет по обоим алгоритмам, вы можете в любой момент сменить вывод.

Новый параметр starWidthAndGup для сниппета ecThreadRating


Опять же с самого начала была небольшая неточность в визуальном отображении рейтинга, попробую описать.

К примеру, рейтинг 4,5 из 5, соответственно нужно закрасить 4 целых звездочки и половину пятой.
Технически закрашивание в компоненте реализовано наложением слоя с цветными звездами поверх серых. Слой с серыми имеет ширину, которая считается по формуле (5 звезд + 4 промежутка между ними), в стандартном оформлении 5*16+4*4=96. А вот слой с цветными звездами поверх имеет ширину, указанную в %, для рейтинга 4,5 это 90%. Вот только из-за наличия расстояния между звездами рейтингу 4,5 должна соответствовать ширина 91.66(6)%… Такая небольшая визуальная ошибочка.

Параметр starWidthAndGup призван её исправить, он позволит сниппету ecThreadRating правильно рассчитать ширину слоя с цветными звездочками в %. Параметр starWidthAndGup указывается как «ширина_звездочки, расстояние_между»:
[[ecThreadRating?
    &starWidthAndGup=`16,4`
]]

Галочка с согласием на обработку персональных данных


Уже давно российское законодательство требует явного согласия на обработку персональных данных при их сборе на сайте. Добавил небольшой скрипт в компонент, который не дает отправить форму, пока не поставить соответствующую галочку. Включается параметром agreementCheckbox:
[[!ecForm?
    &agreementCheckbox=`1`
]]
Не забудьте разместить ссылку на сами правила обработки персональных данных, можно в прям в словарях в лексиконе с ключем ec_fe_agree.

Совместимость с прошлыми версиями


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

Заключение


Надеюсь обновления будут приняты положительно, обратной связи буду рад.

p.s. Цена на компонент в магазине выросла с 990 до 1490 рублей, старая держалась 3 года. Я стараюсь оказывать качественную поддержку и оперативно реагировать на просьбы и пожелания, регулярно выпускать обновления, думаю, все понимают, что труд должен оплачиваться.
Наумов Алексей
04 января 2024, 18:48
modx.pro
544
+8

Комментарии: 1

Stepan
02 февраля 2024, 05:08
0
душевно
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1