W.H.I.T.E

W.H.I.T.E

С нами с 09 января 2019; Место в рейтинге пользователей: #662
W.H.I.T.E
31 октября 2023, 03:25
+2
Баха очень хорошо пишет.
W.H.I.T.E
30 октября 2023, 10:41
+2
Надеюсь, что кто-то возьмет из сообщества и допилит компонент. SeoFilter2 готов покупать за деньги.
W.H.I.T.E
17 февраля 2023, 11:30
0
Еще как идея сделать установку максимального значения. Пример на скрине.
prnt.sc/OUzPOh4TR2xh
W.H.I.T.E
15 декабря 2021, 12:10
+1
Спасибо, еще вариант codepen.io/marinaroaugusto/pen/JaxZLQ
W.H.I.T.E
15 декабря 2021, 12:06
0
Привет, все привязано. И все равно не работает.
W.H.I.T.E
15 декабря 2021, 11:16
0
Тоже самое…

Could not generate encryption key
Vehicle c0ae0c04cda63f3d2aca3d3c26835892 in transport printpdf-1.1.0-pl failed to install and indicated the process should be aborted.
Невозможно установить пакет с подписью: printpdf-1.1.0-pl
W.H.I.T.E
16 июля 2020, 12:50
0
Гениальная мысль.
{$_modx->regClientCss('assets/template/css/center-head-2.css')}
А склеивать и минифицировать в один CSS не нужно?
W.H.I.T.E
06 июля 2019, 18:52
0
Бокал пива за рабочее решение гарантирую
W.H.I.T.E
06 июля 2019, 12:15
0
<?php
// инициализируем переменную output, отвечающую за результат работы хука, со значением true
    $output = true;
    // разрешённые расширения файлов
    $allowedExt = array('jpg','png','svg', 'pdf', 'jpeg');
    // максимальный размер файла (1024 Кбайт)
    $maxFileSize = 1024 * 1024;
    // если ассоциатианый массив $_FILES[$keys] существует, то
    if(isset($_FILES[$key]["error"])) {
      // переберём все файлы (изображения)
      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)) {
            // файл имеет недопустимый тип
            $errorMsg = 'Файл ' . $fileName . ' имеет не разрешённый тип.';
            $validator->addError($key, $errorMsg);
            $output = false; // возвращаем false
            break;
          }
          if($fileSize > $maxFileSize) {
            // файл имеет размер больше максимального
            $errorMsg = 'Файл '. $fileName .' имеет не разрешённый размер.';
            $validator->addError($key,$errorMsg);
            $output = false; // возвращаем false
            break;
          }
        } else {
          // произошла ошибка при загрузке файла на сервер
          $errorMsg = 'Произошла ошибка при загрузке файла ' . $fileName .' на сервер.';
          $validator->addError($key,$errorMsg);
          $output = false; // возвращаем false
          break;
        }
      }
    }
    return $output;
Решение на проверку файла, может в нем трабл

{$_modx->runSnippet('!AjaxForm', [
                        'snippet' => 'FormIt',
                        'form' => 'leadFormTpl',
                        'preHooks' => 'referer',
                        'hooks' => 'spam,email,FormItSaveForm',
                        'customValidators'=> 'formit2checkfiles',
                        'emailTpl' => 'tpl.lead',
                        'emailSubject' => 'Расчет стоимости',
                        'emailFrom' => $_modx->config.emailsender,
                        'emailFromName' => $_modx->config.site_name,
                        'emailTo' => '',
                        'validate' => 'name:required,adress:required,email:email:required,uploads:formit2checkfiles',
                        'validationErrorMessage' => 'Ошибки при заполнении формы',
                        'successMessage' => 'Заявка на запрос стоимости доставлена. С вами свяжутся!'
                    ])}
W.H.I.T.E
06 июля 2019, 12:11
0
если к форме не прикреплять ничего, тоже 2 раза приходит…
W.H.I.T.E
06 июля 2019, 11:54
0
Когда смотрю в FormIt админку с формами отправленными, вижу вот такой цуд.
prntscr.com/obbtnx
W.H.I.T.E
06 июля 2019, 11:52
0
'preHooks' => 'referer',
'hooks' => 'spam,email,FormItSaveForm'
Без прехука вроде тоже 2 раза шлет
Прехук
<?php
$hook->setValue('ref', $_SERVER['HTTP_REFERER']);
return true;
Типо в скрытый инпут тянем реф и потом его на мейл шлем {$ref}
W.H.I.T.E
27 июня 2019, 17:18
0
Сохрани в переменную, {set $rez = $old_price — $price}, и выводи {$rez}
W.H.I.T.E
27 июня 2019, 17:11
0
<div class="col-sm-6">
                <form class="form-horizontal ms2_form" method="post">
                    <input type="hidden" name="id" value="[[*id]]" />
                    <div class="product-single-summary">
                        <div class="price">[[+price]] [[%ms2_frontend_currency]]</div>
                        <p>[[*introtext]]</p>
                        <div class="quantity">
                            <div class="row">
                                <div class="col-md-4" style="padding-left: 0px;">
                                    <input class="input-sm form-control" type="number" name="count" id="product_price" value="1" />[[%ms2_frontend_count_unit]]</div>
                                <div class="col-md-4">
                                    <button type="submit" class="btn medium rectangle btn-royalblue" name="ms2_action" value="cart/add">Добавить</button>
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
            </div>

Пример одного товара. Прошу помочь с миникарзиной — что конкретно нужно, корзина или товар? А что мешает посмотреть код стандартных чанков, да там fenom, но все же.
W.H.I.T.E
09 января 2019, 13:53
0
По сути все тоже самое, что уже есть, только в форме добавить 2 поля:
1-е Выберите Отдел (отделы задаются в админке)
2-е Выберите проблему (Или руками вводим, или выбираем из того что есть, примеры — проблема с принтером, замена мыши и т.д), можно добавить эти поля в админке.

Дальше нужны добавить пару полей в Админку

1) Заявки_по_дате (выбирается диапазон дат) — для генерации отчета
2) Ответственное_лицо (тот человек, кто взял на себя заявку, можно выбрать из списка, ну или назначить), а они уже статус будут менять

В идеале, можно реализовать генерацию отчета для просмотра степени загруженности каждого из сис.админа за указанный период.
Это максимально упрощенная идея, можно что-то подумать про временные шкалы, в которые необходимо решить проблему. Про уведомление о просроченных заявках. Но как по мне, это уже лишнее, ведь юзверю нужно вчера, а загруженность он не знает.
W.H.I.T.E
09 января 2019, 12:58
0
Как идея для следующего вашего компонента — система управления заявками в IT. Пытаюсь сейчас этот компонент приспособить, но много чего не хватает(
Если интересно — могу ниже или в ЛС написать идеальный вариант. Уверен будет спрос.