Значит больше ничем просто так не сможем помочь. Может быть что угодно. Могу только предложить платную помощь на вашем сервере (по нашему прайсу — 500 руб/час). Скорее всего за час (максимум два) все это решается. Если интересно, присылайте доступы к админке в личку.
не работает( а логах php ничего нет по ошыбкам( может что нудно от modx api а php файле подключить?
Возможно случайно добавился HTML. Убрал из листинга. В итоге, чистый вызов mail() работает или нет? С проблемой разобрались?
какойо еще html код? это форумский редактор тут сам это вставил
В общем, проблема была как раз там, где я и предполагал. Дело в том, что вэбовский процессор по соображениям безопасности выл дописан таким образом, что получить данные можно только по заказам текущего пользователя. Следовательно, нет пользователя — нечего и получать. А вот получение прочих заказов предполагалось делать через mgr-процессоры, к которым априори внимание по безопасности должно быть выше, то есть использовать их надо очень аккуратно. Но вот в новой версии движка как раз вот этот участок мы и проглядели. Если помнишь, мы ведь все процессоры перевели в папку processors/basket/(web|mgr), а тут еще просто processors/web. Все это явно указывает, что там не по новой системе. Переработается это только в новой версии магазина, а пока просто код-патч шаблона: {* Оплата *} {$modx->regClientCSS("{$template_url}css/robokassa.css")}
{if !$smarty.get.order_id} <h3 class="error">Не был указан ID заказа</h3> {else}
{* Пытаемся получить заказ *}
{assign var=params value=[
"order_id" => $smarty.get.order_id
]}
{*processor action="web/orders/getlist" ns="basket" params=$params assign=result*}
{processor action="basket/mgr/orders/products/getdata" ns="basket" params=$params assign=result}
{if $result.success && $result.object}
{*assign var=order value=$result.object[0]*}
{assign var=order value=$result}
{snippet name="robokassa.getButton" params="shp_order=`{$smarty.get.order_id}`&out_sum=`{$order.sum}`"}
{else}
<h3 class="error">Не был получен заказ</h3>
{/if}
{/if} Исправленное закомментрировано. Сравни с текущим шаблоном (с ошибкой).
Нет. Там же условие OR. В данном случае условие буквально Order
.id
= 71 AND Order
.contractor
= 1 AND Order
.status_id
!= 1.
То есть это твой заказ с id=71 и статусом != 1
Так я не против. Мы пока не дописали, так как были более важные дела. Но ты запросто можешь для себя это дописать, если надо. У нас это в новой сборке скорее всего будет реализовано.
Эти логи ни о чем вообще (это ошибки MODX-парсера, которые к mail() не имеют никакого отношения). Вы смотрите логи самого php.
formit скорее всего работает через phpMailer, который в свою очередь использует sendmail или типа того, а не функцию mail() в чистом виде. Так что смотрите логи php что там у вас не так, и попробуйте внимательно изучить что там использует fromit для отправки писем. 1. Проверьте просто отправку писем через mail() — можете это сделать прям в консоли (вполне вероятно, он у вас уже на сайте установлена). Дело в том, что у вас может просто отправка почты таким образом не работать (не стоит sendmail или типа того). Это проверили или нет? Отправляются письма через mail() в ручном режиме?