[UserFiles] - Файлы пользователя.

Компонент реализует функцию загрузки файлов пользователями сайта.

Компонент полностью переработан, изменения:
  • загрузчик dropzone
  • загрузка файлов c админки сайта
  • загрузка файлов c фронта сайта
  • редактор изображений cropper
  • динамический ресайз изображений
  • копирование ссылок файлов
  • ...
пример загрузки с фронта location.vgrish.ru/index.php?id=24

вкладки компонента
Рабочая область компонента доступна в нескольких местах.
— ресурс

Класс файлов — modResource. Доступна сортировка списку файла, типу и источнику медиа.

— пользователь
Класс файлов — modUser. аналогично вышеописанному.

— вкладка компонента


Доступна сортировка по списку файла, типу и источнику медиа, так же по классу и идентификатору.

основныые настройки компонента
  • source_default — дефолтный источник файлов
  • working_templates — Список id шаблонов через запятую, для которых нужно активировать вкладку с файлами
  • chunk_link_file — Чанк ссылки на файл
  • disable_for_user — Чанк ссылки на изображение

сниппет ufForm
Вывод формы с загрузчиком файлов.


параметры сниппета
  • tplForm — Чанк формы
  • class — Класс файла
  • parent — Идентификатор родителя
  • list — Имя списка. К нему будет привязан файл
  • active — Показывать только активные файлы.
  • source — Идентификатор источника медиа для загрузки файлов. По умолчанию будет использован источник, указанный в системной настройке «userfiles_source_default».
  • anonym — Разрешить загрузку файлов анонимам
  • sortby — Поле сортировки.
  • sortdir — Направление сортировки.
  • objectName — Имя объекта для инициализации в подключаемом javascript. По умолчанию «UserFilesForm».
  • frontendCss — Файл с css стилями для подключения на фронтенде.
  • frontendJs — Файл с javascript для подключения на фронтенде.
  • jqueryJs — Файл с Jquery для подключения на фронтенде.
  • actionUrl — Коннектор для обработки ajax запросов.
  • toPlaceholder — Если указан этот параметр, то результат будет сохранен в плейсхолдер, вместо прямого вывода на странице.
  • dropzone — Закодированный в JSON массив с параметрами «Dropzone»
  • modal — Закодированный в JSON массив с параметрами «modal»
Теперь формы и инициализация независимы, можно одновременно вызывать неограниченное кол-во.
Для загрузки файлов с фронта пользователю нужно добавить политику UserFilesPolicy.

UserFile доступные поля
parent — идентификатор родителя
class — класс родителя
list — ключ списка файлов
source — идентификатор источника файлов
name — имя файла при загрузке
path — путь к файлу
file — имя файла после загрузки
type — тип файла
size — размер файла
createdon — дата время создания
createdby — идентификатор создателя
url — относительный путь к файлу
active — флаг активен

редактор изображений
В админке сайта доступен редактор изображений.

Можно отредактировать изображение и тут же сохранить.

копирование ссылок файлов
Согласно чанкам указанным в настройках компонента для файлов создаются ссылки.

При клике в буфер обмена будет помещена ссылка на файл и ее тут же можно вставить в текстовый редактор. Достаточно удобно для заполнения.

вывод формы
[[!ufForm?
   &tplForm=`uf.form.sort`
   &list=`image`
   &anonym=`1`
   &dropzone=`{"maxFilesize":2,"maxFiles":3,"acceptedFiles":".jpg, .jpeg, .gif, .png","template":"edit"}`
]]

список файлов
Ранее был сниппет для вывода файлов. В данной версии его нет, так как не вижу в нем необходимости.
Вывести список файлов можно с помощью pdoResources
Пример, выводим список файлов для текущего ресурса и при соединяем превью с размером 222x222

[[!pdoResources?
    &limit=`10`
    &showLog=`0`
    &class=`UserFile`
    &loadModels=`UserFiles`
    &sortby=`rank`
    &sortdir=`ASC`
    &tpl=`@INLINE 
    <div class="item">
        <a href="[[+url]]" target="_blank">[[+name]] - [[+size]]</a>
    </div>`
    &where=`{
        "UserFile.parent":[[*id]],
        "UserFile.createdby":[[!+modx.user.id]]
    }`
    &leftJoin=`{
	"Thumb": {
		"class": "UserFile",
		"on": "Thumb.parent = UserFile.id AND Thumb.properties LIKE '%w\":222,\"h\":222%'"
	}
    }`
    &select=`{
	"UserFile": "*",
	"Thumb": "Thumb.url as thumb"
    }`
]]
список файлов пользователя
[[!pdoResources?
    &limit=`10`
    &showLog=`0`
    &class=`UserFile`
    &loadModels=`UserFiles`
    &sortby=`rank`
    &sortdir=`ASC`
    &tpl=`@INLINE 
    <div class="item">
        <a href="[[+url]]" target="_blank"><img src="[[+thumb]]" title="[[+name]]"></a>
    </div>`
    &where=`{
        "UserFile.class":"modUser",
        "UserFile.parent":[[!+modx.user.id]],
        "UserFile.createdby":[[!+modx.user.id]]
    }`
    &leftJoin=`{
	"Thumb": {
		"class": "UserFile",
		"on": "Thumb.parent = UserFile.id AND Thumb.properties LIKE '%w\":120,\"h\":90%'"
	}
    }`
    &select=`{
	"UserFile": "*",
	"Thumb": "Thumb.url as thumb"
    }`
]]
работа с msProducts
выводим товары и присоединяем первую большую картинку и первую миниатюру
[[!pdoPage?
&showLog=`0`
&element=`msProducts`
&tpl=`products.files`

&loadModels=`UserFiles`
&leftJoin=`{
    "File": {
	    "class": "UserFile",
	    "on": "File.parent = msProduct.id AND File.rank = 0"
    },
    "Thumb": {
	    "class": "UserFile",
	    "on": "Thumb.parent = File.id AND Thumb.properties LIKE '%w\":120,\"h\":90%'"
    }
}`
&select=`{
    "File": "File.url as ufile",
    "Thumb": "Thumb.url as uthumb"
}`
    
]]
галерея файлов
Можно вывести файлы в виде галереи.

<link rel="stylesheet" href="https://yandex.st/jquery/fancybox/2.1.4/jquery.fancybox.min.css" type="text/css" media="screen" />
<script src="https://yandex.st/jquery/fancybox/2.1.4/jquery.fancybox.min.js" type="text/javascript" ></script>
<script>
    $(document).ready(function() {
        $('.fancybox').fancybox();
    });
</script>

<div class="row">
    [[!pdoResources?
    &showLog=`0`
    &limit=`10`
    &class=`UserFile`
    &loadModels=`UserFiles`
    &sortby=`parent,rank`
    &sortdir=`ASC`
    &tpl=`@INLINE 
    <a href="[[+url]]" class="fancybox" rel="gallery" target="_blank"><img src="[[+thumb]]" /></a>
    `
    &where=`{
        "UserFile.parent":[[*id]],
        "UserFile.list":"image"
    }`
    &leftJoin=`{
	"Thumb": {
		"class": "UserFile",
		"on": "Thumb.parent = UserFile.id AND Thumb.properties LIKE '%w\":120,\"h\":90%'"
	}
    }`
    &select=`{
        "UserFile": "*",
	    "Thumb": "Thumb.url as thumb"
    }`
    ]]
</div>
источник файлов
В источник файлов добавлены настройки
  • fileName — маска имени файла
  • thumbnailName — маска имени превью изображения
  • imageThumbnails — массив с указанием превью
{name} — name изображения.
{id} — id изображения.
{class} — class изображения.
{list} — list изображения.
{session} — session изображения.
{createdby} — createdby изображения.
{source} — source изображения.
{context} — context изображения.
{rand} — случайная строка.
{w} — ширина превью.
{h} — высота превью.
{q} — качество превью.
{f} — расширение превью.
Основное вроде все, если что дополню…

