11 февраля 2021, 18:35 Здравствуйте, Алексей! Благодарю за компонент, удобный. Есть небольшое добавление по выводу звёзд на рейтингах. Текущий ваш вариант не учитывает пробел между звёздами (который необходим, чтобы они выводились не слитно), поэтому выводит не совсем корректно. Т.е. если рейтинг 4.5, к примеру, то на 5-ой звезде он закрашен лишь чуть, а не наполовину и т.п… Добавил небольшую функцию в сниппет ecThreadRating, для корректной заливки. Кусок кода ниже. Верхушка и конец те же. Надеюсь пригодится! $count = $thread->get('count'); function percent($v, $max) { $sw = 1/4; # space/width (depends on stars space/width on background image) default - 4px/16px $percent = (intval($v) * (1 + $sw) + ($v - intval($v))) / ((1 + $sw) * $max - $sw); # percent return number_format($percent * 100, 3); } foreach($ratingFields as $field) { $data = array_merge($data, array( $field.'_wilson_percent' => percent($thread->get($field.'_wilson'), $ratingMax), $field.'_simple_percent' => percent($thread->get($field.'_simple'), $ratingMax), // TEST only $field.'_votes' => array(), )); P.s. Также для кастомизации звезд (свой дизайн), перевёл в scss и задал для своих размеров. Размеры звёзд задавать целыми (px), отступ справа тоже. Легко делается в Figma по размерам, экспорт в svg. Может кому пригодится (часть кода, для понимания): /* * Rating input **/ // Depends on stars width/height/space on background image (default values below) $es_w: 16; // es star width $es_h: 16; // es star height $es_space: 4; // horizontal right space (space between stars) ........................ .ec-stars { background-position: 0 -#{$es_h}px; background-repeat: repeat-x; margin: 10px 0; width: #{($es_w + $es_space)*5 - $es_space}px; height: #{$es_h}px; //transform: scale(1.5); //transform-origin: 0 0; } ........................ .ec-stars span.rating-0{width: 0;} @for $i from 1 through 5 { .ec-stars span.rating-#{$i} { width: #{($es_w + $es_space)*$i - $es_space}px; } } ........................ Новые дополнения и их версии / easyComm - комментарии, отзывы, вопросы на сайте 536 +1
16 октября 2020, 11:08 Тоже долго искал. Работает на ура! Василий ответил: https://modx.pro/help/7664#comment-53654 Бронебойный вариант: $.post(document.location, {ms2_action: 'cart/clean'}); Вопросы / Очистка корзины через AJAX 9 0
17 апреля 2019, 16:16 Результат как на Связном. Копируем сниппет pdoPage с новым именем _pdoPage. (С целью исключения перезаписи при обновлении) Строка 159. Конструкция вида: if (!empty($pageCount) && $pageCount > 1) { $pagination = array( 'first' => $page > 1 && !empty($tplPageFirst) ? $pdoPage->makePageLink($url, 1, $tplPageFirst) : '', 'prev' => $page > 1 && !empty($tplPagePrev) ? $pdoPage->makePageLink($url, $page - 1, $tplPagePrev) : '', 'pages' => $pageLimit >= 7 && empty($disableModernPagination) ? $pdoPage->buildModernPagination($page, $pageCount, $url) : $pdoPage->buildClassicPagination($page, $pageCount, $url), 'next' => $page < $pageCount && !empty($tplPageNext) ? $pdoPage->makePageLink($url, $page + 1, $tplPageNext) : '', 'last' => $page < $pageCount && !empty($tplPageLast) ? $pdoPage->makePageLink($url, $pageCount, $tplPageLast) : '', ); Меняем $page > 1 на $page > 2 $page < $pageCount на $page < $pageCount - 1 Сам вызов [[!_pdoPage? -//- &tplPageFirst=`@INLINE <li class="control"><a href="[[+href]]">[[+pageNo]]</a></li>` &tplPageLast=`@INLINE <li class="control"><a href="[[+href]]">[[+pageNo]]</a></li>` &tplPageFirstEmpty=`@INLINE ` &tplPageLastEmpty=`@INLINE ` &tplPagePrevEmpty=`@INLINE ` &tplPageNextEmpty=`@INLINE ` ]] Вопросы / Вывод пагинации без дублирования ссылок на первую и последнюю страницы с помощью pdoPage 6 0
Плагин EnvBadge: визуальный индикатор окружения в админке MODX3 Расскажите пожалуйста как вы настраиваете сайт на MODX 3 чтобы был dev, prod, stage. Можете описать workflow? Допустим у меня 80% — это магазины, там клиенты, продажи, все онлай...
MaxNotify Обновление компонента 1.3.0-pl (22.07.2026) — добавлено автоматическое получение полей через msOrder->toArray(); — массивы и объекты безопасно пропускаются; — стандартные...
MyFavorites MyFavorites — 3.0.0-beta Первая версия для MODX Revolution 3.x — компонент полностью переписан с нуля (PHP >= 8.4, namespaced-ядро MODX 3, PSR-4, сервис-ориентированная архит...
mxBoard: канбан-доска для команд, людей и ИИ-агентов в MODX 3 Для начала перейдем на Markdown, а дальше будет видно
MaxNotify3 Вышло обновление 1.3.0-pl (20.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет maxNotify3FormIt; — добавлены уведомления о заявках SendIt через hook-с...
Есть небольшое добавление по выводу звёзд на рейтингах. Текущий ваш вариант не учитывает пробел между звёздами (который необходим, чтобы они выводились не слитно), поэтому выводит не совсем корректно. Т.е. если рейтинг 4.5, к примеру, то на 5-ой звезде он закрашен лишь чуть, а не наполовину и т.п…
Добавил небольшую функцию в сниппет ecThreadRating, для корректной заливки.
Кусок кода ниже. Верхушка и конец те же.
Надеюсь пригодится!
P.s. Также для кастомизации звезд (свой дизайн), перевёл в scss и задал для своих размеров.
Размеры звёзд задавать целыми (px), отступ справа тоже. Легко делается в Figma по размерам, экспорт в svg.
Может кому пригодится (часть кода, для понимания):
https://modx.pro/help/7664#comment-53654
Копируем сниппет pdoPage с новым именем _pdoPage.
(С целью исключения перезаписи при обновлении)
Строка 159. Конструкция вида:
Меняем
Сам вызов