vit

vit

С нами с 03 июня 2022; Место в рейтинге пользователей: #172

Динамический input

Доброе утро, помогите решить проблему
добавляю поле в FormIt динамически
но в БД записывается просто Array (а должны все значения из полей)
подскажите куда копать
....
<input type="text" value="[[!+title]]" class="form-control" id="title" name="title[]" placeholder="79991112233">
...
сниппет
if (!$_POST['list']) {
    $processor = '_list/create';
} else {
    $_POST['id'] = $_POST['list'];
    $modx->setPlaceholder('id', $_POST['id']);
    $processor = 'list/update';
   
}
$processorProps = array('processors_path' => $modx->getOption('core_path')
               . 'components/list/processors/');
$response = $modx->runProcessor($processor, $_POST, $processorProps);
if ($response->isError()) {
    $hook->addError('process_error', $response->getMessage());
    return false;
}
return true;
vit
vit
02 ноября 2022, 11:51
modx.pro
757
0

csv загрузка

Здравствуйте, помогите пожалуйста.
Есть форма загрузки файла (создал документ)
И есть обработчик (создал статичный снипет)
код полность работает прсто на сервере но в (MODX не в какую)
<form action="upload.php" method="post" enctype="multipart/form-data">
      <div class="input-group">
        <div class="custom-file">
          <input type="file" class="custom-file-input" id="customFileInput" aria-describedby="customFileInput" name="file">
          <label class="custom-file-label" for="customFileInput">Select file</label>
        </div>
        <div class="input-group-append">
           <input type="submit" name="submit" value="Upload" class="btn btn-primary">
        </div>
      </div>
  </form>
снипет он видит точно так как выдает ошибку и так же знает что есть такая таблица
вот обработчик
<?php
if (isset($_POST['submit']))
{
$fileMimes = array(
        'text/x-comma-separated-values',
        'text/comma-separated-values',
        'application/octet-stream',
        'application/vnd.ms-excel',
        'application/x-csv',
        'text/x-csv',
        'text/csv',
        'application/csv',
        'application/excel',
        'application/vnd.msexcel',
        'text/plain'
    );
 if (!empty($_FILES['file']['name']) && in_array($_FILES['file']['type'], $fileMimes))
    {
 
$csvFile = fopen($_FILES['file']['tmp_name'], 'r');
  fgetcsv($csvFile);
 while (($getData = fgetcsv($csvFile, 10000, ",")) !== FALSE)
            {
                $name = $getData[4];
 $data3 = array('name' => $name); 
    $table = 'modx_test';
    $query = $modx->prepare("INSERT INTO `$table` (`name`) values (:name)");
    $query->execute($data3);

            }
 fclose($csvFile);
}
    else
    {
        echo "Please select valid file";
    }
}
vit
vit
21 октября 2022, 00:11
modx.pro
413
0

Custom validators FormIt

Нашел в документации FotmIt такой снипет
$value = (float)$value;
$success = $value > 1000;
if (!$success) {
    // Note how we can add an error to the field here.
    $validator->addError($key,'Not big enough!');
}
return $success;
Не особо понял где указывать свое поле и как должен выглядеть сама форма и валидатор.
Если не сложно пришлите пожалуйста небольшой пример. Заранее благодарю
vit
vit
16 октября 2022, 11:18
modx.pro
1 335
0

Переменная из Снипита в шаблон

сделал снипет, который передирает таблицу
$sth = $modx->query("SELECT * FROM clients");
print 'Количество клиентов - '.$sth->rowCount();?></br><?
    $result = $sth->fetchAll(PDO::FETCH_ASSOC);
    foreach ($result as $data) {
    $name = $data['name'];
    }
$modx->setPlaceholder('output',$name);
но почему то не хочет выводить ее в шаблоне
[[snipet]]
[[+output]]
что делаю не так
в $name выводятся все поля из БД задача записать каждле в radio кнопки и вывести их
vit
vit
11 октября 2022, 17:27
modx.pro
757
0

PdoPage фильтр

Добрый день, помогите пожайлуйста не могу понять как реализовать фильтр
вывожу через PdoPage
<div id="pdopage">

    <div class="rows">
 [[!pdoPage?
    &class=`BasicSetting`
    &tpl=`tpl.basicSetting`
    &element=`getSheets`
    &limit=`2`
&where=`{"created_by":[[!+modx.user.id]], "title":[[!title]]}`
&ajaxMode=`button`
]]
[[!+page.nav]]
</div>
</div>
как сделать, так чтоб при вводе в то поле
<p>Title: <input type="text" name="title" /></p>
происходила выборка, т.е. записывалось в
&where=`{"created_by":[[!+modx.user.id]], "title":[[!title]]}`
буду благодарен если скинете пример
vit
vit
03 июня 2022, 10:25
modx.pro
769
0