Антон

Антон

С нами с 17 ноября 2015; Место в рейтинге пользователей: #534

Группа чекбоков в форме

Создаю ТВ типа чекбокс, ставлю значение Moscow||SPB, внутри формы прописываю:
<div class="form-check">
  <input class="form-check-input" name="provides[]" type="checkbox" value="Moscow">
  <label class="form-check-label" for="Moscow">Moscow</label>
  
  <input class="form-check-input" name="provides[]" type="checkbox" value="SPB">
  <label class="form-check-label" for="SPB">Incall</label>
</div>
Чекбокс может быть выбран как первый, так и второй.
Вызов формы созержит:
&allowedFields=provides
&validate=provides:required[]

Но форма после нажания на кнопку не реагирует. Как правильно прописывать группу чекбоксов внутри формы?
Антон
23 августа 2022, 14:18
modx.pro
1 043
0

Tickets file

Странная дичь стала происходить при отображении формы добавления файла в тикет.
Кнопка Select File отображается как ticket_file_select.
После добавления фото, вместо кнопок delete отображается ticket_file_delete/ticket_file_restore.
Никаких манипуляций не проводbлось с чанками тикета, за исключением удаления из чанка кнопки insert link
<a href="#" class="ticket-file-insert">[[%ticket_file_insert]]</a>
и правки в лексиконе названия select files на select fotos. Откуда он тянет кривые названия?

P/S обновление формы в браузере возвращает нормальные названия кнопок. Но так же не делать постоянно)
Антон
20 августа 2022, 11:38
modx.pro
439
0

Уведомление пользователя о публикации его тикета

Зарегистрированный пользователь создает тикет, тикет падает на проверку администратору. Тикет имеет статус неопубликовано до проверки админом.
Подскажите, как реализовать возможность уведомления пользователя, создавшего тикет, о публикации его тикета на сайте?
Антон
14 августа 2022, 17:21
modx.pro
764
0

Выбор даты из фронта

Подскажите, есть тип тв дата. При выборе из админке все понятно. Как сделать выбор даты из фронта и передачу ее в документ? Как вывести этот чудо календарь на фронте?
Антон
09 августа 2022, 22:27
modx.pro
467
0

Водяной знак в ms2Gallery/tickets

Нужен совет опытных пользователей. На сайте через tickets в связке с ms2Gallery происходит загрузка с фронта изображений изображений в тикет. Сейчас изображения отображаются без водяного знака. Пытался вывести его несколькими способами:

1. Настройкой источника файлов, добавлением параметра fltr:
{wmi|assets/wm/wm.png|C|70|150|150|0}
Т.к. изображения разного формата, прописывать small, mediom не стал. В phpthumbon такая конструкция на другом сайте работает.

2. Выводом непосредственно через phpthumbon:
{if $files?}
    {foreach $files as $file}
<img src="{$file['url']}|phpthumbon:'fltr[]=wmi|assets/wm/wm.png|C|70|150|150|0'" alt="{$file['name']}" title="{$file['name']}">
    {/foreach}
{else}
<img src="assets/img/projects/v-1.png" alt="[[+pagetitle]]" title="[[+pagetitle]]"/>
{/if}
Ни одна из конструкций не зработала. Есть ли униваерсальный способ, чтобы при загрузке фоток из вронта, накладывался знак посередине фото? и в папке с id тикета оставались оригианльные фото + оригинал с наложенным по центру watermarkom? Ресайз не требуется
Антон
07 августа 2022, 20:59
modx.pro
1 103
0

Не отображается &successMsg при регистрации

Настроил форму регистрации на сайте через login. Все работает, но при регистрации не отображается &successMsg, указанный в выводе формы. Стоит 3.4.1/jquery.min.js, в ошибки ничего не падает. Куда копать?
Антон
07 августа 2022, 16:04
modx.pro
348
0

Error 42S22

В логах висит ошибка:
[pdoTools] Error 42S22: Unknown column 'profile' in 'order clause'
Как ее можно убрать?
Антон
04 августа 2022, 23:35
modx.pro
1 266
0

Загрузка файла в tickets

