Евгений Дурягин

Евгений Дурягин

С нами с 15 декабря 2012; Место в рейтинге пользователей: #332
Евгений Дурягин
27 августа 2014, 17:45
+1
ClientConfig грузит параметры в плагине на событие OnHandleRequest.
А ShopKeeper при Ajax видимо данное событие не вызывает.

Если ShopKeeper вызывает какие-нибудь события при запросе нужного ajax, то можно написать плагин на эти события и грузить настройки ClientConfig самому (код можно взять из плагина ClientConfig).
Если нет, то только вклиниваться в код ajax обработчика.
Евгений Дурягин
13 августа 2014, 14:58
1
+1
А зачем их удалять, чем они мешают? :)
К тому же эти настройки были и в версии 2.2. А устарели они в связи с введением источников файлов.
Евгений Дурягин
13 августа 2014, 14:48
+2
Сомневаюсь, что у сотрудников в Яндексе отключены куки.
Это наверное 90% интернет-магазинов перестанет работать.
Мне кажется проблема в чем-то другом.
К тому же (если видео не смонтировано) видно начиная с 17 секунды что у него корзина пустая, а при переходе на другую страницу вдруг оказывается что в ней 1 товар.
А чуть дальше он добавляет товар в корзину и товаров в мини-корзине становится 2.
Что значит нет куков. Это значит при любом запросе будет пустая корзина.
Кол-во товаров в корзине минишоп возвращает, а не считается на JS.
Так что при отсутствии кук 2 товара в корзине никак быть не может.

Первое что я заметил и попробовал бы поменять:
1. Сайты baltgaz.ru и baltgaz.ru/shop/ хоть и разные, но домены одинаковые и используют одно имя для сессионной куки — PHPSESSIONID. Не знаю влияет ли это, но я бы на одном из сайтов указал другое имя. Имя можно указать в настройке MODX session_name

2. Нет редиректа с www.baltgaz.ru/shop/
Если добавить что-то в корзину на сайте без www и перейти вручную на домен с www, то корзина очищается. Но ссылки по прежнему введут на baltgaz.ru/shop/
Может в этом все дело? Нужно оставить какой-то один сайт.
Евгений Дурягин
07 августа 2014, 23:13
+1
Если сервер это Denwer/OpenServer итд и ни один пакет не качается из репозитория SD, то я на 90% уверен что это из-за SSL.
В этих сборках вроде не хватало файла корневых сертификатов.
Нужно или как-то подсовывать этот файл.
Или вносить изменения в MODX и добавлять curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false), что в MODX врят ли сделано.
Евгений Дурягин
07 августа 2014, 22:38
0
Сделать хук, например alternateSMTP, в параметрах FormIt указать перед хуком email
В хуке прописывать нужные параметры
$modx->setOption('mail_smtp_hosts', 'mail.ru');
$modx->setOption('mail_smtp_pass', 'qwerty');
В теории должно сработать
Евгений Дурягин
04 августа 2014, 20:17
0
Через parse_url можно получить компоненты URL
Через parse_str можно распарсить параметры в массив
Поменять в массиве нужные значения и собрать обратно в строку через http_build_query
Затем собрать URL.
Можно использовать http_build_url, но нужно PECL ставить
Евгений Дурягин
04 августа 2014, 13:53
0
Открыть консоль браузера и посмотреть что в запросе на сервер уходит при сохранении.
У комбобокса должен быть параметр hiddenName: 'forres'
Евгений Дурягин
21 июня 2014, 22:41
+1
Пробовали. Если нужно в тесте поменять один чанк, то все работает из коробки. Единственно что код отправки в Google Analytics старый, если на сайте установлен новый счетчик Universal Analytics, то уже самим допиливать.

