Всего 125 969 комментариев

Дима Сайт old см. профиль
23 февраля 2022, 17:15
+1
А возможно лучше остаться здесь на modx.pro, т.к. эти ответы индексируются поиском и структурированы по темам, а не уходят вверх в ленте навсегда, вынуждая тех кто знает ответы, по нескольку раз отвечать одно и то же :)

Ну до тех пор не будет придуман способ индексировать переписку из телеги (и ещё останется задача разделения по темам).

Да, рассуждаю как старикан, но аргументы эти разве не актуальны?
Дима Сайт old см. профиль
23 февраля 2022, 17:10
0
Нееет, не делайте этого, лучше формируйте URL правильно, как подсказали выше.
Устанавливая тег base вы сломаете якорную навигацию если она есть. Это большая загадка, по какому недоразумению эта штука присутствует (или сейчас нет уже, не уверен) в дефолтном шаблоне modx сразу после установки. И даже видел абсурдные разговоры о том, что это «особенность движка» от лиц, которые не очень понимаю видимо как работает HTML в браузере… короче если вы точно не знаете нужен ли вам тег base (а 99.5% что не нужен) — не используйте его!

Вы хотели подробностей, так вот:
Вообще, контролировать наличие начального слеша можно несколькими способами (и к стати если запутаться, можно наткнуться на ошибку с // двумя начальными слэшами так что я например предпочитаю в верстке его добавлять именно так как и подсказал @Роман ) так как пути строятся из частей, каждой из которых в MODX можно управлять (а можно оставить по дефолту и всё тоже будет ок)

На самом деле к любому ресурсу на сайте есть 2 пути, и оба необходимы:
1) где на жестком диске на сервере лежит файл
2) по какому uri его можно получить из интернета

У вас «проблема» (которая на самом деле особенность построения любого относильеного uri в браузерах, подробности на MDN) с путём 2.

Есть параметр baseUrl в настройках источника файлов (а он в свою очередь указан в вашей TV с картинкой) — можно в его значении поставить в начале этот слэш и тогда не придется его дописывать в верстке.

Только не путайте с basePath — это путь до картинки на сервере (путь 1)

Например картинки лежат на сервере в папке /home/user/data/www/site.ru/assets/img/ тогда в настройках Медиа -> Источники файлов -> Картинки будут такими:
1) basePath = assets/img/
2) baseUrl = /assets/img/

Но как здесь видно,
А первая часть пути до папки задается ещё раньше в файле конфига сайта /core/config/config.inc.php
....
if (!defined('MODX_BASE_PATH')) {
    $modx_base_path= '/home/user/data/www/modx.pro/';
    $modx_base_url= '/';
    define('MODX_BASE_PATH', $modx_base_path);
    define('MODX_BASE_URL', $modx_base_url);
}
....
Если всё ещё не понятно, формулируйте вопросы, дожмём тему))
Дима Сайт old см. профиль
23 февраля 2022, 16:46
+1
Ну, разве что можно ещё отправлять почту другим способом, через swiftmailer, или чем-то своим (modHelpers тоже вроде умеет, но подозреваю что настройки также глобальные).

А так годное получилось решение с учетом того, как реализованы домены (раз без контекстов, то тоже плагином), варианты другие в ряд ли и нужны)
Александр Мельник
23 февраля 2022, 16:41
+1
попробуйте в теге header добавить тег
<base href="http://site.com/">
Игорь
23 февраля 2022, 16:41
0
Я думал плагин можно запускать на одной странице несколько штук…
получается работает только для одной фразы… а нельзя сделать что б несколько работало? я хотел по многим местам пройтись с шаблоном…
Игорь
23 февраля 2022, 16:37
0
Все работает. спасибо!
моя ошибка не до конца в феном включил галочки
Дима Сайт old см. профиль
23 февраля 2022, 16:37
0
Намёк понял, придётся парировать: Тогда вдвойне странно, т.к. у вас вопрос по js на самом деле, если не по верстке, но точно не по modx (ведь от бекенда не зависит как у вас отображается фильтр)

Есть же для каждого фильтра чанк, подозреваю что можно так завернуть верстку, что у вас и правая колонка и верхняя строка будут в одном блоке, и тогда разными чанками стилизовать фильтр согласно макету.

