Всего 123 791 комментарий

Александр
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
Раньше с этим никогда не работал. Инструкции в интернете вроде как немного отличаются друг от друга + возможно нужно учесть какие-то нюансы о которых я сейчас не знаю. Поэтому искал плагин который это всё сделает + будет поддерживаться
Арман
24 марта 2024, 15:49
0
Наоборот ищу самый лёгкий путь) Плагин который будет работать с контекстами. GatewayManager установил он не работает с последней версией MODX/php. xRouting тоже не поддерживается вроде бы как с php8 не очень хорошо работает (не устанавливал). Вот эти ребята treehillstudio.com/free-modx-extras/ вроде как переписали xRouting и поддерживают его и называется SmartRouting. Судя по всему то что я искал. Я знаю что это можно всё ручками написать но зачем когда есть готовый плагин)
Александр
24 марта 2024, 14:15
0
Установил на свежий MODX 3.0.4, всё по инструкции, попробовал дважы, PHP 8.1. При заходе на страницу расширения ошибка, пытается обратиться по пути site.test/mmx-forms/mgr/forms?limit=20&page=1&sort=id&dir=desc, похоже чего-то в пути не хватает.
Артур Шевченко
24 марта 2024, 09:33
+1
А ты не ищешь лёгких путей, да? Modx предоставляет прекрасный инструмент для решения подобных задач — контексты. Все дополнения будут работать одинаково хорошо во всех контекстах.