Ruslan

Ruslan

С нами с 04 ноября 2024; Место в рейтинге пользователей: #733
Ruslan
29 апреля 2025, 13:30
+1
Все устраивает.

Просто подумал что скачал один модуль, а там уже это тоже есть.
И не надо ставить еще один модуль. ))
Ruslan
29 апреля 2025, 12:42
0
Было бы супер.

А у вас есть в планах сделать что-то похожее на «Client Config» page?
Ну то-есть будет какая то страница, где люди смогут создавать глобальные поля, вроде номера телефона или email. Мне кажется это был бы тоже приятное дополнение.
Ruslan
29 апреля 2025, 09:23
0
Так же есть вопрос:

При создании например полей в админ панели,
Field::make('title')->label('Заголовок')
Возможно ли, что бы данный заголовок тоже можно было менять, в зависимости от выбранного языка для перевода?
Например если на сайте два языка, русский и английски, то для русской версии отображался бы «Заголовок» а для англ «Title».
Ruslan
28 апреля 2025, 12:20
+1
Теперь понятно.
Я думал там есть такая возможность.

Тогда вопрос отпал.
Ruslan
28 апреля 2025, 10:57
0
@Aleksandr Huz

Создал по вашему примеру через режим разработчика «Пример создания меню с двумя вкладками»
Всё появилось отлично, но если я например хочу туда добавить простое текстовое поле
Field::make('title')->label('Title')->required()
То оно не появляется.
В журнале ошибок показывает

/core/src/Revolution/modMenu.php 80
The menu cache key menus/ru could not be written.

Версия Modx 3.1.2
php 8.2
Ruslan
06 марта 2025, 13:02
0
Теперь всё понятно.
Спасибо за разъяснение.
Ruslan
06 марта 2025, 10:18
0
Сегодня обновился, и всё сработало.
Теперь очень удобно.

Спасибо большое за ваш труд.

Если можно, можете уточнить еще момент.
Наткнулся в документации при авторизации на такой параметр.
'errorFieldName' => 'errorLogin'
написано — в этом параметре необходимо указать имя скрытого поля, в которое будет записан текст ошибки авторизации, если оставить пустым ошибка будет показана во вплывающем сообщении.
Я правильно понимаю, что если в форме будет input поле как в вашем примере, то сообщение об удачной или не удачной авторизации должно появится в этом поле?
Если так, то почему то сообщение не работает оно всё так же во всплывающем окне отображается. Или я опять не так всё понял.
Ruslan
05 марта 2025, 12:45
0
Как раз делал авторизацию / регистрацию, и протестировал. Сработало на отлично.
Но вот так же возник вопрос по поводу параметра «usergroupsField» при регистрации.
В документации написано что это «имя поля выбора группы»
Я в пресете указал
'usergroupsField' => 'usergroup',
а сама форма HTML имеет такой выбор
<input type="radio" name="usergroup" value="2" checked>
<input type="radio" name="usergroup" value="3">
Но регистрация не проходит в нужную группу.
В документации примера не нашел.
Можете подсказать это так работает или я не правильно понял смысл этого параметра?
Ruslan
08 января 2025, 11:12
0
@Артур Шевченко Помогите пожалуйста, никак не могу понять с этой фильтрацией по множественным параметрам.

1) По какой то причине когда я нахожусь на какой либо странице по пагинации (например на пятой page=5), и нажимаю на параметр для фильтрации, он фильтрует, но почему не сбрасывает пагинацию, а подгружает последнюю страницу результатов поиска и в УРЛ тоже показывает последнюю страницу (например страницу?page=2). Но так же заметил в консоли, что по какой-то причине он добавляет параметр offset. Из за которой он пропускает какие то страницы и выдаёт сообщение о пустом результате поиска.

2) Я использую в вызове снипета параметр "'hashParams' => 'building_status,property_rooms'," я так предполагал что этот параметр помогает при фильтрации так же в УРЛ автоматически записывать GET запросы фильтрации, так же как и пагинации. Я ошибаюсь?
Если ошибаюсь можете подсказать каким образом можно сделать так, что бы параметры фильтров тоже в УРЛ появлялись?
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>
и только после этого заработало.
Это правильно? Или всё же в будущем чревато проблемами?

И скажите, а возможно ли сделать так, что бы параметры фильтрации, так же как и пагинация, появлялась в УРЛ сайта?
Ruslan
02 января 2025, 16:54
0
Не совсем корректно работает данный вариант.
Почему то, что когда я меняю чекбокс в форме, в консоле я вижу, что он находит «select» которому я дал name=«sort_by» и отправляет на сервер выбранное значение, но когда я меняю саму сортировку, то на сервер не отправляется ранее выбранные чекбоксы из формы, на сервер отправляется только сортировка.
Ruslan
30 декабря 2024, 12:32
0
Дело в том, что у меня есть отдельный sidebar в котором находится список параметров для фильтрации.
И именно этот sidebar обернут в form. А сортировка находиться совсем в другом месте, и если я его оборачиваю в отдельный form, то соответственно сортировка перебивает уже используемые параметры фильтра. А как сделать что бы сортировка работала так же уже с отфильтрованным результатом?
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;
}
Но теперь задача, как сделать сортировку результатов ответа, по цене и по другим параметрам, так как кнопки для сортировок находятся отдельно от тега ))
Ruslan
21 декабря 2024, 11:46
+1
После стольких мучений, я понял что SendIt и Polylang очень даже дружат.
Моя ошибка была в том, что я не увидел одного мелкого важного момента.

Важно! Ссылка переключения языка должна иметь класс polylang-toggle или тот который указан в параметре trigger сниппета PolylangLinks.

Я лишь указал этот класс и всё само заработало.
Ruslan
20 декабря 2024, 12:53
0
Спасибо, я уже начал как раз пробывать передавать через $_COOKIE.
Просто думал есть какой то другой правильный способ )
Ruslan
20 декабря 2024, 10:32
0
Сделал плагин, и указал жёстко переопределение языка.
Кстати самому плагину Polylang приоритет «1» не ставил еще.
switch ($modx->event->name) {
    case 'OnMODXInit':
    $modx->setOption('cultureKey', 'uz');
    break;
}
Работает отлично.

Но как передать туда ключ текущего языка, так и не нашел. Можете подсказать каким образом передать можно?
Ruslan
16 декабря 2024, 12:56
0
Беру свои слова назад, поудалял кеш, всё почистил, и всё заработало.
Наконец таки
Ruslan
16 декабря 2024, 12:28
0
Я это тоже добавил, но безрезультатно.
'resultShowMethod' => 'append',
Не понимаю что не так сделал
Ruslan
16 декабря 2024, 09:34
0
Несколько раз перечитал в документации «Начало работы» и «Отправка данных».
Но так и не понял что я сделал не так.
Подскажите что я упустил.
Наверняка кто-то в будущем с этим тоже столкнётся и им этот ответ тоже поможет.
Ruslan
14 декабря 2024, 21:34
0
@Артур Шевченко Спасибо вам за ответ.

Сделал как вы сказали, теперь вроде ошибок в консоли нет, но сам текст в ДИве который указал в «resultBlockSelector» не появится.

В консоли вроде всё нормально и ошибок нету, выдаёт такое

{"success":true,"message":"","data":{"hooks":"","snippet":"loadSnippet","resultBlockSelector":".resultSendit","sendGoal":"0","counterId":"","formName":"change","validate":"","html":"<b>\u041a\u0430\u043a\u043e\u0439 \u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/b>"}}