Всего 123 794 комментария

Артур Шевченко
26 марта 2024, 10:16
0
Начнём по порядку.

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

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

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

4. Есть сниппет ffFiltering, аналог mFilter2, в его чанки можно пробросить данные через вызов сниппета, а есть сниппет, который отвечает за рендер результатов, он вызывается каждый раз, когда задаются новые условия в фильтрах и вот в его чанк можно пробросить параметры только через плагин.
Александр Мельник
26 марта 2024, 08:46
0
Цифры выглядят впечатляюще.
Пока документация не готова, есть пара вопросов.
1) Вы пишите —
Опции и ТВ не используются
но лично я воспринимаю фильтр как инструмент поиска по характеристикам (ну или в терминологии минишоп опциям). А что же тогда фильтрует фильтр, если нет опций?

2)
Фильтрация пользователей.
Не совсем понимаю, если можно то хоть пару строк. Что вообще такое фильтрация пользователей? Зачем она может применятся?

3)
Возможность добавить фильтрацию по произвольному параметру через плагин, своего рода SimpleSearch на минималках.
Часто использую simplesearch для реализации простого поиска по ресурсам сайта. Он дает форму для поиска и сниппет для показа результатов. Что тогда такое «фильтрацию по произвольному параметру через плагин» и в чем его схожесть с simplesearch?

4)
Пробрасывать в чанки дополнительные параметры через плагин.
Это речь о каких то конкретны странных чанках? Иначе почему параметры в них нужно пробрасывать через плагин, ведь все чанки modx поддерживают передачу параметров из коробки.

Спасибо.
Александр Мельник
26 марта 2024, 08:29
0
Александр, а расскажите пожалуйста подробнне.
Открывает большие возможности, которые с ExtJS казались очень сложными.
Я посмотрел видео и понял так, что Василий сделал два компонента для modx3, один из которых позволяет создавать веб формы для публичной части сайта, второй позволяет работать с моделями сайта не через прослойку xPDO, а через ORM Eloquent.
Но прочитав вашу фразу, что тепер открываются новые возможности, которые ранее были сложны с extjs, я засомневался. Я наверное не так понял функционал и назначение этих компонентов. Расскажите пожалуйста подробнее, какие именно возможности они открывют и в чем облегчают работу с extjs.
Александр
25 марта 2024, 19:40
+1
На modhost nginx с настроенными правилами по умолчанию, у меня локальный apache, с даже не переименованным ht.access был. Для админки он не нужен, а для этих дополнений не без него)
Арман
25 марта 2024, 18:55
0
Ну я вроде уже определился пообщавшись здесь, что мне не нужен SmartRouting (единственное у него в документации написано Cache the http_host/base_url => context settings to avoid database lookups on page load. Но я думаю это не критичный момент и можно обойтись без этого). Скорее всего воспользуюсь вариантом Артура Шевченко или вариантом из официальной документации. Я считаю вариант Артура хорош, особенно если будет много доменов и в любой момент нужно будет создавать и удалить их. Так как у меня на проекте всего 2 домена и больше не будет, мне так же подходит вариант из документации. Всем спасибо)
Арман
25 марта 2024, 18:43
0
Сегодня началась новая спам атака на сайт. Накидали за день номеров 200 на почту через assets/components/FetchIt/action.php. Этот код помог (стоит FetchIt). Единственное что не пойму почему не сработал файл .htaccess который я вставил в assets/components/FetchIt и прописал там
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?vision-hotel.ru [NC]
RewriteRule \.* - [F]
Похоже что заголовок Referer тоже подделывали при спаме.

SendIt пока что не хочется ставить. В общем и целом нравится FetchIt так же там готовая интеграция с AmoCRM которую легко и быстро настроил через FetchIt sucsess.

