Александр

Александр

С нами с 10 февраля 2015; Место в рейтинге пользователей: #141
Александр
03 августа 2017, 16:53
0
в источнике файлов. Возможно адрес источника не подхватывается. Или делайте свой рендер, подставляя адрес источника, или меняйте источник от корня
Александр
03 августа 2017, 15:57
0
мета тег base url у Вас есть?
Александр
03 августа 2017, 13:19
+1
Как вариант и OnMODXInit. Но лишняя микронагрузка (смена опции) на каждую инициализацию? Может у него там запрос на определение города по ip на сторонний сервер. Зачем OnMODXInit если есть msOnChangeOrderStatus?
Всмысле зачем вызывать всегда, когда не нужно, если можно «когда нужно»? =)
Александр
03 августа 2017, 12:36
+2
echo $modx->getOption('ttest');
echo "< br >";
$modx->setOption('ttest', '999');
echo $modx->getOption('ttest');
Результат:
7
999
Тестировал код из консоли. При повторном выполнении — результат тотже.
Из чего следует, что опция проставляется только на время выполнения скрипта.

Логическим путем пошел в код ms2. Нам нужно куда-то вклиниться в процесс отправки писем.
Ближайший эвент перед отправкой писем: msOnChangeOrderStatus
Пишем плагин:
switch ($modx->event->name) {
    case 'msOnChangeOrderStatus':
        $modx->setOption('ms2_email_manager', 'Нужный email');
    break;
}
Итог:
Email менеджера подменился и письмо ушло на 'Нужный email'.
Настройка ms2_email_manager осталась неизменной
Александр
03 августа 2017, 11:00
0
надеюсь все-таки через годик переберусь в питер =) Если новое место через год вдруг появится — пишите)
Александр
01 августа 2017, 16:53
+1
Блин, честно, продал бы почку, на эти деньги бы свалил из проклятой столицы на такие условия и отдавал бы душу за такую работу.
Жена последний курс МАРХИ заканчивает, завязаны на учебе вместе…
Александр
01 августа 2017, 16:46
+2
Уже предвижу цепочку…
Делаю тот самый модуль для б24 => начальству не нравится => следует увольнение => переезжаю в питер
А вообще если переезжать, то как Василий, ближе к морю. Я ему люто завидую (доброй завистью). Не каждый осмелится плюнуть на все, взять семью в охапку и свалить по-дальше.
Александр
01 августа 2017, 16:20
+2
Ох, жаль не в МСК…
отсутствие лэндингов и сайтов визиток;
Ребята, вы знаете, что предложить =)
Александр
20 июля 2017, 12:58
0
в ms2 есть 2 сниппета:
msOptions — для свойств товаров с возможностью выбора
msProductOptions — для статистических свойств товара
Александр
14 июля 2017, 11:32
+1
Так вот, браузеры запоминают такие запросы, и при повторном обновлении страницы идёт новый запрос на добавление товара.


Именно такое поведение и описано в вопросе
добавление последнего добавленного товара в корзину при обновлении страницы
Точнее может сказать только автор, поглядев у себя в консоль браузера.
Пардон, вчитался, про добавление последнего товара не обратил внимания.
Александр
14 июля 2017, 11:28
+1
ставите тип вывода «Текст», далее создаете плагин на событие OnDocFormSave:
switch ($modx->event->name) {
    case 'OnDocFormSave':
			$directory = 'images'; //Имя директории
			$tvName = 'image'; //Имя TV
			$tv = $modx->getObject('modTemplateVar', array('name' => $tvName));
			$curTv = $tv->getValue($resource);
			if (!preg_match('/'.$directory.'\//',$curTv)){
                              if(!$resource->setTVValue($tvName, $directory.'/'.$curTv)) {
                                 $modx->log(modX::LOG_LEVEL_ERROR, 'There was a problem setting the TV value.');
                              }
			}
        break;
    default:
        return;
}
При сохранении документа плагин проверяет встречается ли имя нужной директории в папке, если нет, то дописывает в ТВ нужную директорию. Кстати, даже после дописанной директории в админке превью также выводится.
Александр
13 июля 2017, 18:59
0
Если POST никто не отправляет, как параметры POST передадутся?
Александр
13 июля 2017, 18:54
+1
В настройках товара может быть только ОДИН родитель.
Поменяйте родителя на подкатегорию.
Modx не знает, из какой категории перешел посетитель. Может он вообще по прямой ссылке прошел.
Александр
13 июля 2017, 18:44
0
Создайте простой сниппет, который будет отлавливать GET параметры и создавать заказ на основе GET параметров. Отправляете с формы на страницу этого сниппета, сниппет создает заказ и предлагает его оплатить.
Александр
13 июля 2017, 18:39
+1
Вас не смущает, что я дал ссылку?
В чанк tpl.Tickets.sections.row смотрели?
Создайте свой чанк tpl, как Вам нужно.
Александр
13 июля 2017, 18:36
+1
P.S.
Я понимаю, что в чанках, вызовах сниппетов и т.д., я сам могу дописывать путь к [[*img_1]] или [[+img_1]], но это, мягко говоря, совсем не устраивает.
А вы пробовали не дописывать путь?
Логика MODX построена так, что при работе с TV система смотрит на
baseUrl: images/
у источника файлов.
После этого берет этот baseUrl и дописывает туда значение из img_1.
Текстовые редакторы в modx делают по-иному. При добавлении картинки в контент — также смотрят на baseUrl, но уже при выборе картинки дописывают baseUrl автоматом. В итоге при вставке того же TinyMCE у Вас вставится
images/other/test.jpg
автоматически.
Александр
13 июля 2017, 18:28
0
Загадка, если доступы в ЛС скините — могу посмотреть. Очень любопытно.
Александр
13 июля 2017, 18:16
0
Товар в ms2 — это обычный документ MODX.
Ставите свой плагин на OnBeforeDocFormSave.
В плагине проверяете:
if ($resource instanceof msProduct) {
Ваши действия с товаром
}