clientConfig и отправка почты не дружат(

Есть clientConfig и в нем пользователь настраивает на какой адрес сниппет буде слать письмо.

Все вроде просто, но как до дела доходит — начинается мистика))

Опцию получаю так:

$manager_email = $modx->getOption('manager_email', null);

Если потом сделать return $manager_email; — вернет мыло как положено. Но письмо не придет.

Если ту же переменную создать в системных настройках и задать тот же емейл — письмо придет.
Если прямо присвоить переменной нужный мейл — письмо придет.

В логе модикса — тишина.

Вот такая беда. Куда копать не представляю вообще.
Aliaksandr Katlou
09 ноября 2013, 23:34
modx.pro
1 584
0

Комментарии: 9

Alex Zhuravlev
26 августа 2014, 23:56
0
Тоже столкнулся с проблемой, делаю дубликат ключа из системных настроек шопкипера а в итоге при обновлении вижу что значение появляется и сразу пропадает.

Получается так — создаю в clientconfig ключ «shk.ordersumm_delivery»
в плагине доставки шопкипера прописано

//Сумма заказа при которой предоставляется бесплатная доставка
    $ordersumm_delivery = intval($modx->getOption('shk.ordersumm_delivery',null,0));
и дублирую в чанке этот параметр

<span> Test [[++shk.ordersumm_delivery]]  </span>
В результате получаю такую картину, если вывожу параметр внутрь контейнера с id=«shopCart»

<div id="shopCart">
	<span> Test [[++shk.ordersumm_delivery]]  </span>
</div>
то при рефреше страницы я вижу параметр но после загрузки он пропадает, но если убираю id=«shopCart» то все выводит нормально.

В логах и консоли все чисто. Куда копать не понимаю.
    Алексей Ерохин
    27 августа 2014, 00:01
    +1
    У меня была похожая проблема. Скрипт вызывался через cron и не происходило нужного события для простановки настроек (вроде бы onHandleRequest), вызывал это событие вручную в скрипте, настройки появились.
      Alex Zhuravlev
      27 августа 2014, 13:42
      0
      В системных событиях плагина clientConfig стоит «onHandleRequest» а если отключаю то значения из CC вообще не появляются.
      В плагине проверяю на событие
      if ($modx->event->name != 'OnHandleRequest') {return;}
      А как вызвать событие вручную в скрипте?
    Володя
    27 августа 2014, 04:05
    +1
    да глюк такой давно уже наблюдаю, не разбирался почему. На некоторых хостингах работает, на некоторых нет…
      Alex Zhuravlev
      27 августа 2014, 13:24
      0
      Володя а какой именно у тебя глюк возникает, можешь описать.
      Можешь описать конфигурацию хостингов где работает и где нет.
      Нужно еще Марку написать вот только багрепорты собрать.
      Я тестирую в локалке, Apache 2.2 / PHP 5.4
    Alex Zhuravlev
    27 августа 2014, 16:55
    0
    Нашел что в шопкипере проблема появляется если использовать ajax в корзине.
    Когда корзина обновляется, и приходят обновленные данные, то пропадает значение из clientConfig.
    Помогите понять почему так может происходит.

    if(typeof(data.html)!='undefined') jQuery('#shopCart').replaceWith(data.html);
    Как это работает?
      Евгений Дурягин
      27 августа 2014, 17:45
      +1
      ClientConfig грузит параметры в плагине на событие OnHandleRequest.
      А ShopKeeper при Ajax видимо данное событие не вызывает.

      Если ShopKeeper вызывает какие-нибудь события при запросе нужного ajax, то можно написать плагин на эти события и грузить настройки ClientConfig самому (код можно взять из плагина ClientConfig).
      Если нет, то только вклиниваться в код ajax обработчика.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      9