P.S. У меня похожий макет на предпроектной стадии, если дойдет до заказа (и не забуду :) ), то смогу продемонстрировать на примере…
Игорь
23 февраля 2022, 16:28
0
теперь только выводит из чанка tpl.textGenerator.input базовую фразу
Игорь
23 февраля 2022, 16:27
0
Удалить целиком или очистить...? просто хочется выводить теги в любом месте
{'это {привет|пока} или {добрый день|добрый вечер}' | textGenerator}
Олег
23 февраля 2022, 11:16
0
К сожалению, нет. Не нашел информации, да и опыта не хватает самому разобраться. Сделал топорно, как у конкурента, у которого дизайнер взял эту идею. Да, когда ищешь инфу по js найти можно практически что угодно)
marius
23 февраля 2022, 09:41
0
Спасибо за ответ! Я уже это сделал и всё заработало. Только вот непонятно почему нужно делать именно так? Почему значок / стирает ненужную часть из URL? То есть если бы не было включено ЧПУ со вложенными URL то всё и так бы нормально работало.
marius
23 февраля 2022, 09:39
0
Странно, добавил в шаблоне перед [[*img]] знак / и картинка заработало, то есть теперь код выглядит так:

Кто нибудь может что нибудь сказать по этому поводу? Правильное ли это решение, или нужно делать по другому?
Роман
23 февраля 2022, 09:39
+1
Дело не в чпу, а в том как вы выводите ссылку. Попробуйте перед адресом картинки поставить /
Константин
23 февраля 2022, 09:00
0
Извиняюсь, перезаил скриншоты другим сервисом
Игорь
23 февраля 2022, 08:26
0
в журнале ошибок касательно плагина ничего не увидел.
Константин Ильин
22 февраля 2022, 23:06
+1
Спасибо всем за отзывы и Спасибо за пояснение Евгению! И спасибо за исправления заголовка, чет косячнул.

Подмечу.
В комментах верно написали, что домены реализованы без контекстов, поэтому сделал по другому.
Домены прописаны у ресурсов в отдельном контексте, в доп поле скрин прикладываю.
prnt.sc/iN53u16cimo8

Получилось повесить плагин на событие OnMODXInit. Код на коленке, но думаю смысл понятен.
if ($modx->event->name != "OnMODXInit" || $modx->context->key == 'mgr') {
    return;
}
$host = $_SERVER['HTTP_HOST'];
$SMTParr = [];
$pos = strripos($host, 'site.ru');
if ($pos === false) {
   /* тут основной домен или же ничего не делать*/
} else {
    $SMTParr = [
        'mail_smtp_helo' => 'smtp.mail.ru', //тут меняем на яндекс если надо
        'mail_smtp_hosts' => 'smtp.mail.ru', //тут меняем на яндекс если надо
        'mail_smtp_user' => 'info@site.ru',
        'mail_smtp_pass' => 'парольпароль',
        'mail_smtp_single_to' => 1,
        'mail_smtp_prefix' => 'ssl',
        'mail_smtp_port' => 465,
        'mail_smtp_auth' => 1,
        'mail_use_smtp' => 1,
    ];
}

if(!empty($SMTParr)){
    foreach ($SMTParr as $k => $v){
        //Тут как раз переназначаем настройки
        $modx->setOption($k, $v);
        $modx->config[$k] = $v;
    }
}
Попробовал отправить форму через ajaxForm все прошло ок. Грубо говоря в яндекс почте куда пришло письмо горит зеленый замочек.

А так резюмируя:
Смотрим что за домен, из условно базы(оно может быть ресурсами отдельными или в тупую массивами прописано) берем данные для сравнения и данные SMTP, и меняем в цикле данные.
www.mail-tester.com/ показывает нормально.

Готов выслушать другие решения.
Евгений Webinmd
22 февраля 2022, 21:39
0
тогда осталось узнать как сделаны домены
Александр Мельник
22 февраля 2022, 21:04
+1
Мне кажется, что у автора нет разных контекстов на сайте, у которых можно было бы переназначить системные настройки. У него просто много доменов направлены на одну директорию в которой лежит сайт.
Игорь
22 февраля 2022, 20:48
0
Оказалось fenom не весь был включён. Теперь выводит в контенте сообщение: Это плагин генерации текстов для оптимизации Array