Надеюсь автор допилит этот момент из коробки. А так всем спасибо)
Александр Мельник
25 марта 2024, 15:52
0
Мне кажется вы не совсем правы, предлагая автору инструменты для многоязычности и ссылку, на которую опять-таки инструкция по многоязычности. Это только собьет его с толку.
Автор пишет
БЕЗ поддоменов и без определения контекста с помощью папок таких как site.ru/site1 и site.ru/site2.
а вы даете ссылку на инструкцию, которая начинается со слов
Русская версия сайта — site.ru/
Английская версия — site.ru/en/
Автор пишет, что
Сайт отличаются контентом и не только, то есть один сайт НЕ ЯВЛЯЕТСЯ переводом на другой язык второго сайта.
А в вашей инструкции как раз речь о том, что babel позволяет создать перевод для существующей страницы.
Артур Шевченко
25 марта 2024, 10:33
0
Я думаю излишне сложно. В моей практике не было случаев, когда нужен отдельный htaccess на каждый домен.
Василий Наумкин
25 марта 2024, 10:29
0
Каким образом можно будет избежать конфликтов
Composer просто не позволит установить конфликтое приложение, и ничего не сломается.

Нужно будет поискать более подходящее приложение, или попросить автора адаптировать своё. Например, указать другие возможные версии зависимостей, как уже сделал я с vesp/core, для нормальной работы в MODX 3.
Арман
25 марта 2024, 10:19
0
Всё читаю и пытаюсь вникнуть) Просто нет опыта и хочется разобраться в вопросе не поверхностно. Я ищу лёгкий путь в самой настройке но иду сложным путем в плане того что хочется собрать побольше информации.
Pandemic
25 марта 2024, 10:10
0
Ты явно не ищешь лёгкий путь и не читаешь что тебе пишут, контексты и babel тебе в помощь, всё так же зависит от того как ты хочешь чтобы твой сайт работал, можешь и в modstore.pro посмотреть плагины modstore.pro/packages/other/polylang ну а это вот бесплатно, быстро, тебе просто полная настройка всего cat-art.ru/blog/multiyazyichnost-modx-revo
Максим
25 марта 2024, 08:50
0
А можно подробнее? Каким образом можно будет избежать конфликтов, даже если все дополнения будут устанавливаться через Composer? Если МоёДополнение, например, использует зависимость версии 1, а ТвоёДополнение требует версию 5, где половина методов из версии 1 отсутствует, Composer как-то будет устанавливать 2 версии одной зависимости? И как потом этим пользоваться?
vit
vit
24 марта 2024, 21:03
0
Вдруг кто-то тоже с этим столкнется в ближайшее время. Этот тип поля не поддерживается сейчас в MODX3 работает только типо поля textbox
Арман
24 марта 2024, 20:58
0
А что насчёт реализации описанной на оф. сайте docs.modx.com/3.x/ru/building-sites/contexts/virtual-host? В плане удобства в каком-то плане мне нравится ваш код, не нужно файлы копировать и редактировать каждый раз при создании домена. Но мне так же нравится вариант представленный в документации так как он имеет свой .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, 19:24
0
Скорее, это что-то с настройкой веб-сервера, потому что на modhost.pro дружественные url включать не нужно.

Главное, чтобы любой запрос попадал на index.php, а там уже сработает плагин.
Александр
24 марта 2024, 17:37
+1
Дело оказалось в выключенных Дружественных URL. Т.е. совсем голая система и сразу накатывал на неё дополнение. Логично, но неочевидно, что для использования админки, для дополнения, нужно включать настройку, предназначенную для фронтенда.
А так, выглядит, конечно, мощно! ? Открывает большие возможности, которые с ExtJS казались очень сложными.
Василий Наумкин
24 марта 2024, 17:18
0
Все запросы в приложение перехватываются плагином на onHandleRequest, дальше проверяется адрес запроса и, если он начинается с /mmx-forms/, то передаётся контроллеру.

У тебя, судя по всему, или не работает плагин mmxForms, или запрос перехватывает раньше кто-то другой. Во всяком случае, текст ошибки не выглядит как обычная страница MODX.

Я только что проверил работу на modhost — всё отлично, проблем нет.


Попробуй и ты, я дополнил заметку инструкцией для этого хостинга.
Арман
24 марта 2024, 16:05
0
Ну судя по всему раз уже 2 человека написали лучше всего похоже не использовать SmartRouting а написать всё самому
Арман
24 марта 2024, 15:51
0
Раньше с этим никогда не работал. Инструкции в интернете вроде как немного отличаются друг от друга + возможно нужно учесть какие-то нюансы о которых я сейчас не знаю. Поэтому искал плагин который это всё сделает + будет поддерживаться