Всего 125 974 комментария

Константин Ильин
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
Михаил
22 февраля 2022, 20:44
0
Артур спасибо! Вынесение в чанк помогло
Дима Сайт old см. профиль
22 февраля 2022, 20:43
0
Ну как, получилось? Не у вас одного дизайнер с приветом :))) (на самом деле мне даже нравится такой интерфейс так что лучше бы так сделать а не по-другому рисовать)
Дима Сайт old см. профиль
22 февраля 2022, 20:26
0
По ссылкам нет скриншотов и правда. @Константин перезалей картинки, без них не подсказать((

А вообще общий совет при построении меню такой — добавляешь rowclass innerclass и все остальные, смотришь потом в коде всё как на ладони, и видишь, какие тебе нужно стилизовать или прикидываешь как по-другому это сделать (иногда проще привязаться через id если это фиксированное меню или через поле ресурса *link_attributes
Дима Сайт old см. профиль
22 февраля 2022, 20:16
+1
Я пробовал, работает. Иными словами, в дереве ресурсов выбираешь нужный конекст, правый клик — редактировать, и там создаешь настройки со значениями, аналогичными системным настройкам:
emailsender (эта важная, про неё часто забывают), mail_smtp_user, mail_smtp_pass ну и другие mail_smtp_xxx которые отличаются.

P.S. Пожалуйста, @Константин Ильин опечатку в заголовке вопроса. SMPT не тоже самое Simple Mail Transfer Protocol
Артур Шевченко
22 февраля 2022, 17:47
0
У меня одного скриншоты не открываются?
Артур Шевченко
22 февраля 2022, 17:45
+1
1. Думаю надо вызов msProduct сделать некэшированным.
2. Вынести всё в чанк вместо @INLINE
Игорь Терентьев
22 февраля 2022, 17:07
0
Посмотри в журнале ошибок есть что-нибудь?
Игорь
22 февраля 2022, 15:26
0
Пробовал снова, удалил в снипете и в настройках системы шаблоны,
пытаюсь в чанке
{'Это {скрипт|плагин|сниппет} генерации  {текстов|описаний|заголовков}  {для сайта|для {оптимизации|SEO}}' | textGenerator}
{'это {привет|пока} или {добрый день|добрый вечер}' | textGenerator}
никакой реакции, просто выводит этот текст на сайте
fenom включен.
Увидел что вы обновили сборку, обновил сейчас, тоже самое ничего не помогло.

так


так


так
Евгений Лазарев
22 февраля 2022, 15:25
0
Установил плагин — у него потрясающий функционал. С какими проблемами столкнулся:
1) мало документации.
2) Так и не понял разницу CrontabManagerHandlerFile и CrontabManagerHandler.
3) При активации и деактивации появляются ошибки и она становится невозможной (выполнил опытным путем удаляя задание через ispPanel)
4) когда все же все заработало увидел ряд ошибок:
PHP Fatal error:  Can't use method return value in write context in /var/www/site.ru/core/components/crontabmanager/model/crontabmanager/crontabmanagertasklog.class.php on line 10
Данные ошибки связаны с этим файлом и crontabmanagertask.class.php на строках 99,222,231 (везде где написано if (EMPTY($this->get('tratata')))). Почему-то не нравится ему empty. При этом у меня php74 а запускатеся под 7.2
Константин
22 февраля 2022, 15:13
0
Всем привет, как в вызове mFilter2 выводить не паттерн цвета, а именно цвето в rgb? В меню удалось реализовать, а вот в фильтре что-то не соображу.

msoc|color~value~pattern

Код чанка фильтра mFilter2FilterCheckboxColorTpl

{var $title = $title|split:'~'}
{$title[0]}
<input type=«checkbox» name="[[+filter_key]]" id=«mse2_[[+table]][[+delimeter]][[+filter]]_[[+idx]]» value="[[+value]]" [[+checked]] [[+disabled]]/>


{$title[0] | ucfirst} [[+num]]
Alexandr
22 февраля 2022, 15:11
0
Понял. Попробую попозже. Спасибо большое за помощь.
Что-то в документации глянул примеры про "&optionFilters" и подумал что подходит только для числовых значений.
Евгений Webinmd
22 февраля 2022, 15:02
+1
через запятую для and вроде как
&optionFilters=`{"mir_shape":"[[+mir_shape.value]]", "option2":"[[+option2.value]]"}`
Alexandr
22 февраля 2022, 15:00
0
Получилось. Только вот таким образом:
&optionFilters=`{"mir_shape":"[[+mir_shape.value]]"}`
Спасибо за помощь. А если по нескольким опциям, то добавить запись через and?
Евгений Webinmd
22 февраля 2022, 14:34
+1
попробуйте использовать optionFilters
&optionFilters=`{"mir_shape":"[[+mir_shape]]"}`
Специальный параметр &optionFilters подключает необходимые таблицы и дополняет параметр &where, позволяя фильтровать товары по их опциям.