Делаю на tickets каталог с возможностью добавления анкеты зарегистрированным пользователем, проверкой этой анкеты админом и публикацией анкеты после проверки. Анкета после добавления имеет статус не опубликовано, до момента пока админ не проставит галку опубликовано. В анкете застрял на добавлении видео-файла.
ДАНО:
1) TV *video
2) чанк tickets.form.create.tpl создания самой анкеты:
<form class="well create" enctype="multipart/form-data" method="post" action="" id="ticketForm">
...
<div class="col-md-12 col-sm-12 mt-2">
<label for="ticket-photo">Insert video (maximum size 3 Mb, only mp4)</label>
<div class="custom-file">
  <input type="file" class="custom-file-input" name="video" id="video">
  <label class="custom-file-label" for="customFile">Choose video file</label>
  <span class="error" id="error_video"></span>
</div>
</div>
3) чанк tickets.form.update.tpl обновления анкеты после публикации (на случай испарвления)
<form class="well update" method="post" action="" id="ticketForm">
....
<div class="col-md-12 col-sm-12 mt-2">
<label for="ticket-photo">Insert video (maximum size 3 Mb, only mp4)</label>
<div class="custom-file">
  <input type="file" class="custom-file-input" name="video" id="video">
  <label class="custom-file-label" for="customFile">Choose video file [[+video]]</label>
  <span class="error" id="error_video"></span>
</div>
</div>
4) Плагин, который запускается по событию OnBeforeDocFormSave. На OnDocFormSave форма после нажатия сохранить вообще зависает.

<?php
if ($modx->event->name == 'OnBeforeDocFormSave') {
      if($mode == 'new'){  
        if (!empty($_FILES)) { 
             
            $id = $resource->get('id');
            $folder = 'video'; // имя папки куда грузить, должна быть создана (в корне сайта)
            $path = MODX_BASE_PATH.'/'.$folder.'/'; // Путь от корня до нужного места
            $tv_name = 'video'; // имя нашей тв
             
            // все значения файла
            $nameFile = $_FILES['video']['name'];
            $typeFile = $_FILES['video']['type'];
            $tmpNameFile = $_FILES['video']['tmp_name'];
            $sizeFile = $_FILES['video']['size']; 
             
            $limit_size = 3*1024*1024; // 3 Mb - максимальный размер загружаемого файла
            $file_types = array("mp4", "MP4"); // доступные расширения для загрузки
            $extensionFile = substr(strrchr($nameFile, '.'), 1); // получаем расширение файла
             
            $NewNameFile = 'id_'.$id.'_'.date("m_d_y").'.'.$extensionFile;  // наше новое имя файла
             
            if(is_uploaded_file($tmpNameFile)) // проверяем зашёл ли файл
            {
                if($limit_size > $sizeFile)
                { // Проверка на размер
                    if(in_array($extensionFile, $file_types)){ // проверка на тип
                         move_uploaded_file($tmpNameFile, $path.$NewNameFile); // загрузка файла
                         $resource->setTVValue($tv_name, $folder.'/'.$NewNameFile); // запись в ТВ
                    }
                }
            }
        }
    } 
}
5) Создан источник файлов Video и выбран для TV video в настройках самого TV

Проблемы:
1) Видео файл передается в папку video в корне, но не отображается в TV video в самом документе.
2) Видео файл не передается при редактировании формы при tickets.form.update.tpl
3) При создании нескольких анкет файлы в папке видео просто затираются и в паке остается только один последний файл.

Есть ли у кого-то готовый рабочий пример передачи файла через тикет? Думаю, что накосепорил с событием и самимb чанками создани и обновления анкеты. Передаются все ТВ, загрузка изображений через msgallery, но один ТВ файл не хочет заводиться.
Антон
26 июля 2022, 00:49
modx.pro
858
0

Точка в конце url

Сайт стал открываться с точкой в конце домена (site.com.). Все внтуренние ссылки также сопровождаются данной точкой. Стоит SSL сертификат cloudfare, настроенный аналогично другим сайтам, с которыми все норм.
Как убить эту точку в конце домена?
.htaccess выглядит таким образом:
Антон
11 августа 2021, 09:45
modx.pro
555
0

Валидация поля в форме

Пытаюсь прописать валидацию поля на то, чтобы значение поля содержит только буквы. Прописываю в виде:
pagetitle:required:maxLength=^15^:alpha
maxLength отрабатывает, а alpha нет. Поле с цифрами проходит и никакой ошибки в span error не показывает.
alpha это же стандартный валидатор из коробки. Почему он не работает?
Антон
27 января 2021, 12:44
modx.pro
768
0