Ивaныч

Ивaныч

С нами с 05 июня 2022; Место в рейтинге пользователей: #791
Ивaныч
10 января 2023, 19:51
0
Решение может оказаться банальным:
Верхнее меню в админке -> Медиа -> Источники файлов -> ставим галку и редактируем Filesystem -> находим параметр imageExtensions -> через запятую прописываем svg -> жмём кнопку Сохранить -> Проверяем результат.
Ивaныч
07 ноября 2022, 22:04
+2
Чтобы ещё проще.

В файле:
assets/components/ajaxform/js/default.js

Находите строку:
form.find('.error').html('');
и заменяете на эту:
form.find('.error:not(select)').html('');

Готово.
Ивaныч
07 ноября 2022, 21:58
0
Да, есть такое дело (весьма бородатое). Попробуйте это решение modx.pro/help/8772#comment-122520 Оно исправит проблему с полем select.
Ивaныч
02 сентября 2022, 04:53
0
Так понимаю, что реплейс
key = key.replace(/[\[\]]/g, '');
должен был заменить вхождения ключа chetest[] (с квадратными скобками) на ключ без квадратных скобок. Даже если бы эта регулярка сработала, то возникла бы следущая проблема — с проставленной галкой в checkbox при повторном нажатии Отправить — появляется уведомление об обязательности поля, мол галка не стоит.

Корректным вариантом, имхо, будет что-то подобное:
key = key or key[]
То есть проверка на оба ключа, со скобками и без. А вот как это реализовать, не знаю. По идее это должно решить вопрос, если мыслю в верном направлении.
Ивaныч
02 сентября 2022, 02:48
0
К сожалению,
key = key.replace(/[\[\]]/g, '');
не дало результата. Фиксирую прежнее поведение: селект, инпут(текст) и текстареа — уведомление исчезает, у чекбоксов и радио — не исчезает.
Ивaныч
01 сентября 2022, 16:43
0
Конструкции типа [[!+fi.error.chetest]] используются для formit без ajaxForm.
Не знал об этом, исключил эту конструкцию.
Спасибо за информацию!
Ивaныч
01 сентября 2022, 16:31
0
Нее, тут идея следущая: можно выбрать 1 вариант, а можно и оба(вариант1+вариант2) = поэтому чекбокс, а не радио.
Ивaныч
01 сентября 2022, 16:27
0
Насколько понимаю, причина в специфике указания имени для чекбоксов и радио, а точнее name=«chetest[]» != name=«chetest». В AjaxForm идет проверка и из-за [] чекбоксы и радио проверку не проходят, и поэтому уведомление не исчезает.

Пробовал доработать строку в default.js:
$(document).on('keypress change', '.error', function () {
            var key = $(this).attr('name'); 
            $(this).removeClass('error');
            $('.error_' + key).html('').removeClass('error');
        });
заменив var key = $(this).attr('name'); на var key = $(this).attr('id');
или var key = $(this).attr('name'); на input[type=«hidden»][name="' + chetest[] + '"]
Понимаю, что мои попытки ничтожны.
Ивaныч
01 сентября 2022, 16:08
0
<form action="[[*id]]" method="post" class="ajax_form af_example" enctype="multipart/form-data">
<div class="form-group">
<label for="chetest">Поле checkbox <span class="required">*</span>:</label>
<div class="controls">
<span class="error_chetest">[[!+fi.error.chetest]]</span>
<span><input type="checkbox" name="chetest[]" id="chetest" value="Вариант1" [[!+fi.chetest:FormItIsChecked=`Вариант1`]]>Вариант1</span>
<span><input type="checkbox" name="chetest[]" id="chetest" value="Вариант2" [[!+fi.chetest:FormItIsChecked=`Вариант2`]]>Вариант2</span>
<input type="hidden" name="chetest[]" value="">
</div>
</div>
Ивaныч
31 августа 2022, 22:40
0
Попробую разобраться, хотя заранее сомневаюсь в собственном успехе — второй день пытаюсь, иначе не обратился бы на форум за помощью.

Артур, в любом случае, спасибо за отклик и помощь!
Ивaныч
31 августа 2022, 21:52
0
На счёт необязательности, согласен. Но, корректное решение нужно искать в исходниках, а не колхозить изощрения. Так считаю. Тем более это не частный случай, а всего лишь банальная недоработка популярного плагина. Если у кого есть решение вопроса по существу, прошу помочь.
Ивaныч
09 июня 2022, 20:34
+1
Нее, парни, это совсем не то, что требуется. Продублирую заголовок топика «TV-поле привязка к конкретному ресурсу (странице) ». Не скрыть, не под ковёр замести, а именно привязать.

Создал ресурс, создал TV-поле, привязал. В случае отвязки TV от ресурса данные поля в БД не хранятся, удаляются.
Разнообразие полей и их кастомизация в modx впечатляет, но сама реализация принципа ресурс-TV скорее для галки. Отталкиваюсь от профильных cms, ну да, оно и понятно, ведь профильные. Ок, будем работать с тем, что есть.

modx.pro/help/22993#comment-134159

Спасибо всем отписавшимся за помощь и время!
Ивaныч
08 июня 2022, 21:42
0
Ошибаюсь. При втором заходе появилась панель с Доп.полями TV. Буду разбираться, как этот инструмент работает.
Ивaныч
08 июня 2022, 21:28
0
Если верно понял, то в «Настройка форм» реализовано ограничение по Основным полям, например pagetitle, isfolder. По TV-полям(Дополнительным) ограничения нет. Поправьте, если ошибаюсь.

Про такой инструмент я не знал, спасибо за наводку.
Ивaныч
08 июня 2022, 21:06
0
Он лишь скрывает, но не привязывает.
Ивaныч
07 июня 2022, 11:42
0
Надеялся, что пропустил функцию в админке. Значит только через шаблон. Это и хотел узнать.
Парни, спасибо за уделенное время и помощь!
Ивaныч
06 июня 2022, 18:31
0
Понимаю, но ресурсов с индивидуальным полем 9 штук. Создавать 9 шаблонов исключительно в угоду TV, мне думается, весьма иррациональный вариант.
Неужели нет более гуманного способа привязки.