Артур Шевченко

Артур Шевченко

С нами с 24 мая 2019; Место в рейтинге пользователей: #3
Отправить деньги
31 августа 2022, 20:46
0
Лезть в исходники необязательно, повесь на checkbox и radio обработчик события change и скрывай ошибки.
30 августа 2022, 18:54
0
Или так
$data = new FormData();
$data.append('alias', JSON.stringify(ali));
...
body: $data
А на сервере $alias = json_decode($_POST['alias'],1);
30 августа 2022, 16:27
0
Дополню, одного minishop'а для полноценного перехода на Modx 3 мало, нужно ещё и другие компоненты переводить: калькуляторы доставки, модули оплаты и прочие плюшки. Поэтому если на релиз самого MiniShop3 можно рассчитывать осенью, то что с остальным непонятно. В этой связи идёт работа не только над MiniShop3, но и над улучшением MiniShop2.
30 августа 2022, 12:32
0
А ты проверял есть на сервере $_POST['alias']?
29 августа 2022, 18:50
0
Имей в виду, если обновишь minishop2 все эти изменения слетят.
29 августа 2022, 18:48
0
У меня на андройде долгое нажатие открывает контекстное меню и открыть на редактирование получается, но сохранить изменения не получается, т.к. окно слишком низко и кнопки сохранить просто не видно и прокрутить не получается. Да и вообще на телефоне админка работает ужасно, не представляю как ей можно продуктивно пользоваться. Рекомендую не мучаться и работать с ПК.
29 августа 2022, 18:42
0
Если нужно передать несколько значений из чекбоксов с одинаковым именем, то имя должно быть my_tv[] и на сервере искать $_POST['my_tv'] — это будет массив.
29 августа 2022, 18:38
0
Есть вероятность что дело в типе поля в БД оно просто не вывозит такое количество символов.
29 августа 2022, 18:37
0
Легко. В форму добавить
<input type="hidden" value="Какое-то значение" name="hidden-field">
25 августа 2022, 11:53
0
Судя по коду при расчёте стоимости доставки размеры не учитываются.
24 августа 2022, 10:43
+1
Логика подсказывает, что нужно применить фильтры и скопировать полученный url. НО скорее всего фильтрация происходит прям на сервере в SQL-запросе и тогда никакой ссылки на отфильтрованные записи просто нет, и надо самому добавлять get-параметры и писать код который их обработает.
23 августа 2022, 23:52
0
Если форма не отправляется, должны быть ошибки.
23 августа 2022, 22:56
0
Самый простой вариант сделать ещё одно поле и в него с помощью js записывать значения выбранных чекбоксов.
23 августа 2022, 18:53
+2
Попробуй параметры processTVs и prepareTVs
23 августа 2022, 18:51
0
Параметр validate в FormIt не понимает квадратные скобки, ну и как следствие если ты уберёшь, то для вывода ошибку нужно будет отдельный блок создать с классом .error_provides
20 августа 2022, 10:39
+1
Вероятно потому, что modx не знает где его искать. Думаю эта заметка поможет.
17 августа 2022, 21:06
0
Чтобы происходил поиск по имени категории, нужно добавить товару поле с этим значением. Что касается сообщений, то для первого нужно
[[!mSearch2:default=`999999`?returnIds=`1`&limit=`0`&minQuery=`2`]]
сохранить в плейсхолдер и проверить его на пустоту. А два других вроде из формы как их сюда включить не знаю.
16 августа 2022, 10:55
0
Велика вероятность, что в [[*imgBlogDetails]] относительный путь, а для турбо-страниц нужен абсолютный. Попробуйте так
<img src="[[++site_url]][[*imgBlogDetails]]" alt="[[+pagetitle]]">
14 августа 2022, 21:31
1
0
Тикет это ресурс. У ресурса есть поле createdby, которое содержит Id пользователя создавшего тикет. У каждого пользователя, есть поле email. Так же modx генерирует системные события, в частности при сохранении ресурса возникает событие OnDocFormSave. Соответственно, нужно при сохранении ресурса проверять значение поля published у сохраняемого ресурса, если оно true, то нужно получить email пользователя и отправить ему уведомление. Ниже сниппет, который может это сделать
<?php
if(!isset($chunk)){
    $modx->log(1, 'Письмо не отправлено. Не передеан чанк');
    return false;
}

if(!isset($to)){
    $modx->log(1, 'Письмо не отправлено. Не передеан email получателя');
    return false;
}else{
    $to = explode (',',$to);
}

if(!isset($subject)){$subject = 'noreply@'.$_SERVER['HTTP_HOST'];}
if(!isset($from)){$from = 'noreply@'.$_SERVER['HTTP_HOST'];}
if(!isset($reply)){$reply = $from;}
if(!isset($fromName)){$fromName = $modx->getOption('site_name');}
if(!isset($params)){
    $params = array();
}elseif(!is_array($params)){
    $params = json_decode($params, 1);
}

$pdoTools = $modx->getService('pdoTools');
$modx->getService('mail', 'mail.modPHPMailer');

$message = $pdoTools->getChunk($chunk, $params);
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_FROM, $from);
$modx->mail->set(modMail::MAIL_FROM_NAME, $fromName);
$modx->mail->set(modMail::MAIL_SUBJECT, $subject);
foreach($to as $t){
    $modx->mail->address('to',$t);
}
$modx->mail->address('reply-to', $reply);
if(isset($attachment)){
    $modx->mail->attach($attachment);
}

$modx->mail->setHTML(true);
if (!$modx->mail->send()) {
    $modx->log(1,'При отправке письма произошла ошибка: '.$modx->mail->mailer->ErrorInfo);
}

$modx->mail->reset();

Пример вызова
$modx->runSnippet('sendEmail', array(
    'subject' => $hook->formit->config['emailSubjecct'], // тема письма
    'to' => $hook->formit->config['emailTo'], // email получателя
    'from' => $hook->formit->config['emailFrom'], // email отправителя
    'chunk' => $hook->formit->config['emailTpl'], // чанк письма
    'params' => $_POST // параметры, которые передаются в чанк письма
));
14 августа 2022, 21:21
+1
Поставьте пробелы после {, которые внутри пикселя.