Всего 125 400 комментариев

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)) {}
и всё, страницы не открываются
Серый
27 декабря 2024, 12:39
0
Спасибо за ответ!
Видимо что-то делаю не так, потому что вот так — не работает ни с id, ни с template, просто совсем не загружается ресурс, HTTP ERROR 500((
$array = array(1); 
if(in_array($modx->resource->get('template'), $array)) {
	$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
};
Может быть я как-то не так номера id вписываю?
Роман
26 декабря 2024, 22:51
0
@Aleksandr Huz добрый вечер.
Использую версию PageBlocks 1.0.2-pl (MODX 3.0.6-pl)
Обнаружил, что не работает перетаскивание (Drag-and-drop) записей в таблицах (сортировка). При перетаскивании строка выделяется, но после переноса и отпускания ничего никуда не перемещается (ну и menuindex у записей в БД не меняется, остается как был=0)
При этом перетаскивание блоков при редактировании ресурса работает исправно.
Проблема решается только переходом на платную версию?
Заранее спасибо за ответ.
Любовь
26 декабря 2024, 12:43
0
А как вы в шаблоне письма вывели имя пользователя? У меня просто в шаблоне отрабатывает. А в письме нет.
[[$user.name]]
[[$user.fullname]]
Павел Голубев
26 декабря 2024, 11:10
0
Слышу эту песню про программирование — уже с лет 20 точно.

Но пока «мы» даже сверстать макет не можем автоматически, чтобы можно было в продакшен отправить и это с учётом того, что в Figma уже готов css.
Сергей Шлоков
26 декабря 2024, 08:08
0
Серьезно? А можешь примеры привести? Хоть один, где модель сама обучается, без подготовленных наборов данных. Чисто просвещения для.
Сейчас самые популярные модели — это трансформеры GPT. P — это pre-trained.

Так и вижу — модель такая — такc, вечером делать нечего, пойду-ка языки поучу ))

П.С. ChatGPT3 оперировала данными до 2020 года. Интересно почему? Ленивая? Не любит учиться?
Riwka
25 декабря 2024, 14:29
1
+1
$array = array(ids); 
if(in_array($modx->resource->get('id'), $array)) {
	$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
}

Вместо id можно поставить template и будут вам шаблоны
Riwka
25 декабря 2024, 14:13
0
В итоге переписала сама. Не знаю можно ли вставлять сюда столько текста, так что чистый JS код, если кому надо, можно найти по ссылке
Артур Шевченко
24 декабря 2024, 21:46
0
Это не косяк, это осознанное изменение. Я считаю, что нет смысла показывать «Форма содержит ошибки» и ещё сами ошибки. Однако само сообщение в ответе сервера есть и ты можешь его показать написав обработчик события si:send:error