параметры dropzone
Указываются в виде json строки, параметр dropzone сниппета ufForm
&dropzone=`{"maxFilesize":2,"maxFiles":3,"acceptedFiles":".jpg, .jpeg, .gif, .png","template":"edit"}`
  • maxFilesize — максимальный размер файла
  • maxFiles — максимальное кол-во файлов
  • acceptedFiles — тип файлов разрешенных к загрузке
вкладка компонента
Для вывода вкладки компонента на странице ресурса нужно указать соответствующий шаблон ресурса в настройке userfiles_working_templates

upd. 11.03.2016
Добавлен редактор на фронт.

ps. Важно! Компонент не совместим со старой версией, только для свежей установки.
В пакет встроена проверка, при попытке установить на старую версию вы получите ошибку.
Володя
26 февраля 2016, 11:25
modx.pro
12
10 993
+11
Поблагодарить автора Отправить деньги

Комментарии: 163

Wassi Wassinen
26 февраля 2016, 15:25
0
Это отличный инструмент! Если бы еще у изображений были теги — было бы совсем интересно.

И зря убрали сниппет для вывода файлов — слишком сложная для простых смертных конструкция джойнов через pdoResources.
    Володя
    27 февраля 2016, 09:59
    0
    Спасибо!
    По сниппету не хочу писать чтоб лишь бы было. Функционально продумаю все варианты, посмотрю.
    По тегам не ясно, если есть желание описать как это по твоему должно работать — trello.com/b/MLRzAKLN/userfiles
    Павел Гвоздь
    26 февраля 2016, 16:19
    0
    Это реально круто! А у меня в планах было реализовать тип ТВ с этим кроппером, уж очень понравился он мне. Опередил. =)
    Андрей Сухомозгий
    26 февраля 2016, 16:23
    +1
    круто!!! а будет версия для front'а поддерживать сортировку перетаскиванием?
      Володя
      27 февраля 2016, 10:00
      0
      А какая в этом необходимость?
        Андрей Сухомозгий
        27 февраля 2016, 13:35
        +1
        с помощью твоего компонента тогда можно будет сделать полноценную галерею к ресурсу из фронта. потому что сортировка картинок, как у Василия в ms2Gallery, перетаскиванием например — это важная часть любой галереи…
        может я не прав, но мне было бы очень тяжело пользоваться компонентом, позволяющим грузить картинки или файлы, но не позволяющим их сортировать
          Володя
          27 февраля 2016, 17:27
          +2
          Обновляйся, теперь с сортировкой на фронте.
          Чтобы активировать сортировку нужно добавить форме атрибут data-sorting=1

          <form class="userfiles-form userfiles-dropzone" id="[[+propkey]]" method="post" action=""
                  data-clickable=".userfiles-form-clickable-[[+propkey]]" data-sorting="1">
          
                  <div class="dz-message needsclick">[[%userfiles_msg_needsclick]]</div>
          </form>
      Jenya Filimonov
      27 февраля 2016, 09:07
      0
      Обновился.
      Теперь
      [2016-02-27 09:04:33] (ERROR @ /index.php) [pdoTools] Error 42S22: Unknown column 'UserFile.mime' in 'field list'
      :(

      Чукча не читатель. Чукча — писатель: ))) Дочитал заметку до конца.
        Володя
        27 февраля 2016, 09:56
        0
        там в таблице не большая разница, несколько колонок лишних и одной не хватает.
        Добавил фикс, теперь можно деинсталировать старый пакет и установить новый — должно все работать.
        Загружу чуть позже в магазин, сейчас что то не получается…
          Сергей Шлоков
          27 февраля 2016, 10:23
          0
          modExtra с некоторых пор умеет добавлять новые поля и удалять ненужные автоматом. И индексы, кстати, тоже.
            Володя
            27 февраля 2016, 11:24
            0
            да, спасибо, я в курсе. Как то пробовал, была какая то ругань.
            Я по старинке руками...)
        Jenya Filimonov
        27 февраля 2016, 17:57
        0
        [2016-02-27 17:54:36] (ERROR @ /assets/components/userfiles/connector.php) Array
        (
            [0] => 42S22
            [1] => 1054
            [2] => Unknown column 'UserFile.context' in 'field list'
        )
        Любое изображение при загрузке — пишет что слишком большое.
        Пытаюсь через Selectel настроить как было на старой версии.
        И в настройках медиа пропали настройки изображения, размеров превью.
          Володя
          27 февраля 2016, 18:17
          0
          Отпиши в ТП или на почту и приложи доступы к админке. Разберусь в чем дело.
          Спасибо!
            Jenya Filimonov
            29 февраля 2016, 09:32
            +1
            Спасибо большое за помощь, Володя!
            Отличный компонент. Отличная поддержка отнявшая у тебя кучу времени (надеюсь и на пользу компоненту, а не только мне))).
            И кстати компонент стал очень даже симпатичным с последним обновлением, внешне.
              Володя
              29 февраля 2016, 10:16
              +1
              Спасибо за положительный отзыв!
              Конечно все на пользу компоненту )))
          Володя
          10 марта 2016, 23:17
          +1
          Добавил редактор на фронт.

          Можно протестировать тут location.vgrish.ru/index.php?id=24
            Володя
            11 марта 2016, 12:19
            0
            Доступно в репозитории — можно обновляться.
              Jenya Filimonov
              20 марта 2016, 12:29
              0
              не очень понимаю где у нас указывается List в вызове для просмотра загруженных файлов (в части с PdoResources).
                Володя
                20 марта 2016, 12:33
                +1
                в where
                &where=`{
                        "UserFile.list":"image"
                }`
                  Jenya Filimonov
                  20 марта 2016, 12:35
                  0
                  Пасибо: )
                    Jenya Filimonov
                    20 марта 2016, 12:50
                    0
                    Еще последний вопрос.
                    Как вот эту часть
                    &tpl=`@INLINE 
                        <div class="item">
                            <a href="[[+url]]" target="_blank">[[+name]] - [[+size]]</a>
                        </div>`
                    Заменить на вывод превьюшек? Текстовым списком картинки выводить не очень хорошо. А у меня получается только превью+картинки вывести.
                      Володя
                      20 марта 2016, 13:03
                      0
                      приджойнить необходимые превью и указать в чанке. Например нам необходимы превью размером
                      222x222
                      &leftJoin=`{
                      	"Thumb": {
                      		"class": "UserFile",
                      		"on": "Thumb.parent = UserFile.id AND Thumb.properties LIKE '%w\":222,\"h\":222%'"
                      	}
                          }`
                      &select=`{
                      	"Thumb": "Thumb.url as thumb"
                          }`
                      в чанке указываем как
                      [[+thumb]]
                        Jenya Filimonov
                        20 марта 2016, 17:59
                        0
                        [[!pdoResources?
                            &limit=`10`
                            &showLog=`0`
                            &class=`UserFile`
                            &loadModels=`UserFiles`
                            &sortby=`rank`
                            &sortdir=`ASC`
                            &tpl=`@INLINE 
                            <div class="item">
                                <a href="[[+url]]" target="_blank"><img src="[[+thumb]]" /></a>
                            </div>`
                            &where=`{
                                "UserFile.list":"gallery"
                                    }`
                            &leftJoin=`{
                        	"Thumb": {
                        		"class": "UserFile",
                        		"on": "Thumb.parent = UserFile.id AND Thumb.properties LIKE '%w\":120,\"h\":90%'"
                        	}
                            }`
                            &select=`{
                        	"Thumb": "Thumb.url as thumb"
                            }`
                        ]]
                        Так выводятся превью. Только клик по ним никуда не ведет: (
                          Jenya Filimonov
                          20 марта 2016, 18:16
                          0
                          Сделал. Вот так работает. Руки у меня такие…
                          [[!pdoResources?
                              &limit=`10`
                              &showLog=`0`
                              &class=`UserFile`
                              &loadModels=`UserFiles`
                              &sortby=`rank`
                              &sortdir=`ASC`
                              &tpl=`@INLINE 
                          <a href="[[+url]]" title="[[+name]]" target="_blank">
                          	<img src="[[+thumb]]" class="userfiles-link-image"/>
                          </a>`
                              &where=`{
                                  "UserFile.list":"gallery"
                                      }`
                              &leftJoin=`{
                          	"Thumb": {
                          		"class": "UserFile",
                          		"on": "Thumb.parent = UserFile.id AND Thumb.properties LIKE '%w\":120,\"h\":90%'"
                          	}
                              }`
                              &select=`{
                          	"UserFile": "*",
                          	"Thumb": "Thumb.url as thumb"
                              }`
                          ]]
                            Володя
                            20 марта 2016, 18:18
                            +1
                            ага, пока писал вы уже разобрались)
                              Jenya Filimonov
                              20 марта 2016, 18:22
                              0
                              Меня только смущает, что во фронте вижу 2 превьюшки свои.
                              Но если смотреть код сгенерированной странички, то там вместо 2 ссылок, делается 4.
                              Сначала правильная ссылка а потом сразу вторая с пустым img
                              <div class="item">
                                      <a href="/assets/userfiles/gallery/modresource/1/e9da1819e6db378f3ecd129116bb9709cc8806ae.skmz.jpg" target="_blank"><img src="/assets/userfiles/gallery/modresource/1/e9da1819e6db378f3ecd129116bb9709cc8806ae.skmz.pfez.120.90.jpg"></a>
                                  </div>
                              <div class="item">
                                      <a href="/assets/userfiles/gallery/modresource/1/e9da1819e6db378f3ecd129116bb9709cc8806ae.skmz.pfez.120.90.jpg" target="_blank"><img src=""></a>
                                  </div>
                              Посмотрел, у вас такого не происходит: ( Где то я опять накосячил.
                                Володя
                                20 марта 2016, 18:31
                                +1
                                добавьте
                                &sortby=`parent,rank`
                                  Jenya Filimonov
                                  20 марта 2016, 18:51
                                  +1
                                  Спасибо! Проблема решена: )
                          Володя
                          20 марта 2016, 18:17
                          0
                          добавьте еще в select
                          "UserFile": "*",
                          будет в итоге так
                          [[!pdoResources?
                              &limit=`10`
                              &showLog=`0`
                              &class=`UserFile`
                              &loadModels=`UserFiles`
                              &sortby=`rank`
                              &sortdir=`ASC`
                              &tpl=`@INLINE 
                              <div class="item">
                                  <a href="[[+url]]" target="_blank"><img src="[[+thumb]]" /></a>
                              </div>`
                              &where=`{
                                  "UserFile.list":"gallery"
                                      }`
                              &leftJoin=`{
                          	"Thumb": {
                          		"class": "UserFile",
                          		"on": "Thumb.parent = UserFile.id AND Thumb.properties LIKE '%w\":120,\"h\":90%'"
                          	}
                              }`
                              &select=`{
                          	"UserFile": "*",
                          	"Thumb": "Thumb.url as thumb"
                              }`
                          ]]
                          можно добавить ссылкам класс
                          class="fancybox"
                          подключить fancybox к примеру
                          <link rel="stylesheet" href="https://yandex.st/jquery/fancybox/2.1.4/jquery.fancybox.min.css" type="text/css" media="screen" />
                          <script src="https://yandex.st/jquery/fancybox/2.1.4/jquery.fancybox.min.js" type="text/javascript" ></script>
                              
                          <script>
                              $(document).ready(function() {
                                  $('.fancybox').fancybox();
                              });
                          </script>
                          и получите работающую галерею, пример тут
                          location.vgrish.ru/index.php?id=24
                Алексей
                24 марта 2016, 19:19
                0
                Возможно ли автоматически поворачивать изображения загруженные с айфона? (по данным EXIF изображения)
                Подобно как сделано тут: modx.pro/solutions/7234-tickets-auto-orientation-when-loading/
                  Володя
                  30 марта 2016, 00:08
                  0
                  Доброй ночи. У меня нет айфона.
                  Напишите на почту, приложите снимки с описанием того где какой поворот изображения. Я попробую сделать.
                  Спасибо!
                  Юрий
                  30 марта 2016, 00:04
                  0
                  Как именно это дополнение обрабатывает файл загружаемого изображения при кроппинге. Я выбираю на картинке область обрезки. Что скрипт делает дальше? Сохраняет обрезанную часть или сохраняет исходное изображение, а в БД заносит координаты выбранной области (так делает image+)?
                  Олег
                  06 апреля 2016, 14:34
                  0
                  После завершения загрузки изображения, оно пропадает из списка

                  <?=$modx->runSnippet('ufForm', array(
                  	"anonym" => '1' ,
                  	"list" => 'image' ,
                  	"tplForm" => 'uf.form' ,
                  	"source" => 8, //    "assets/images/goods/"
                  	"dropzone" => '{"maxFilesize":10,"maxFiles":3,"acceptedFiles":".jpg, .jpeg, .gif, .png","template":"edit"}' ,
                  ))?>
                    Володя
                    06 апреля 2016, 15:43
                    0
                    Не совсем понял что и куда пропадает. Поясните точнее что вы хотите сделать.
                    Если что то не выходит — можно обратиться в ТП.
                      Олег
                      13 апреля 2016, 14:13
                      0
                      В итоге разобрался перелопатив весь код. В итоге теперь он работает с MIGx, создаёт дубликат картинки с вотермаркой по указанному пути, создает имя файла картинки используя alias ресурса, к которому она прикреплена
                      Павел Гвоздь
                      30 мая 2016, 01:02
                      +2
                      Чтобы ufForm не мешал работать нативным модалкам Bootstrap, надо прописать это где-нибудь в шапке:
                      <script>
                          jQuery.Modal = jQuery.Modal || true;
                      </script>

                      Надеюсь автор поправит этот неприятный момент в новой версии.
                        Володя
                        30 мая 2016, 11:26
                        0
                        там неправильная проверка была. Поправил, спасибо!
                        Павел Гвоздь
                        30 мая 2016, 23:47
                        0
                        Володя, а возможно при вызове сниппета как-то отключить ручную сортировку файлов?
                          Николай Загумённов
                          31 мая 2016, 00:39
                          +1
                          Там параметр есть data-sorting=«1», он по умолчанию отсутствует в чанке формы. Он отвечает за сортировку.
                        Алексей
                        23 июня 2016, 15:04
                        0
                        возможно ли изменить родителя изображения с фронта? (к примеру выбрать из выпадающего списка ресурсов сайта, из определенной категории)
                          Володя
                          23 июня 2016, 16:06
                          0
                          теоретически да, возможно, нужно только подправить update процессор, сейчас там родитель перезатирается.
                          Затем сделать подгрузку класса родителя и списка родителей.
                            Алексей
                            23 июня 2016, 16:17
                            0
                            а практически это сколько будет стоить?
                        anton
                        18 августа 2016, 17:18
                        0
                        Можно ли сделать загрузку файлов не на свой сервер, а на амазон s3?
                          Максим Кузнецов
                          18 августа 2016, 19:35
                          0
                          Вкупе со swift — да, без проблем.
                            anton
                            18 августа 2016, 23:02
                            0
                            Спасибо!

                            Мне нужно чтобы пользователи загружали фотографии, при этом для каждого пользователя должна создаваться своя папка, с двумя подпапками, без доступа к другим папкам. Так получится штатными методами?
                              Володя
                              18 августа 2016, 23:26
                              0
                              Указываете нужный список файлов — получите примерно вот такую структуру
                          Максим Кузнецов
                          22 августа 2016, 16:56
                          0
                          Подскажите пожалуйста, можно ли дополнительно классифицировать загруженные изображения, помимо параметра list?

                          Для чего:

                          Я использую UserFiles для прикрепления изображений к комментариям Tickets со следующей логикой:
                          — при первичной загрузки (до публикации комментария), изображения подцепляются к пользователю (modUser) в list вида «comment-(айди ресурса)»
                          — при публикации комментария плагин переопределяет class изображений на modResource (чтобы при удалении или любых других действий с ресурсом, эффект распространялся и на изображения в комментариях) и заменяю list на «comment-(айди комментария)»
                          — при вызове TicketComments цепляю изображения по Thumbs.list = TicketComment.id

                          Все работает хорошо, за исключением того, что в бэкэнде в селекторе выбора list начинает храниться огромное множество вариантов вида «comment-id».
                          Пока решил проблему, расширив стандартную таблицу UserFiles, но было бы очень здорово, если бы из коробки была возможность теггирования или любых других способов дополнительной персонализации изображения.
                            eflit
                            15 октября 2016, 19:08
                            0
                            Доброго времени суток есть проблемка при выводе фото определенного ресурса выводится и фото софсем другого ресурса вот код

                            [[!pdoResources?
                            &limit=`25`
                            &showLog=`0`
                            &class=`UserFile`
                            &loadModels=`UserFiles`
                            &sortby=`parent,rank`
                            &sortdir=`ASC`
                            &tpl=`@INLINE

                            `

                            &where=`{
                            «UserFile.parent»:[[*id]],
                            «UserFile.list»:«img»
                            }`
                            ]]
                            может кто знает как помочь
                              Володя
                              15 октября 2016, 19:23
                              0
                              попробуйте дополнить условие
                              "UserFile.class":"modResource"
                                eflit
                                15 октября 2016, 19:48
                                0
                                Спасибо получилось но вот еще заметил проблему после обновления компонента до последней весии 2.2.8 при загрузке фото к ресурсу фото загружается но после обновления странички из формы пропадает вот код формы как загружаю
                                [[!ufform?
                                &dropzone=`{«maxFilesize»:2,«maxFiles»:1,«acceptedFiles»:".jpg, .jpeg, .gif, .png",«template»:«edit»}`
                                &classFile=`modresource`
                                &list =`priv`
                                &parent=`[[+id]]`
                                &onlyCreatedby=`1`
                                ]]
                                и файл загружается в лист priv и в папку article/id а не modresource/id
                                  Володя
                                  15 октября 2016, 21:50
                                  0
                                  да, есть косяк, завтра с утра поправлю и отпишу.
                                    eflit
                                    15 октября 2016, 21:53
                                    0
                                    Спасибо буду ждать там проблема вся в том что при загрузке фото грузится в article если бы была возможность установить в какой class грузить фото проблема была бы решена
                                      Володя
                                      15 октября 2016, 22:08
                                      0
                                      фото грузится в article
                                      что за article?
                                        eflit
                                        15 октября 2016, 22:16
                                        0
                                        компонент article и получается когда я к нему подгружаю фото то он создает class в list и загружает тут да фото то есть путь загрузки userfile/priv/article/id а нужно чтобы userfile/priv/modresource/id
                                          Володя
                                          15 октября 2016, 22:19
                                          0
                                          да, там в новой версии class правится на class_key с этим все нормально. А в сниппете у вас modresource. Завтра фикс какой-нибудь сделаю.
                                            eflit
                                            15 октября 2016, 22:24
                                            0
                                            Да все нормально разобрался со всем спасибо тупанул немного )
                              eflit
                              17 октября 2016, 12:32
                              0
                              Добрый день скажите есть такая возможность наложения логотипа на фото при выводе?
                                Володя
                                17 октября 2016, 13:44
                                0
                                при выводе? Наверно можно с помощью phpthumb.
                                modx.pro/search?query=phpthumb+вотермарк
                                  eflit
                                  17 октября 2016, 14:40
                                  0
                                  что то не выходит

                                  [[!pdoResources?
                                  &limit=`25`
                                  &showLog=`0`
                                  &class=`UserFile`
                                  &loadModels=`UserFiles`
                                  &sortby=`parent,rank`
                                  &sortdir=`ASC`
                                  &tpl=`@INLINE

                                  alt="[[+name]]" src="[[+url:phpthumbof=`&w=744&h=370&zc=1&q=60&fltr[]=wmi|/path/to/image.png|BR|70|5|5|0`]]" data-image="[[+url]]" data-description="[[+name]]"`

                                  &where=`{
                                  «UserFile.parent»:[[*id]],
                                  «UserFile.list»:«img»,
                                  «UserFile.class»:«modResource»
                                  }`
                                  ]]
                                    Володя
                                    17 октября 2016, 14:55
                                    0
                                    — используйте тег code для оформления сообщений
                                    — попробуйте создать обычный чанк а не INLINE
                                eflit
                                26 октября 2016, 15:22
                                0
                                подскажите пожалуйста можно как-то реализовать сжатие фото при загрузке? чтобы они принимали размер допустим 800х600.
                                  Володя
                                  26 октября 2016, 16:46
                                  0
                                  добавьте параметр imageMainThumbnail в источник медиа и задайте ему необходимые параметры
                                  например
                                  {"w":800,"h":800,"q":90,"zc":"1","bg":"fff"}
                                  Азамат
                                  01 ноября 2016, 23:57
                                  0
                                  Подскажите, пожалуйста, как из фронтэнда корректно удалить уже загруженное изображение? Возможно ли, чтоб в области загрузки были все файлы для этого ресурса?
                                    Володя
                                    02 ноября 2016, 08:35
                                    0
                                    так они и так доступны для удаления в форме загрузки. Или я не понял что вам необходимо.
                                      Азамат
                                      02 ноября 2016, 10:31
                                      0
                                      разобрался! прошу прощения, проигнорировал параметр «list». больше ничего и не надо — отличное дополнение!
                                    eflit
                                    08 ноября 2016, 14:21
                                    0
                                    Подскажите возможно как то сделать при выводе фото чтобы формировался и кеш md5 фотографии
                                      Володя
                                      08 ноября 2016, 14:39
                                      0
                                      у файла есть поле hash используйте его.
                                      Или объясните подробнее что необходимо.
                                        eflit
                                        08 ноября 2016, 15:04
                                        0
                                        Смотрите я вывожу файлы (фото)
                                        [[!pdoResources?
                                            &limit=`25`
                                            &showLog=`0`
                                            &class=`UserFile`
                                            &loadModels=`UserFiles`
                                            &sortby=`parent,rank`
                                            &sortdir=`ASC`
                                            &tpl=`Planthotoirrby`
                                        
                                            &where=`{
                                        "UserFile.parent":[[+id]],
                                        "UserFile.list":"plan",
                                        "UserFile.class":"modResource"
                                            }`
                                        ]]
                                        код чанки Planthotoirrby
                                        <foto-remote md5="[[+url:phpthumbon=`w=800&h=600&zc=1&fltr[]=wmi|/assets/wlogo.png|BR|70|5|5|0`:md5]]" url="[[+url:phpthumbon=`w=800`]]"/>
                                        там где url выводится путь к файлу а где md5 там нужно чтобы выводился md5 кеш файла.

                                          Андрей П
                                          08 ноября 2016, 15:59
                                          0
                                          Позвольте поинтересоваться, зачем Вам phpthumbon? Разве средствами UserFiles нельзя сделать вывод картинок нужного разрешения?
                                            eflit
                                            08 ноября 2016, 16:12
                                            0
                                            можно но тут момент есть у меня уже много загруженных фото нужно чтобы они выводились так будет ли работать на все фото которые уже загружены я так понимаю размер формируется при загрузке.
                                            Володя
                                            08 ноября 2016, 20:34
                                            0
                                            от чего вам нужно брать md5? и зачем?
                                        Антон
                                        Антон
                                        25 ноября 2016, 02:30
                                        0
                                        Есть возможность простой загрузки файлов без редактора? Например, тот же jpg.
                                        Нужно чтобы к товару добавлялась только ссылка на файл.
                                          Володя
                                          25 ноября 2016, 07:41
                                          0
                                          конечно. Редактор вызывается через меню.
                                            Антон
                                            Антон
                                            25 ноября 2016, 21:44
                                            0
                                            А можно настроить без плясок с бубном чтобы файлы сразу на селектел заливались?
                                            А в товар приходила только ссылка на файл.
                                            Желательно с размером.
                                              Володя
                                              27 ноября 2016, 10:12
                                              0
                                              настроить медиасорс под селектел и назначить его по умолчанию.
                                          eflit
                                          02 декабря 2016, 03:37
                                          0
                                          md5 нужен для того чтобы при выгрузке через xml выдавался md5 фото и при обновлениях не возникало вопросов с фото. md5 код фото формирую через сниппет код сниппета мб кому пригодится
                                          return md5_file($scriptProperties['file'])
                                            Володя
                                            02 декабря 2016, 08:43
                                            0
                                            хорошо что разобрались.
                                            eflit
                                            03 декабря 2016, 17:58
                                            0
                                            Подскажите обновил компонент до последней версии и теперь при загрузке фото выдает

                                            [2016-12-03 17:59:28] (ERROR @ /home/cyzja/www/phpbbfor/core/xpdo/xpdo.class.php: 1318) Could not get table class for class: modresource
                                            [2016-12-03 17:59:28] (ERROR @ /home/cyzja/www/phpbbfor/core/xpdo/xpdo.class.php: 1287) Could not get table name for class: modresource
                                            [2016-12-03 17:59:28] (ERROR @ /home/cyzja/www/phpbbfor/core/xpdo/om/xpdoobject.class.php: 240) Error 42000 executing statement:
                                            Array
                                            (
                                            [0] => 42000
                                            [1] => 1064
                                            [2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS `modresource` WHERE `modresource`.`id` = 3129' at line 1
                                            )
                                              eflit
                                              04 декабря 2016, 15:59
                                              0
                                              Вопрос снимаю проблема то что класс нужно было назвать правильно modResource большая R
                                                eflit
                                                04 декабря 2016, 17:45
                                                0
                                                еще вопрос код формы
                                                [[!ufform?
                                                &class=`modResource`
                                                &list =`plan`
                                                &parent=`[[+id]]`
                                                &onlyCreatedby=`1`
                                                &dropzone=`{"maxFilesize":4,"maxFiles":5,"acceptedFiles":".jpg, .jpeg, .gif, .png","template":"edit"}` 
                                                ]]
                                                а почему файлы грузятся в article/id
                                                  Володя
                                                  05 декабря 2016, 10:15
                                                  0
                                                  если у class есть поле class_key то оно заменяется его значением. Наверно у вас class_key ресурса — article
                                                    eflit
                                                    05 декабря 2016, 11:20
                                                    0
                                                    а как мне сменить чтобы грузились фото в modresource?
                                                      Володя
                                                      05 декабря 2016, 11:33
                                                      0
                                                      на данный момент никак, в коде зашито что путь состоит из
                                                      'list', 'class', 'parent'
                                                  eflit
                                                  05 декабря 2016, 11:41
                                                  0
                                                  смотрите а когда вот так

                                                  [[!ufform?
                                                  &class=`modresource`
                                                  &list =`plan`
                                                  &parent=`[[+id]]`
                                                  &onlyCreatedby=`1`
                                                  &dropzone=`{«maxFilesize»:4,«maxFiles»:5,«acceptedFiles»:".jpg, .jpeg, .gif, .png",«template»:«edit»}`
                                                  ]]

                                                  то грузится норм но выдает ошибку

                                                  [2016-12-03 17:59:28] (ERROR @ /home/cyzja/www/phpbbfor/core/xpdo/xpdo.class.php: 1318) Could not get table class for class: modresource
                                                  [2016-12-03 17:59:28] (ERROR @ /home/cyzja/www/phpbbfor/core/xpdo/xpdo.class.php: 1287) Could not get table name for class: modresource
                                                  [2016-12-03 17:59:28] (ERROR @ /home/cyzja/www/phpbbfor/core/xpdo/om/xpdoobject.class.php: 240) Error 42000 executing statement:
                                                  Array
                                                  (
                                                  [0] => 42000
                                                  [1] => 1064
                                                  [2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS `modresource` WHERE `modresource`.`id` = 3129' at line 1
                                                  )

                                                  может ее как-то можно поправить?

                                                    Володя
                                                    05 декабря 2016, 12:08
                                                    +1
                                                    Добавил настройку process_class, выставьте ее в нет и класс не будет обрабатываться.
                                                    eflit
                                                    05 декабря 2016, 12:18
                                                    0
                                                    Огромное спасибо теперь все нормально.
                                                      eflit
                                                      14 декабря 2016, 12:23
                                                      0
                                                      Подскажите добавил сортировку на фронтенде

                                                      <div class="userfiles-form-wrapper">
                                                      
                                                          <form class="userfiles-form userfiles-dropzone" id="[[+propkey]]" method="post" action=""
                                                                data-clickable=".userfiles-form-clickable-[[+propkey]]" data-sorting="1">
                                                      
                                                              <div class="dz-message needsclick">[[%userfiles_msg_needsclick]]</div>
                                                      
                                                          </form>
                                                      
                                                          <a class="userfiles-form-clickable userfiles-form-clickable-[[+propkey]]">[[%userfiles_msg_select_files]]</a>
                                                      
                                                      </div>
                                                      но сортирует с шагом в одну фото то есть первую фото я не могу поставить 10 и на оборот в чем может быть проблема?
                                                        Володя
                                                        14 декабря 2016, 12:33
                                                        0
                                                        напишите в ТП с указанием доступов к сайту и странице где можно увидеть данную проблему.
                                                        Спасибо!
                                                          eflit
                                                          14 декабря 2016, 12:47
                                                          0
                                                          написал
                                                        amotev
                                                        26 января 2017, 18:38
                                                        0
                                                        Вызов
                                                        [[!ufForm?
                                                        &tplForm=`uploadForm`
                                                        &class=`UserFile`
                                                        &list=`upload`
                                                        &anonym=`1`
                                                        &dropzone=`{«maxFilesize»:3,«maxFiles»:1,«acceptedFiles»:".zip,.rar"}`
                                                        ]]

                                                        При открытии страницы с формой выдает ошибку «Доступ запрещен». Уже все перерыл.
                                                          Володя
                                                          26 января 2017, 19:22
                                                          0
                                                          Во первых убрать class UserFile из вызова сниппета, во вторых для анонимов добавить

                                                          все…
                                                          eflit
                                                          30 марта 2017, 12:19
                                                          0
                                                          Здравствуйте подскажите попал в такую ситуацию создается ресурс для него загружаю фото и через не которое время удаляю ресурс но фото по прежнему остается как можно удалять фото когда ресурс удален.
                                                            Володя
                                                            30 марта 2017, 14:13
                                                            0
                                                            Добрый день.
                                                            Можно плагин на событие OnBeforeEmptyTrash
                                                            и в нем
                                                            $q = $modx->newQuery('UserFile');
                                                            $q->where(array('class' => 'modResource', 'parent:IN' => $ids));
                                                            if ($UserFiles = $modx->getCollection('UserFile', $q)) {
                                                                foreach ($UserFiles as $UserFile) {
                                                                    $UserFile->remove();
                                                                }
                                                            }
                                                              eflit
                                                              30 марта 2017, 15:26
                                                              0
                                                              Так что то не понимаю создал плагин вставил код поставил событие OnBeforeEmptyTrash теперь тестирую создал ресурс залил фото сохранил удаляю ресурс но фото остается мб и за того что у меня стоит в системных настройках не обрабатывать класс?
                                                                Володя
                                                                30 марта 2017, 18:58
                                                                0
                                                                возможно класс у файлов не modResource.
                                                                Пишите в ТП разберемся.
                                                            Foton
                                                            28 апреля 2017, 16:16
                                                            0
                                                            Здравствуйте! Подскажите, пожалуйста, как к вызову mFilter2 присоединить по первому изображению UserFiles из каждого ресурса. Пробую разные варианты, но что-то всё превращается в тыкву.
                                                            Rootiys
                                                            08 мая 2017, 16:15
                                                            0
                                                            Нужно вывести файлы пользователя в личном кабинете.
                                                            Из примера вставил сниппет
                                                            [[!pdoResources?
                                                                &limit=`10`
                                                                &showLog=`0`
                                                                &class=`UserFile`
                                                                &loadModels=`UserFiles`
                                                                &sortby=`rank`
                                                                &sortdir=`ASC`
                                                                &tpl=`@INLINE 
                                                                <div class="item">
                                                                    <a href="[[+url]]" target="_blank"><img src="[[+thumb]]" title="[[+name]]"></a>
                                                                </div>`
                                                                &where=`{
                                                                    "UserFile.class":"modUser",
                                                                    "UserFile.parent":[[!+modx.user.id]],
                                                                    "UserFile.createdby":[[!+modx.user.id]]
                                                                }`
                                                                &leftJoin=`{
                                                            	"Thumb": {
                                                            		"class": "UserFile",
                                                            		"on": "Thumb.parent = UserFile.id AND Thumb.properties LIKE '%w\":120,\"h\":90%'"
                                                            	}
                                                                }`
                                                                &select=`{
                                                            	"UserFile": "*",
                                                            	"Thumb": "Thumb.url as thumb"
                                                                }`
                                                            ]]
                                                            Юзер авторизован в кабинете.
                                                            На выходе ничего не выводится, ошибок нет. Что я делаю не так?
                                                              Rootiys
                                                              10 мая 2017, 11:31
                                                              0
                                                              Если включить &showLog=`1` — то же пусто все.
                                                                Володя
                                                                10 мая 2017, 11:33
                                                                0
                                                                Пишите в ТП с указанием доступов к админке сайта и ссылкой на чанк/ шаблон вызова, разберемся…
                                                                Спасибо!
                                                              Юрий
                                                              10 мая 2017, 12:49
                                                              0
                                                              Подскажите, как сделать загрузку файлов с одним и тем же именем? есть ли возможность на выходе переименовать файл? Заранее спасибо!
                                                                Володя
                                                                10 мая 2017, 13:58
                                                                +1
                                                                $(document).on('dropzone_init', function(e, dropzone, config) {
                                                                    myDropzone.options.renameFilename = function (filename) {
                                                                        return 'myname.' + filename.split('.').pop();
                                                                    };
                                                                });
                                                                Юрий
                                                                10 мая 2017, 14:06
                                                                0
                                                                Спасибо, подталкнули!
                                                                  Юрий
                                                                  11 мая 2017, 13:49
                                                                  0
                                                                  Неподскажите вообщем изменяю в настройках медиа источник по умолчанию на любой другой кроме userfiles и перестаёт грузить файлы, а при попытке загрузить из админки пишет: Файл больше допустимого размера.?
                                                                  Заранее спасибо!
                                                                    Володя
                                                                    11 мая 2017, 14:03
                                                                    +1
                                                                    создайте в источнике настройку maxUploadSize и задайте допустимый размер файла
                                                                    Юрий
                                                                    11 мая 2017, 15:05
                                                                    0
                                                                    Спасибо, а как можно отчистить dropzone при обновлении страницы?
                                                                      Виталий
                                                                      14 мая 2017, 14:39
                                                                      0
                                                                      Володя, подскажи пожалуйста.
                                                                      Почему данная конструкция не работает через вызов Fenom?

                                                                      {var $photo_before_html = "!pdoResources" | snippet: [
                                                                          'class'=>'UserFile',
                                                                          'loadModels'=>'UserFiles',
                                                                          'sortby'=>'rank',
                                                                          'where'=>'{
                                                                              "UserFile.list": "photos_before",
                                                                              "UserFile.parent": '~$_modx->user.id~',
                                                                              "UserFile.createdby": '~$_modx->user.id~'
                                                                          }',
                                                                          'leftJoin'=>'{
                                                                              "Thumb": {
                                                                                  "class": "UserFile",
                                                                                  "on": "Thumb.parent = UserFile.id"
                                                                              }"
                                                                          }',
                                                                          'select'=>'{
                                                                              "UserFile": "*",
                                                                              "Thumb": "Thumb.url as thumb"
                                                                          }',
                                                                          'tpl'=>'@INLINE 
                                                                          <div class="item">
                                                                              <a href="[[+url]]" target="_blank">[[+name]] - [[+size]]</a>
                                                                          </div>'
                                                                      ]}

                                                                      Если убрать
                                                                      "Thumb": "Thumb.url as thumb"
                                                                      то вызов отрабатывает
                                                                        Артём
                                                                        17 мая 2017, 12:22
                                                                        0
                                                                        Подскажите, пожалуйста, данный компонент можно как то привязать для добавления фоток и файлов к ресурсам через frontend? Суть в том, что есть сайт, где пользователи сами добавляют статьи и новости (через frontend юзерпанель), и к этим новостям надо привязать возможность добавлять фотки и свой лого. Если имеется такая возможность, подскажите как это реализовать?
                                                                          Юрий
                                                                          22 мая 2017, 15:23
                                                                          0
                                                                          Подскажите, как сделать загрузку файлов в папку с id пользователя + дата время?
                                                                            Василий Столейков
                                                                            28 июля 2017, 10:51
                                                                            0
                                                                            А для чего служит сниппет ufMs2Gallery, о нём нигде ни слова? Для загрузки в ms2Gallery?
                                                                            Вызвал его на странице — получил 500 ошибку.
                                                                              Володя
                                                                              28 июля 2017, 11:28
                                                                              0
                                                                              для чего служит сниппет ufMs2Gallery
                                                                              с версии 2.2.5-beta существует возможность подменять стандартную галерею магазина на UserFiles. Так вот ufMs2Gallery аналог сниппета msGallery служит для вывода изображений галереи товара.
                                                                              о нём нигде ни слова
                                                                              потому как сам я данный функционал не тестировал и не пользую, мне хватает стандартной галереи, но в ТП просили добавить данный функционал. Как функционал обкатается так и будет анонс и описание.

                                                                              Вызвал его на странице — получил 500 ошибку.
                                                                              пишите в ТП — разберемся.
                                                                                Василий Столейков
                                                                                28 июля 2017, 11:33
                                                                                0
                                                                                500 ошибка была потому что miniShop2 не был установлен, я думал что сниппет для формы загрузки в ms2Gallery с фронта, а не для галереи минишопа…
                                                                                В ТП когда куплю, сейчас проверяю функционал, если подойдёт для пользовательской галереи.
                                                                              Василий Столейков
                                                                              28 июля 2017, 11:09
                                                                              0
                                                                              А можно загружать в modUser через ufForm больше одного файла? Мне нужно галерею к пользователю привязать, а не только одно фото.

                                                                              Попробовал на тестовом хостинге — пишет: Вы не можете загрузить больше файлов.

                                                                              Также при загрузке файлов больше 1мб выводит ошибку независимо от данных в настройке maxUploadSize: Файл слишком большой (1.91MiB). Максимальный размер: 1MiB.
                                                                                Володя
                                                                                28 июля 2017, 11:30
                                                                                0
                                                                                А можно загружать в modUser через ufForm больше одного файла? Мне нужно галерею к пользователю привязать, а не только одно фото.
                                                                                да, можно
                                                                                  Василий Столейков
                                                                                  28 июля 2017, 11:37
                                                                                  0
                                                                                  Я тестировал через сниппет ufForm с фронта. Ок, если можно, тогда уже продолжим в ТП если будут вопросы, спасибо!
                                                                                    Володя
                                                                                    28 июля 2017, 11:39
                                                                                    +1
                                                                                    возможно все в настройке
                                                                                    &dropzone=`{"maxFilesize":2,"maxFiles":3,"acceptedFiles":".jpg, .jpeg, .gif, .png","template":"edit"}`
                                                                                      Василий Столейков
                                                                                      28 июля 2017, 11:59
                                                                                      0
                                                                                      Понял, спасибо!!!
                                                                                        Василий Столейков
                                                                                        28 июля 2017, 12:02
                                                                                        0
                                                                                        А за что отвечает параметр dropzone «template»:«edit»? Какие у него ещё могут быть значения?
                                                                                        В статье этот параметр не объясняется.
                                                                                          Володя
                                                                                          28 июля 2017, 12:19
                                                                                          +1
                                                                                          А за что отвечает параметр dropzone «template»:«edit»
                                                                                          шаблон отображения файлов. по умолчанию доступно base и edit, отличаются только наличием ссылки на редактирование изображения.
                                                                                          Вы можете добавить по аналогии свои шаблоны отображения…
                                                                                            Василий Столейков
                                                                                            28 июля 2017, 12:22
                                                                                            0
                                                                                            Супер! Удобно! Спасибо!
                                                                                              Володя
                                                                                              28 июля 2017, 12:38
                                                                                              0
                                                                                              пожалуйста!
                                                                                              Аналогично можно задать шаблон и для модалки, например редактировать описание к картинке

                                                                                              &modal=`{"buttons":"base","template":"edit"}`
                                                                                  Сергей
                                                                                  06 сентября 2017, 18:24
                                                                                  0
                                                                                  До обновления ( версия 2.3.0 бэта ) была проблема с тем, что при изменении порядка изображений он ( порядок) сохранялся не понятным образом.( речь про список файлов ) Сегодня обновил приложение, думал баг исправится. Теперь перетаскивание вообще не работает…
                                                                                    Володя
                                                                                    06 сентября 2017, 18:27
                                                                                    0
                                                                                    Добрый вечер.
                                                                                    Пишите в ТП. Приложите доступы к админке и ссылку где наблюдается проблема.
                                                                                    Спасибо.
                                                                                      Сергей
                                                                                      06 сентября 2017, 18:40
                                                                                      0
                                                                                      Я дико извиняюсь ( с modx работаю недавно) потому сюда и пишу что не нашел где написать ТП. ( может скрин есть или ссылка? )
                                                                                      Сергей
                                                                                      06 сентября 2017, 20:26
                                                                                      0
                                                                                      К сожалению написать в ТП не могу так как нужно прежде что то купить…
                                                                                      Но я понял почему не работало перетаскивание — Во время обновления произошло переписывание чанка uf.form — отличается он от предыдущего лишь этой строкой
                                                                                      data-clickable=".userfiles-form-clickable-[[+propkey]]">
                                                                                      Раньше было
                                                                                      data-clickable=".userfiles-form-clickable-[[+propkey]]" data-sorting="1">
                                                                                      Подставил в новый код data-sorting=«1» и перетаскивание заработало.

                                                                                      Но Проблема с тем что не устанавливается порядок файлов осталась — то есть он меняется как себе хочет…
                                                                                        Володя
                                                                                        07 сентября 2017, 07:07
                                                                                        0
                                                                                        Но Проблема с тем что не устанавливается порядок файлов осталась — то есть он меняется как себе хочет…
                                                                                        у меня работает… попробуйте собрать пакет и переустановить.
                                                                                    Павел
                                                                                    06 сентября 2017, 20:46
                                                                                    0
                                                                                    Приветствую. есть документы, к которым прикреплен UserFiles (т. е. такая вкладка после «группа ресурсов»).
                                                                                    Этот список документов выводится через pdoResources. Делаю фильтрацию для этих документов.
                                                                                    Подскажите, как через where отфильтровать по наличию/отсутствию файлов?
                                                                                    Что-нибудь вроде:
                                                                                    &where=`{"UserFiles:!=":""}`
                                                                                    Или нет такой возможности?
                                                                                      Володя
                                                                                      07 сентября 2017, 07:17
                                                                                      +1
                                                                                      вот так вроде работает
                                                                                      [[!pdoPage?
                                                                                      &parents=`0`
                                                                                      &leftJoin=`{"File": {"class": "UserFile","on": "File.parent = modResource.id"}}`
                                                                                      &where=`{"File.parent":null}`
                                                                                      &tpl=`@INLINE [[+id]]`
                                                                                      ]]
                                                                                      [[!+page.nav]]
                                                                                        Павел
                                                                                        07 сентября 2017, 12:55
                                                                                        0
                                                                                        Так оно выводит те документы, которые не имеют файлов.
                                                                                        Однако, если вписать
                                                                                        &where=`{"File.parent:!=":null}`
                                                                                        то выводит те документы в которых есть файлы, но каждый такой документ выводит столько раз, сколько в нем этих файлов, т. е. не по 1 разу
                                                                                          Володя
                                                                                          07 сентября 2017, 13:22
                                                                                          0
                                                                                          добавьте в таком случае группировку
                                                                                          &groupby=`modResource.id`
                                                                                            Павел
                                                                                            07 сентября 2017, 13:33
                                                                                            0
                                                                                            да, как раз минут 10 назад добавил) Хотел написать тут.
                                                                                            Благодарю за помощь
                                                                                              Володя
                                                                                              07 сентября 2017, 14:41
                                                                                              0
                                                                                              пожалуйста!
                                                                                      Андрей
                                                                                      05 декабря 2017, 12:16
                                                                                      0
                                                                                      каким образом после загрузки изображений, сразу обновить страницу?
                                                                                        Alexander
                                                                                        09 января 2018, 17:06
                                                                                        0
                                                                                        Здравствуйте!
                                                                                        Не работает в мозилле. В хроме работает…
                                                                                        Вызов
                                                                                        [[!ufForm?
                                                                                         
                                                                                        &list=`upload` 
                                                                                        &anonym=`1` 
                                                                                        &dropzone=`{«maxFilesize»:3,«maxFiles»:1,«acceptedFiles»:".zip,.rar"}`
                                                                                        ]]

                                                                                        в консоли ошибка
                                                                                        ReferenceError: _createClass is not defined
                                                                                        _createClass(Emitter, [{

                                                                                        ругается на assets/components/themebootstrap/js/jquery.min.js line 2 > eval

                                                                                          Alexander
                                                                                          09 января 2018, 18:27
                                                                                          0
                                                                                          решено
                                                                                          Серый
                                                                                          09 января 2018, 23:30
                                                                                          0
                                                                                          Добрый день, пытаюсь запилить профиль для Кроппера на определенный размер. Делаю и так:
                                                                                          {"profile":"Gallery","size": "width: 225, height: 135"}
                                                                                          и этак:
                                                                                          {"profile":"Gallery","size": "225x135}
                                                                                          Видимо, команда должна быть не size. А какая?))
                                                                                            Серый
                                                                                            09 января 2018, 23:43
                                                                                            0
                                                                                            И, пользуясь случаем, хочу спросить — можно ли как-то убрать эти края, что бы рамка кадрирования за пределы оригинального изображения не вылезала?
                                                                                              Володя
                                                                                              10 января 2018, 09:23
                                                                                              0
                                                                                              параметры можно кроппера можно посмотреть github.com/fengyuanchen/cropper
                                                                                              передаете в вызов сниппета в виде json строки.
                                                                                                Серый
                                                                                                10 января 2018, 12:22
                                                                                                0
                                                                                                Дядь Володь, ну я ж нуб зеленый, спросил про два слова, а вы меня отправили талмуд целиком читать(
                                                                                                Хоть ключевые слова какие-то пожалуйста черканите, а то получается, что тебе прокладку в кране надо сменить, а тебе техплан водоснабжения дома суют))

                                                                                                Но у меня назрел еще один важный вопрос. Мне надо откропать именно превьюху. То есть у меня все миниатюры в галлерее — горизонтальные, а вертикальные оригиналы кропаются автоматом и там такого лешего в итоге накропано, что хоть стой хоть падай. Куда глядеть, что б настроить это дело?
                                                                                                Спасибо
                                                                                                  Володя
                                                                                                  10 января 2018, 17:59
                                                                                                  0
                                                                                                  отправили талмуд целиком читать(
                                                                                                  не поверишь, но я тоже так делаю. Иду и читаю когда чтото нужно…

                                                                                                  по существу вопроса — я думаю нельзя задать фиксированный размер для кропа, можно задать соотношения сторон aspectRatio.
                                                                                                  Если необходима картинка с точными параметрами задай параметры для превью как тебе нужно.
                                                                                                  Имеется ввиду медиасорс и настройка превью там.
                                                                                              Alexander
                                                                                              15 января 2018, 19:36
                                                                                              0
                                                                                              Доброго дня! Подскажите, может кто делал)) Нужно прицепить e-mail уведомление админу и юзеру на загрузку файлов. Пробовал плагином, но не очень понятно на какое событие цеплять…
                                                                                                Володя
                                                                                                16 января 2018, 11:55
                                                                                                0
                                                                                                Добрый день.
                                                                                                Плагин на UserFilesOnAfterFileUpload
                                                                                                <?php
                                                                                                
                                                                                                if ($modx->event->name != 'UserFilesOnAfterFileUpload') {
                                                                                                    return;
                                                                                                }
                                                                                                
                                                                                                // ваша логика на загрузку файла
                                                                                                $modx->log(1, print_r($object->toArray(), 1));
                                                                                                Игорь Терентьев
                                                                                                02 февраля 2018, 17:11
                                                                                                0
                                                                                                Добрый вечер!
                                                                                                Можно ли автоматически ресайзить изображения (под определенный размер) при загрузке с фронта и удалять оригиналы?
                                                                                                Нужно чтобы пользователи могли загружать изображения до 10Мб, а на сервере хранились обрезанные и уменьшенные 1024х768.
                                                                                                Плюс когда пытаешься добавить описание к большому изображению, то кроппер глючит и описание не сохраняется.
                                                                                                  Игорь Терентьев
                                                                                                  02 февраля 2018, 17:42
                                                                                                  0
                                                                                                  Со всем разобрался. Можно ли кроппер отключить?
                                                                                                  А то после редактирования описания размер изображения с 0.2Мб увеличивается до 1.2Мб
                                                                                                  {'!ufForm' | snippet : [
                                                                                                                  'class' => 'modUser',
                                                                                                                  'parent' => $_modx->user.id,
                                                                                                                  'dropzone' => '{"resizeWidth":"1280","resizeMimeType":"image/jpeg","resizeQuality":"90","maxFilesize":10,"maxFiles":12,"acceptedFiles":".jpg, .jpeg, .gif, .png","template":"edit"}',
                                                                                                                  'modal' => '{"buttons":"base","template":"edit"}',
                                                                                                                  'cropper' => 0,
                                                                                                              ]}
                                                                                                    Володя
                                                                                                    03 февраля 2018, 12:06
                                                                                                    0
                                                                                                    Можно ли кроппер отключить?
                                                                                                    На данный момент нет. Дефолтный скрипт не предусматривает этого.
                                                                                                      Алексей Ерохин
                                                                                                      13 июля 2018, 13:12
                                                                                                      +2
                                                                                                      Проблема с увеличением картинок в передаче неверного mime-type image/jpg, нужно передавать image/jpeg, из-за этого формируется png-файл большего размера. На вашем демо также.
                                                                                                      yadi.sk/i/hQg_tWSl3Z8Zu3
                                                                                                        Володя
                                                                                                        13 июля 2018, 15:13
                                                                                                        +1
                                                                                                        Спасибо! Поправил в новой версии.
                                                                                                  Константин
                                                                                                  08 апреля 2018, 22:46
                                                                                                  0
                                                                                                  Здравствуйте. Не могу понять, как получить варианты ссылок как здесь:



                                                                                                  У меня сейчас так:

                                                                                                    Константин
                                                                                                    27 июня 2018, 16:41
                                                                                                    0
                                                                                                    Можно ли добавить в одно из будущих обновлений возможность установить максимальную ширину и высоту загружаемых изображений? И чтобы, если они больше, ужимались до заданных размеров.
                                                                                                      Max
                                                                                                      Max
                                                                                                      27 июля 2018, 17:57
                                                                                                      0
                                                                                                      [2018-07-27 17:37:38] (ERROR @ /home/s13783/www/core/components/tinycompressor/model/tinycompressor/tinycompressor.class.php: 192) Ошибка сжатия (файл не найден): /home/s13783/www//home/s13783/www/assets/userfiles/ads/bazads/3067-6f6ebfb18532b74e69991e1ab4f9298cb3189e6f-650x400.png

                                                                                                      Нашли проблему в скрипте загрузки — двойной корень.
                                                                                                      Как исправить?
                                                                                                        Володя
                                                                                                        27 июля 2018, 17:59
                                                                                                        0
                                                                                                        Возможно ошибка в tinycompressor?
                                                                                                          Max
                                                                                                          Max
                                                                                                          27 июля 2018, 18:36
                                                                                                          -1
                                                                                                          Автор тестил код компрессора и сказал, что скорее всего проблема в путях userfiles.
                                                                                                          Загружаем картинки через файловую панель, всё хорошо — файл загружается и сжимается, а через userfiles выдаёт ошибку.
                                                                                                        Garnet
                                                                                                        01 апреля 2019, 15:09
                                                                                                        0
                                                                                                        Приветствую.
                                                                                                        Вывожу картинки вот так:
                                                                                                        [[!pdoResources?
                                                                                                        &limit=`0`
                                                                                                        &showLog=`0`
                                                                                                        &class=`UserFile`
                                                                                                        &loadModels=`UserFiles`
                                                                                                        &sortby=`parent,rank`
                                                                                                        &sortdir=`ASC`
                                                                                                        &tpl=`@INLINE
                                                                                                        `
                                                                                                        &where=`{
                                                                                                        «UserFile.parent»:[[*id]],
                                                                                                        «UserFile.list»:»img"
                                                                                                        }`
                                                                                                        ]]
                                                                                                        но после основных картинок выводятся тумбинашки. Как от них избавиться?
                                                                                                          Володя
                                                                                                          01 апреля 2019, 15:27
                                                                                                          0
                                                                                                          Добрый.
                                                                                                          Можно добавить в условие
                                                                                                          "UserFile.class:!=":"UserFile"
                                                                                                          Scorp Satex
                                                                                                          05 апреля 2019, 18:57
                                                                                                          0
                                                                                                          Здравствуйте, подскажите пожалуйста по вашему плагину UserFiles.

                                                                                                          У меня задача, нужно создать сайт, для фирмы которая занимается проведением мероприятий и лекториев. Нужно чтобы на сайте лекторы могли загружать c фронта файлы, и другие пользователи это могли скачать.

                                                                                                          Вопрос: ваш плагин можно настроить таким образом, чтобы например можно было создать запись в Tickets, и лектора могли через фронт прикреплять файлы именно к этой записи, а не все шло в одну папку. Например если страница с id 90 — все шло в папку на ftp: events/90?
                                                                                                            Андрей
                                                                                                            06 апреля 2019, 00:41
                                                                                                            0
                                                                                                            А чем не устраивает стандартная загрузка файлов в тикетах? Там если не ошибаюсь всё так и работает, файлы закачиваются в папку c id ресурса.
                                                                                                            Дмитрий Петров
                                                                                                            24 мая 2019, 15:12
                                                                                                            0
                                                                                                            Добрый день, при загрузке hd фото (1920х1080) фото уползает вниз (в демо версии проверил — такая же ситуация)
                                                                                                            подскажите как можно исправить, куда копать?



                                                                                                            сейчас вызываю так:
                                                                                                            [[!ufForm?
                                                                                                               &tplForm=`uf.form`
                                                                                                               &list=`image`
                                                                                                               &anonym=`0`
                                                                                                               &dropzone=`{
                                                                                                               "maxFilesize":2,"maxFiles":1,"acceptedFiles":".jpg, .jpeg, .gif, .png","template":"edit"
                                                                                                               }`
                                                                                                            ]]
                                                                                                              FuzeSpace
                                                                                                              30 июня 2019, 12:58
                                                                                                              0
                                                                                                              Подскажите, подходит ли плагин по следующим тз?
                                                                                                              тз:
                                                                                                              1) Оптимизация изображения при загрузке в ресурс
                                                                                                              2) Генерация случайного название или свой префикс при загрузке изображения в ресурс
                                                                                                              3) Обрезка изображения при загрузке в ресурс
                                                                                                              4) Удаления файла изображения при удалении из ресурса
                                                                                                              5) Удаления изображений при удалении ресурса
                                                                                                              6) Пакетная загрузка изображений(необязательно)
                                                                                                                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                                                                                                163