Всего 125 687 комментариев

Александр Лунегов
19 декабря 2020, 11:26
0
Руслан Алеев и Иван Бочкарев поняли, а вы — нет. Может у Вас какие проблемы? Так же вижу, что для Вас главное — высказаться. Прочитали бы сначала, что предыдущий комментато написал.
Артур Шевченко
19 декабря 2020, 10:54
-3
Понятно, в общем ваше эстетическое начало страдает))) К сожалению не знаю как сообщить разработчикам.
Александр Лунегов
19 декабря 2020, 07:35
0
Попробую объяснить.

Раньше MODX, выводя дополнительные поля данных пользователя (Extended User Profiles), «украшал» значения курсивом (добавлял тег <i></i>).


А сейчас он перед выводом зачем-то этот тег экранирует.
Артур Шевченко
18 декабря 2020, 23:46
0
Не редиректит на оплату, потому что в коде этого нет. Вы же не стали расширять класс msOrderHandler, а написали свой сниппет или плагин, который создает объект msOrder, но не использует стандартный класс. Вообще это можно сделать проще. Если быстрый заказ работает для одного товара на просто отправить POST-запрос
$.post(document.location.href, {'ms2_action':'cart/add', 'id': product_id, 'ctx':'web', 'count':1},function(response){
response = JSON.parse(response);
if(response.success){
$.post(document.location.href, {'ms2_action':'order/create', 'id': product_id, 'ctx':'web', 'count':1},function(response){});
}
});
Если нужно предварительно очищать корзину, то обернуть всё в ещё один запрос 'cart/clean', ну и в :'order/create' там больше данных передавать надо, можно всю форму целиком, главное чтобы поля были правильно названы.

И вот ещё вариант modstore.pro/packages/integration/msoneclick )))
Артур Шевченко
18 декабря 2020, 23:30
0
Вызывать pdoArchive два раза: первый раз для вывода управления табами, второй для вывода содержимого.
Артур Шевченко
18 декабря 2020, 23:23
+1
Вынужден вас огорчить, провалидиловать поля с таким именем не получится, нужно запараллелить с помощью js cо скрытыми input, у которых будут имена без квадратных скобок, и проверять именно их.
Антон Тарасов
18 декабря 2020, 18:11
0
Есть такое, подтверждаю!
Miša Bulic
18 декабря 2020, 16:03
0


т.е даже если не было никаких изменений, он всегда выскакивает
Miša Bulic
18 декабря 2020, 15:42
+1
Поправьте пожалуйста кнопку вверх в админке, когда товар редактируешь. Даже сразу после сохранения товара он предупреждает что данные будут потеряны. Очень неудобно
Alexandr
18 декабря 2020, 12:01
0
Извиняюсь за беспокойство, нашёл в чем причина была. Не внимательно прочитал мануал. Необходимо было изменить настройки lastmodified.prevent_session и lastmodified.response. Всё заработало, всем спасибо!
Alexandr
18 декабря 2020, 10:38
0
Доброго времени суток. У меня данный плагин так и не заработал. На хостинге SSI отключен. В чем может быть проблема?
Артур Шевченко
18 декабря 2020, 00:12
0
Я пользуюсь, и скинул скрипт, которым в последнем проекте проверял файлы, но правда не для тикетов, для них мне обязательно нужен только один файл и я его загружаю в отдельное ТВ и для него я сделал отдельное поле на фронте, куда вставляю один из загруженных пользователем файлов и которое проверяю через validate. Вы можете сделать так же, т.е. если нужно чтобы был загружен как минимум один файл сделайте отдельный input и в файле files.js при успешной загрузке вставляйте значение в дополнительный input, и этот input проверяйте в параметре validate.
Антон
18 декабря 2020, 00:10
0
не знаете случаем как поставить минимальное количество загружаемых фото, но не более максимального, установленного в системе?
Антон
17 декабря 2020, 23:24
0
и неужели никто, пользуясь тикетами, никогда не озадачивался вопросом подгружены ли фото в поле или нет? и нет стандартных способов проверки этого всего?
Антон
17 декабря 2020, 23:23
0
если упроститься только до проверки подгруженности определенного количества файлов в поле (поле все-таки мультизагрузочное), что нужно для этого в files.js поправить?
Есть интересный пример сниппета, который проверяет количество файлов (до 3х):
<?php
$output = true;
$count_files = 0; // счётчик файлов
$errorMsg = ''; // сообщение об ошибке
$allowedExt = array('jpg','png'); // разрешённые расширения файлов
$maxFileSize = 512 * 1024; // максимальный размер файла (512 Кбайт)
if (isset($_FILES[$key])) {
  foreach ($_FILES[$key]["error"] as $fkey => $error) {
    if ($error == UPLOAD_ERR_OK) {
      $fileName = basename($_FILES[$key]['name'][$fkey]);
      $fileExt = mb_strtolower(pathinfo($fileName, PATHINFO_EXTENSION));
      $fileSize = filesize($_FILES[$key]['tmp_name'][$fkey]);
      if (!in_array($fileExt, $allowedExt)) {
        if (!empty($errorMsg)) {
          $errorMsg .= '; ';
        }
        $errorMsg .= 'Файл ' . $fileName . ' имеет не разрешённый тип.';
        continue;
      }
      if ($fileSize > $maxFileSize) {
        if (!empty($errorMsg)) {
          $errorMsg .= '; ';
        }
        $errorMsg .= 'Файл '. $fileName .' имеет не разрешённый размер.';
        continue;
      }
      $count_files++; // увеличиваем на 1
    } else {
      if (!empty($errorMsg)) {
        $errorMsg .= '; ';
      }
      $errorMsg .= 'Произошла ошибка при загрузке файла ' . $fileName .' на сервер.';
    }
  }
}
if ($count_files < 3) {
  if (!empty($errorMsg)) {
    $errorMsg .= '; ';
   }
   $errorMsg .= 'К сообщению необходимо прикрепить 3 файла!';
}
if (!empty($errorMsg)) {
  $validator->addError($key,$errorMsg);
  $output = false; // возвращаем false
}
return $output;
но в сочетании files:required:snippet он ни фига не работает