easyComm 1.14.0 (3.3.0) темы оформления для звездочек и другие изменения к 2024 году
Привет! Оживлю немного сайт)
Выпустил новую версию easyComm 1.14.0 (3.3.0 для MODX 3) с некоторыми изменениями, о которых ниже.
С самого начала в комплекте с компонентом идут звездочки, которым уже много лет. Их, конечно, можно заменить путем редактирования css файла, но решил что пора (ага, вовремя)) добавить что-нибудь посвежее.
В общем ловите 3 новых варианта оформления (первым идет, для сравнения, стандартный):
Для их выбора добавлен новый параметр starsTheme ко всем сниппетам компонента (соответственно stars2, stars3, hearts).
Как создать свои звездочки?
1. Посмотрите как в файле
2. Создайте свой svg файл с иконкой, вам нужно в svg описать 2 иконки как спрайт, одна над другой. Важно, что ширина svg должна включать в себя расстояние между иконками. К примеру, если иконка 20*20, и между иконками в ряду 4 пикселя, то общая ширина svg файла 24 пикселя (а высота 20*2 = 40).
3. Укажите ваше название в параметре starsTheme.
С самого начала компонент считал рейтинг по 2м алгоритмам (средний арифметический и продвинутый), но в стандартных чанках выводился второй. Чтобы вывести средний, нужно было редактировать чанки.
Сейчас добавил параметр algorithm, может принимать 2 значения simple или wilson.
Опять же с самого начала была небольшая неточность в визуальном отображении рейтинга, попробую описать.
К примеру, рейтинг 4,5 из 5, соответственно нужно закрасить 4 целых звездочки и половину пятой.
Технически закрашивание в компоненте реализовано наложением слоя с цветными звездами поверх серых. Слой с серыми имеет ширину, которая считается по формуле (5 звезд + 4 промежутка между ними), в стандартном оформлении 5*16+4*4=96. А вот слой с цветными звездами поверх имеет ширину, указанную в %, для рейтинга 4,5 это 90%. Вот только из-за наличия расстояния между звездами рейтингу 4,5 должна соответствовать ширина 91.66(6)%… Такая небольшая визуальная ошибочка.
Параметр starWidthAndGup призван её исправить, он позволит сниппету ecThreadRating правильно рассчитать ширину слоя с цветными звездочками в %. Параметр starWidthAndGup указывается как «ширина_звездочки, расстояние_между»:
Уже давно российское законодательство требует явного согласия на обработку персональных данных при их сборе на сайте. Добавил небольшой скрипт в компонент, который не дает отправить форму, пока не поставить соответствующую галочку. Включается параметром agreementCheckbox:
По идее можно обновляться без проблем.
Но, если вы меняли чанки/стили/скрипты, то, конечно, посмотреть, что добавилось нового.
Все новые функции реализованы так, чтобы не сломать уже настроенные сайты.
Надеюсь обновления будут приняты положительно, обратной связи буду рад.
p.s. Цена на компонент в магазине выросла с 990 до 1490 рублей, старая держалась 3 года. Я стараюсь оказывать качественную поддержку и оперативно реагировать на просьбы и пожелания, регулярно выпускать обновления, думаю, все понимают, что труд должен оплачиваться.
Выпустил новую версию 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 года. Я стараюсь оказывать качественную поддержку и оперативно реагировать на просьбы и пожелания, регулярно выпускать обновления, думаю, все понимают, что труд должен оплачиваться.