site_url недоступен в tpl.msEmail.new.user
Добрый день, коллеги. Выполняя мягкое обновление Minishop на сайте (с ручной заменой чанков магазина), столкнулся с неприятной проблемой. Опция site_url недоступна в шаблоне письма о новом заказе клиенту (возможно и в других). Для чистоты эксперимента я заменил содержимое чанка на содержимое tpl.msEmail. Методом тыка выяснил, что письма не отправляются, если в них есть плейсхолдеры {$site_url} и {$product.id | url: ['scheme' => 'full']}. Каждый из плейсхолдеров тем или иным образом использует опцию site_url. Сразу скажу, что выше переменная $site_url инициализируется так {var $site_url = ('site_url' | option) | preg_replace: '#/$#': ''}. Это в принципе и неважно, ведь блоку {$product.id | url: ['scheme' => 'full']} эта переменная не требуется, но этот блок также ломает отправку писем. Пошёл дальше: в чанке письма оставил только {'site_url' | option} — не работает. Также не работает и сниппет с содержимым return $modx->getOption('site_url');
При этом в теле тестовой страницы все эти плейсхолдеры работают. Напрашивается вывод, что эту опцию нельзя получить не в контексте ресурса, но хотелось бы получить более компетентный комментарий по этому поводу. Ведь код чанка скопирован с демо-сайта (minishop2.com). Неужели там не проверен этот функционал? Из-за ограничений прав в демо-магазине я не могу проверить его функционал самостоятельно. Знаю, что site_url нестандартная опция и хранится она не в таблице вместе с остальными настройками. Использую свежие версии MODX(2.5.4), Minishop2(2.4.8) и PdoTools(2.8.0). Проясните, пожалуйста, ситуацию. Под чанком tpl.msEmail.new.user подразумевался собственный чанк, прописанный в статусе заказа, но с дефолтным содержимым, если таковым можно считать содержимое чанка на демо-сайте
При этом в теле тестовой страницы все эти плейсхолдеры работают. Напрашивается вывод, что эту опцию нельзя получить не в контексте ресурса, но хотелось бы получить более компетентный комментарий по этому поводу. Ведь код чанка скопирован с демо-сайта (minishop2.com). Неужели там не проверен этот функционал? Из-за ограничений прав в демо-магазине я не могу проверить его функционал самостоятельно. Знаю, что site_url нестандартная опция и хранится она не в таблице вместе с остальными настройками. Использую свежие версии MODX(2.5.4), Minishop2(2.4.8) и PdoTools(2.8.0). Проясните, пожалуйста, ситуацию. Под чанком tpl.msEmail.new.user подразумевался собственный чанк, прописанный в статусе заказа, но с дефолтным содержимым, если таковым можно считать содержимое чанка на демо-сайте
Комментарии: 1
Опция определялась. Проблема была в том, что timeweb не отправлял через mail любые письма, содержащие ссылки. Даже var_export($_SERVER, true). И всё это на оплаченном тарифе. Проблема решилась настройкой SMTP
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.