Артур Шевченко

Артур Шевченко

С нами с 24 мая 2019; Место в рейтинге пользователей: #3
Отправить деньги
26 марта 2024, 10:16
0
Начнём по порядку.

1. Опции и ТВ не используются конкретно на этих сайта, которые я взял для сравнения. Так-то сам компонент умеет работать и с ТВ, даже miigx, и с опциями.

2. Фильтрация пользователей нужна, когда имеет место ручная их модерация. В моём случае, нужно проверять паспортные данные присланные в виде фото.

3. Схожесть с SimpleSearch в том, что поиск происходит с помощью оператора LIKE. Никакой формы и сниппета нет. Суть кейса в том, что мне нужно было сделать поиск по определенным полям в уже отфильтрованных данных. Условно есть фильтр Статус и нужно найти все товары в статусе 1, которые загрузили пользователи с фамилией Иванов. Вот фамилия и есть произвольный параметр. Можно было бы и Фамилию сделать фильтром, но список был бы длинным и неудобным.

4. Есть сниппет ffFiltering, аналог mFilter2, в его чанки можно пробросить данные через вызов сниппета, а есть сниппет, который отвечает за рендер результатов, он вызывается каждый раз, когда задаются новые условия в фильтрах и вот в его чанк можно пробросить параметры только через плагин.
25 марта 2024, 10:33
0
Я думаю излишне сложно. В моей практике не было случаев, когда нужен отдельный htaccess на каждый домен.
24 марта 2024, 20:33
1
+1
1. Все домены должны ссылаться на одну папку.
2. Каждый контекст должен иметь настройку http_host и base_url.
3. Нужно написать плагин который будет переключать контекст в зависимости от домена
<?php
// Работаем только на фронтенде
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr') {return;}

// Определяем запрашиваемый хост
$host = $_SERVER['HTTP_HOST'];

if($ctx = $modx->getObject('modContextSetting', array('key' => 'http_host', 'value' => $host)) ){
    $ctx_key = $ctx->get('context_key');
    if($ctx_key != 'web'){
        $modx->switchContext($ctx_key);
    }
}
Всё. Сайты готовы.
24 марта 2024, 09:33
+1
А ты не ищешь лёгких путей, да? Modx предоставляет прекрасный инструмент для решения подобных задач — контексты. Все дополнения будут работать одинаково хорошо во всех контекстах.
21 марта 2024, 20:14
+1
Если ты будешь создавать ресурс при регистрации, то ставь ему в createdby id нового пользователя. А потом в ЛК выводи форму с данными ресурса, который найдёшь по createdby. В общем, если использовать SendIt дело одной формы (изменения данных ресурса), и одного плагина (создания ресурса после регистрации) и одного сниппета (сохранения данных ресурса). 2-3 часа работы.
20 марта 2024, 22:20
+1
файлы нужно где-то временно хранить и отслеживать, были они отправлены или нет. То есть, сохранять их в БД, чистить неотправленное и всякое такое.
В SendIt всё это есть, только без БД. Файлы загружаются автоматически и удаляются автоматически при перезагрузке или закрытии страницы. Если отправлять не надо, то пишешь хук, который переместит файлы. В общем, я вдохновлялся AjaxForm и AjaxSnippet и получился универсальный компонент для отправки форм.

Вообще очень интересно получилось. Твои старые компоненты на фронте используют jQuery, а теперь ты врываешься с Vue, VanillaJS не зашёл тебе совсем?)))

Что касается твоих идей, мне они кажутся революционными для Modx, если не найдётся тот, кто разжуёт всё для малообразованных вроде меня, будет сложно разобраться.
20 марта 2024, 20:42
0
По словам автора FetchIt использует тот же бэк, что AjaxForm, поэтому вряд ли переход на него спасёт от спама. А вот SendIt может помочь.
14 марта 2024, 15:55
0
Ты в слайдер пихаешь строки и хочешь чтобы он работал? Слайдер работает только с числами.
13 марта 2024, 22:14
0
Есть вероятность, что 4 цифры приходят в таком формате 1 000, что преобразуется в 1, а вот если вырезать пробелы, то и проблемы не будет.
12 марта 2024, 13:25
0
Это всё попытки взлома. Скорее всего бомбят action.php. Вариант защиты использовать токен. Можешь попробовать использовать SendIt.
12 марта 2024, 09:28
+1
Больше похоже на попытку SQL-инъекции.
11 марта 2024, 20:08
0
Попробуй поиграть с приоритетами плагинов
11 марта 2024, 19:54
0
Не знаю расстроишься ты или обрадуешься, но «из коробки» mFilter2 фильтрует по условию И. Если у тебя не так то, либо кто-то написал свой класс фильтрации, либо что-то у тебя не правильно настроено.
06 марта 2024, 18:23
0
Думаю у вас не получится запустить SendIt из вне
06 марта 2024, 11:00
0
А как тогда асинхронные запросы принимать и обрабатывать, если php будет запрещено запускать?
06 марта 2024, 10:40
0
Запрос всё равно будет улетать на файл components/sendit/action.php и этот путь можно будет увидеть через консоль браузера. А путь можно сменить через системные настройки, главное сохранить структуру папок и файлов внутри папки компонента.
06 марта 2024, 10:15
0
Не очень понимаю как вам удаётся повышать безопасность сайта переименовыванием папки assets, если по любой картинке можно узнать как она у вас называется?
04 марта 2024, 17:24
0
Не, для каждой категории необязательно создавать. Если у всех категорий одинаковые опции, можно создать одну конфигурации без указания родителей. Опции привязаны к категориям, а фильтры к опциям, поэтому я добавил возможность указывать родителей, чтобы в категории выводились только те фильтры, которые в ней есть, а не все подряд.