Всего 124 051 комментарий

Евгений
05 января 2025, 12:11
0
Аналогичный вопрос: есть перечень опций формат бумаги: А2, А3, А4, надо добавить в этот перечень поле «ваш размер» с возможностью ввода текста пользователем. Каким плагином это можно реализовать?
Ruslan
04 января 2025, 17:18
0
Методом тыка просто убрал
data-si-form data-si-event="change"
и в итоге стало вот так
<select name="sort_by"  form="searchForm" >
    <option value="price|ASC">Сначала дешевые</option>    
    <option value="price|DESC">Сначала дорогие</option>   
</select>
и только после этого заработало.
Это правильно? Или всё же в будущем чревато проблемами?

И скажите, а возможно ли сделать так, что бы параметры фильтрации, так же как и пагинация, появлялась в УРЛ сайта?
Кирилл
03 января 2025, 23:06
0
А, вот оно как, стоит дописать вот про это)
Николай Савин
03 января 2025, 18:04
+3
Судя по комментариям — возникло небольшое недопонимание.
В недрах проекта есть сложная формула, согласно которой рейтинг складывается из различных параметров.
А именно
За публикацию — начисляется от 0 до 20 баллов в, зависимости от раздела.
За комментарии — начисляются 0 баллов, но зато добавляются баллы за лайки комментарию.
Также учитываются лайки к постам, добавление постов в избранное и т.п.

В общем сложная, многоуровневая формула, которую сделал еще Василий. Она остается неизменной.

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

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

В итоге из рейтинга отсеиваются люди, давно потерявшие MODX из виду, а вперед вырываются те, кто регулярно пишет посты и комментарии.
Андрей Шевяков
03 января 2025, 17:19
0
Если делать на статьи больше оценку, то тогда наверное лучше бы не на все разделы.
На раздел Вопросы точно не стоит, а вот на Готовые решения — очень даже можно))
Futuris
03 января 2025, 16:20
0
Статью бы поболее надо оценивать, чем комментарий.
Кирилл
03 января 2025, 14:30
0
В целом все логично)
Возможно временной период за коэффициент 1 должен быть до 3х месяцев ;)
Ruslan
02 января 2025, 16:54
0
Не совсем корректно работает данный вариант.
Почему то, что когда я меняю чекбокс в форме, в консоле я вижу, что он находит «select» которому я дал name=«sort_by» и отправляет на сервер выбранное значение, но когда я меняю саму сортировку, то на сервер не отправляется ранее выбранные чекбоксы из формы, на сервер отправляется только сортировка.
Артур Шевченко
30 декабря 2024, 20:33
0
если я его оборачиваю в отдельный form
Это же не логично, сортировка должна работать вместе с остальными параметрами фильтрации. Я же сказал используй атрибут form для полей отвечающих за сортировку. Например так
<aside>
<form action="#" id="searchForm" data-si-form data-si-preset="pagination-search" data-si-event="change">
 <h6>Тип</h6>
    <input type="checkbox" value="Новостройка" name="building_status[]">
    <input type="checkbox" value="Вторичка" name="building_status[]">
 <h6>Количество комнат</h6>
    <input type="checkbox" value="1" name="property_rooms[]">
    <input type="checkbox" value="2" name="property_rooms[]">
    <input type="checkbox" value="3" name="property_rooms[]">
</form>
</aside>
<select form="searchForm" data-si-form data-si-event="change">
<option value="price|ASC">Сначала дешевые</option>    
<option value="price|DESC">Сначала дорогие</option>   
</select>
Ruslan
30 декабря 2024, 12:32
0
Дело в том, что у меня есть отдельный sidebar в котором находится список параметров для фильтрации.
И именно этот sidebar обернут в form. А сортировка находиться совсем в другом месте, и если я его оборачиваю в отдельный form, то соответственно сортировка перебивает уже используемые параметры фильтра. А как сделать что бы сортировка работала так же уже с отфильтрованным результатом?
Артур Шевченко
28 декабря 2024, 20:17
0
кнопки для сортировок находятся отдельно от тега
Почему кнопки? Сортировка это обычно выпадающий список, можно ещё переключателями сделать. И список и переключатели поддерживают атрибут form, а у SendIt есть атрибут data-si-event, которому можно задать значение change
Ruslan
28 декабря 2024, 11:06
0
Нашел что я упустил, а упустил банальное.
В плагине на событие я не поставил галочку.
А еще не правильно формировал запрос для поиска.
Вот запрос если кому пригодиться.

switch ($modx->event->name) {
  case 'OnBeforePageRender':
    if ($_REQUEST['building_status']){
        $SendIt->params['where']['building_status:IN'] = $_REQUEST['building_status'];
    }
    if ($_REQUEST['property_rooms']){
        $SendIt->params['where']['property_rooms:IN'] = $_REQUEST['property_rooms'];
    }
    break;
}
Но теперь задача, как сделать сортировку результатов ответа, по цене и по другим параметрам, так как кнопки для сортировок находятся отдельно от тега ))
Серый
27 декабря 2024, 15:56
0
Ух, класс! Вот так работает:
$array = array(111, 112); 
if(in_array($modx->controller->resource->get('id'), $array)) {
	$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
};
Но как для шаблонов?
Если делаю:
if(in_array($modx->controller->template->get('id'), $array))
то снова, привет HTTP ERROR 500
Володя
27 декабря 2024, 14:39
0
$modx->controller->resource
или
$scriptProperties['resource']
Роман
27 декабря 2024, 13:50
+1
Огромнейшее спасибо! Работает.
Серый
27 декабря 2024, 13:20
0
Не раскурю, скила не хватит((
Александр
27 декабря 2024, 13:11
0
https://modx.pro/howto/24982 тут похожую задачку решали не так давно
Серый
27 декабря 2024, 13:02
0
Еще версия, что для бэкенда нужно что-то другое, ибо оставляю в плагине только это:
$array = array(); 
if (in_array($modx->resource->get('id'), $array)) {}
и всё, страницы не открываются