Если нужно в тесте менять в 2-х местах, например в шапке и подвале сайте, то приходится идти на некоторые хитрости. Возможно для таких случаев предусмотрен режим теста со сменой шаблона, но если на сайте несколько шаблонов и тест нужен на всех страницах, то дублировать все шаблоны не очень удобно.
Плюс почему-то не предусмотрен функционал отключения теста. Т.е. у теста есть чекбокс «Active», но если тест выключить и вызвать сниппет с этим тестом, то будет выдаваться ошибка, что тест не активен. Смысл этого чекбокса мне не понятен.
Аналитикой от компонента не пользовались, все данные отправляли в Google Analytics и анализировали там.
Евгений Дурягин
19 мая 2014, 15:51
0
Не совсем понял что и куда вы ставите.
Из PR можно посмотреть какие файлы меняются и перенести изменения в текущую версию Ace.
Там всего добавляются 2 новых файла и пара строк в плагин Ace.
Евгений Дурягин
19 мая 2014, 14:43
0
Этот PR добавляет свой тип TV github.com/danyaPostfactum/modx-ace/pull/9
Но насколько совместим с текущей версией Ace не знаю
Евгений Дурягин
11 апреля 2014, 13:18
+1
Можно обойтись и без объекта, используя xPDOFileVehicle
Можешь посмотреть как сделано у меня в драйвере для Swift github.com/evd/modx-swift/blob/master/_build/build.transport.php#L54
Евгений Дурягин
05 апреля 2014, 16:17
0
Swift для Google не подходит, там другой API
Евгений Дурягин
02 апреля 2014, 22:56
0
Попробуйте в источнике
"zc":0, "far": 0
Евгений Дурягин
18 марта 2014, 15:48
0
Кстати, нашел параметр clearFieldsOnSuccess, по умолчанию 1
Если в вызове FormIt указать 0, то значение очищаться не будут. Тогда можно ставить и через $hook->setValue()
Евгений Дурягин
18 марта 2014, 15:41
+1
Если есть какие-нибудь ошибки в форме, то FormIt автоматом добавляет плейсхолдеры из значений формы (точнее из $hook->getValues). Это сделано чтобы значения в форме не терялись при ошибке в одном из полей.
Но если в форме ошибок нет, то FormIt этого НЕ ДЕЛАЕТ. Устанавливает только fi.successMessage и подобные плейхолдеры.

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

<?php
$modx->setPlaceholder($modx->getOption('placeholderPrefix', $formit->config, 'fi.') . 'status', "test");
return true;
Евгений Дурягин
27 февраля 2014, 00:54
0
Нужный пользователь передается в параметрах события
$id это id пользователя, которого активировали, а $user — объект modUser этого пользователя
Т, е. чтобы отправить пользователю письмо достаточно в плагине на OnUserActivate написть:
$user->sendEmail('Hello', array('subject'=>'Активация'));
Евгений Дурягин
25 февраля 2014, 22:09
0
Да, MODX не проинициализирован
В коннекторе вроде все верно.

В JS baseParams: { action: 'mgr/course/getlist' } все-таки с маленькой буквы?
В процессоре имя класса в конце указано, как в modExtra?
github.com/bezumkin/modExtra/blob/master/core/components/modextra/processors/mgr/item/getlist.class.php#L36
Евгений Дурягин
25 февраля 2014, 21:00
0
А в connector.php что?
В modExtra путь к процессору указывается там https://github.com/bezumkin/modExtra/blob/master/assets/components/modextra/connector.php#L16
Евгений Дурягин
25 декабря 2013, 12:38
0
вызывал в тестовом сниппете.
Так делать бесполезно. Когда выполняется сниппет ресурс уже загружен из кэша и загружается с ключем resource, а не resource/pjax.
В лучшем случае документ будет всегда браться из базы, т.к. в кэше не будет находить (берется то он с ключем resource, а сохранятся будет с ключем resource/pjax), в худшем документ будет не с тем шаблоном.

Надо обязательно делать это в плагине, и на событии которое вызывается до загрузки документа

В плагине вызываю через объект самописного класса
Не понял что именно вызываете, setOption?