mixedImage - custom TV


mixedImage — modx custom TV

Добавлена опция для ресайза загружаемого изображения

Добавляет новый тип TV поля: Смешанная загрузка файла/Mixed Image Input



Является сместью FastUploadTV и стандартной загрузки файлов, часть кода взята из FastUploadTV


Скачать пакет из modstore

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

Вот так это выглядит в ресурсе:



А вот при настройке TV поля





Скачать пакет из modstore

Ссылка на github
05 january 2017, 14:48    Евгений Webinmd   G+  
6    568 +13

Comments (71)

  1. Яркий Слава 05 january 2017, 15:20 # +1
    Удобная штука, спасибо!
    1. Евгений Шеронов 05 january 2017, 19:00 # +2
      Круто, ещё бы Drag&Drop загрузку и цены бы не было компоненту)
      1. Евгений Webinmd 05 january 2017, 19:45 # 0
        у компонента немного другая цель, вот с Drag&Drop
        1. Евгений Шеронов 05 january 2017, 20:41 # +4
          Да, компонентами CET тоже пользовался, но я не про область для перетаскивания множества картинок.
          Я имел ввиду функционал, похожий на convertio.co/ru/. Понимаю, что сделать подобное — дело не пары минут.

          Если Вы не против, попробую в свободное время на основе исходников прикрутить подобную загрузку, хоть и одного файла. Если получится — отпишусь здесь.
          1. Евгений Webinmd 05 january 2017, 20:42 # +1
            Развлекайтесь ))
      2. Владимир 07 january 2017, 15:49 # +1
        Опробовал на нескольких сайтах ( в т.ч. с кастомными именами для ядра и коннекторов) — все отлично!
        Когда в modstore.pro ждать?
        1. Евгений Webinmd 07 january 2017, 16:29 # +1
          думаю на следующей неделе, в начале, после праздничков уже
          1. Владимир 07 january 2017, 16:39 # 0
            Спасибо!
            1. Евгений Webinmd 09 january 2017, 11:14 # +1
              Спасибо
          2. nweb 07 january 2017, 18:43 # 0
            В чем отличие от FastUploadTV? В упомянутом компоненте можно также загружать картинки.
            1. Евгений Webinmd 07 january 2017, 19:17 # +2
              FastUploadTV — только загрузка с компьютера, тут же оба варианта, с компа и из менеджера файлов
            2. Abu 09 january 2017, 14:58 # 0
              В рамках борьбы с проблемой в соседнем вопросе.

              Странно, в отличии от fastuploadTV не использует указанный в ТВшке (и в конфиге) источник файлов. В свою очередь, fastuploadTV не использует mediasource в контексте отличном от web, в отличии от встроенного модексовского TV тип ввода изображение, который всех уважает и всё использует, только не нужен.
              1. Владимир 09 january 2017, 15:14 # 0
                напишите в личку, покажите сайт
                1. Евгений Webinmd 09 january 2017, 15:15 # +1
                  на днях предстоит делать мультиязычный сайт, попробую найти/исправить проблему
                2. vofka 10 january 2017, 11:03 # 0
                  Добрый день! А почему нельзя сделать мультизагрузку? Было бы вообще идеально!
                  1. Владимир 10 january 2017, 11:21 # +3
                    Это же инструмент для загрузки одного файла в одну тивишку. Как и предыдущие FastUploadTV и ранее Simple File Upload TV.
                  2. Андрей Шевяков 12 january 2017, 13:46 # 0
                    Добрый день!

                    Поменял FastUploadTV на mixedImage. Нашел такую особенность.

                    Если выводим TV от FastUploadTV, то адрес на файл указывается от корня, например:
                    /assets/uploads/каталог (если прописан в настройках TV)/имя_файла.jpg

                    В mixedImage выводится только имя файла и каталога, если она есть, т.е. без /assets/uploads/, сразу:
                    каталог (если прописан в настройках TV)/имя_файла.jpg
                    1. Евгений Webinmd 12 january 2017, 13:55 # 0
                      используется свой источник файлов? Не filesystem?
                      1. Андрей Шевяков 12 january 2017, 13:57 # 0
                        Да, свой источник с директорией /assets/uploads/articles/
                        1. Евгений Webinmd 12 january 2017, 13:58 # 0
                          ок, видел эту проблем вчера, постараюсь сегодня/завтра поправить
                          1. Андрей Шевяков 12 january 2017, 13:59 # 0
                            Супер! Буду ждать обновлений. Дополнение шикарное!!!
                            1. Евгений Webinmd 13 january 2017, 15:55 # 0
                              обновил дополнение, проверьте пути, если будут проблемы, напишите, что-нибудь придумаем.
                              1. Андрей Шевяков 16 january 2017, 09:40 # 0
                                Добрый день!
                                Обновил дополнение, но пути остались прежние.
                                Вывод значения TV идет без assets/uploads/

                                Источник файлов свой, с директорией: assets/uploads/
                                Файл лежит в папке: assets/uploads/articles/
                                При выводе TV выводится: articles/filename.jpg

                                В параметрах ввода TV, путь сохранения: assets/uploads/articles/

                                Я может что-то не так сделал. Подскажите.
                                1. Евгений Webinmd 16 january 2017, 10:46 # 0
                                  выводится так как сохранился в БД, если новую картинку залить, проблема остается?
                                  1. Андрей Шевяков 16 january 2017, 10:57 # 0
                                    Если загружать новое изображение, то путь выводится правильно, но файл не загружается физически в каталог.
                                    Если использовать прикрепление файла из загруженных, то выводится опять же без assets/uploads/
                                    1. Евгений Webinmd 16 january 2017, 10:59 # 0
                                      если есть возможность, скиньте доступ в личку.
                                      или оставьте свои контакты, будем разбираться
                                      1. Андрей Шевяков 16 january 2017, 11:04 # 0
                                        Скинул!)
                                        1. Евгений Webinmd 16 january 2017, 11:06 # 0
                                          вижу, смотрю, ща будем разбираться, напишите тогда мне в скайп j_enika, порешаем сейчас если есть пару минут
                                          1. Андрей Шевяков 16 january 2017, 11:08 # 0
                                            Telegram нет?
                          2. Алекс 13 january 2017, 08:43 # 0
                            А есть возможность так загружать картинки migx полям img?
                            1. Евгений Webinmd 13 january 2017, 11:05 # +1
                              там необходимо делать TV поле и его привязывать к migx, но там есть небольшой баг, в следующей версии поправлю.
                              1. Алекс 13 january 2017, 11:10 # 0
                                Спасибо, было бы очень круто.
                                1. Евгений Webinmd 13 january 2017, 15:57 # +1
                                  Обновил дополнение, попробуйте создать отдельно TV поле нужного типа без привязки к шаблонам и в migx его прописать

                                  "inputTV":"migx_img"

                                  Пример поля Вкладки формы:

                                  [{"caption":"Fields", "fields": [
                                      {"field":"title","caption":"Title"}, 
                                      {"field":"image","caption":"Изображение","inputTV":"migx_img"}
                                    ]
                                  }]
                                  1. Алекс 19 january 2017, 10:33 # +1
                                    Спасибо, все работает
                                    1. Алекс 24 january 2017, 11:27 # 0
                                      Евгений здравствуйте вот еще вопрос, как отобразить в columns
                                      прописывал так

                                      Спасибо
                                      1. Евгений Webinmd 24 january 2017, 11:32 # 0
                                        я обычно через конфиг самого TV поля прописываю в Разметка колонок и всё нормально срабатывает, может там у вас битая картинка и значит пути не правильно подставляются?

                                        [ 
                                        {"header": "Изображение", "dataIndex": "img","renderer": "this.renderImage"}
                                        ]
                                        1. Евгений Webinmd 26 january 2017, 21:32 # 0
                                          была проблема с media source, исправил
                                          1. Алекс 27 january 2017, 07:56 # +1
                                            Теперь все супер. Большое спасибо.
                                2. Павел 19 january 2017, 16:30 # +1
                                  А у меня проблема.

                                  В общем решил и я протестировать. Есть одна тв-ка она используются в более чем 3000 ресурсов.
                                  Это тв было стандартное Тип — изображение, а у него источник файлов свой, не filesystem.

                                  Попробовал просто переключить на новый тип ТВ.
                                  В общем получил такое:


                                  Потом попробовал в ручную выбрать картинку.


                                  И всё стало нормально. Может у меня что не так конечно, но ТВ стояла стандартная, просто так сменить не получится, автор подскажи пожалуйста в чём может быть дело, спасибо.
                                  1. Евгений Webinmd 19 january 2017, 16:37 # +1
                                    у вас всё так, этот компонентик выводит из базы то что там прописано, и на сколько знаю стандартные картинки хранятся без путей (если у них другой источник файлов). Пока эта проблема не решена, используйте стандартный тип поля
                                    1. Павел 19 january 2017, 16:44 # +1
                                      Смотрите, нашёл в чем дело.
                                      Когда стандартная ТВ стоит — такой путь в базе
                                      uploads/company/Logos/_145891646498.png
                                      
                                      Когда меняю на новый тип ТП и выбираю картинку сам
                                      assets/uploads/uploads/company/Logos/_145891646498.png
                                      
                                      В общем он ещё записывает путь источника, при выборе вашей ТВ.
                                      В моём случае путь источника:
                                      assets/uploads/
                                      
                                      В общем если я циклом пройдусь и уберу то всё норм. А что будет если я вдруг хочу поменять путь моего источника файлов? Наврятли в базе у каждой ТВ ресурса в базе путь автоматом поменяется. Автор поясни если я не прав.
                                      1. Евгений Webinmd 19 january 2017, 16:47 # +2
                                        всё верно описано, такие моменты не предусмотрел, каюсь, грешен.
                                        Попробую чет придумать к следующей версии
                                        1. Павел 19 january 2017, 17:04 # 0
                                          Спасибо, буду ждать. А так компонент классный, как это будет исправлено, буду на все сайты ставить)
                                          1. Евгений Webinmd 26 january 2017, 21:33 # 0
                                            обновил компонент, попробуйте, там поправил проблемы с media source, но на всякий случай бэкапните, а то мало ли что.
                                  2. Михаил 20 january 2017, 10:55 # +1
                                    Дополнение классное. Давно ждал что-нибудь подобное. Отличное развитие FastUploadTV. Спасибо автору.

                                    2 момента заметил:
                                    1. При загрузке с компа изображение, которое содержит пробелы и нежелательные символы, сохраняется на диск без пробелов. Но mixedImage указывает в пути старое название файла. Вот joxi.ru/5mdYb1gtkepbj2 А на диске изображение сохранилось под именем htmlimage-20.jpg
                                    2. В списке изображений превью не показываются joxi.ru/Q2KYKgzt4wdVzr
                                    Путь до картинки такой:
                                    http://site.ru/connectors/system/phpthumb.php?h=60&src=assets/templates/site/images/masters/83/htmlimage-20.jpg&source=3
                                    Если убрать на конце source=3, то превью выводится.
                                    1. Евгений Webinmd 20 january 2017, 11:16 # 0
                                      ок, постараюсь решить в следующей версии проблему
                                      1. Евгений Webinmd 26 january 2017, 21:31 # 0
                                        исправил проблему с source, тестируйте, если будет проблема, пишите на почту, будем смотреть
                                      2. Алексей 20 january 2017, 13:49 # 0
                                        Добрый день.
                                        Сейчас поставил компонент, все нормально. Фото загружаются по пути, но попробовал загрузить фото с русским названием и облом. Фото то загрузилось, но в названии абра-катабра. Видимо слетела кодировка. С латиницей все в порядке. Подскажите, где посмотреть. Спасибо!
                                        1. Евгений Webinmd 20 january 2017, 13:51 # +1
                                          в системных настройках компонента есть функция «транслитерация», если подходит, используйте, если нет, то как время будет, поищу почему так происходит.
                                          1. Алексей 20 january 2017, 14:26 # 0
                                            Да, все заработало, спасибо!
                                        2. Abu 01 february 2017, 23:53 # 0
                                          При изменении языка админки на отличный от ru (настройка manager_language) в админке пропадают пути к файлу и эскизы.

                                          P.S. mixedimage.translit отключен
                                          P.P.S у fastuploadTV такая же фигня
                                          1. Abu 02 february 2017, 00:59 # 0
                                            Какой-то хитрый баг, задолбался уже его воспроизводить. Если ТВ создано с админкой на одном языке на другом языке картинки и пути не отображаются. Комменты в коде mixedimage.php намекают
                                            // Dirty hack 'cos i cant seem to get the lexicon topic loaded to js
                                            mixedimage1 = MODx.load({
                                            устанавливаются почему-то

                                            ,showPreview: false
                                            ,showValue: false
                                            1. Евгений Webinmd 02 february 2017, 11:07 # +1
                                              как будет немного времени попытаюсь воспроизвести и починить, так как половина кода взята/подсмотрена у fastuploadTV то и баги видимо однотипные остались
                                              1. Евгений Webinmd 02 february 2017, 11:21 # +1
                                                На какой язык меняете админку, может нету лексикона или еще что-то подобное?
                                                1. Abu 02 february 2017, 12:29 # 0
                                                  Там интересно в mixedimage.tpl $showPreview выдаёт false при смене языка админки потому, что в mixedimage.class.php
                                                  $this->setPlaceholder('showValue', ($opts['showValue']==$this->modx->lexicon('yes')? 'true': 'false'));

                                                  а этот $this->modx->lexicon('yes') был записан в базу в другом лексиконе — если русский, то «Да»/«Нет» если английский то «Yes»/«No». Вообще странное поведение для modx-combo-boolean отправлять данные в базу в виде строки, да ещё на языке лексикона, но оно походу такое.

                                                  В общем, в качестве решения, думаю надо писать в базу boolean и проверять так же, может вообще чекбоксами. Глянул где это пишется, а там smarty, даже не знал, что в модекс smarty встроен. К сожалению, не разобрался там где поправить, как временная мера захардкодил в mixedimage.tpl переменные как true.
                                                  1. Евгений Webinmd 02 february 2017, 12:32 # +1
                                                    да, воспроизвёл баг, вот думаю как бы boolean передать правильно, если решиться, отпишу
                                            2. Андрей Шевяков 03 february 2017, 14:50 # 0
                                              Добрый день!
                                              После обновления ver. 1.1.2-beta, все поломалось.

                                              Изображения выводятся во фронте, если загружать с компа, но не выводятся в бэкэнде.
                                              С источника наоборот — в бэкэнде выводятся, но не выводятся во фронте.
                                              1. Евгений Webinmd 03 february 2017, 14:52 # 0
                                                откатитесь обратно, в новой версии компонент работает как стандартное поле image
                                                в старой работало по своему принципу и подходило только для новых сайтов, пришлось привести к стандарту
                                                1. Андрей Шевяков 08 february 2017, 16:07 # 0
                                                  Сейчас версия 1.1.3-beta в репозитории.
                                                  Если обновлюсь не поломается ничего?
                                                  1. Евгений Webinmd 08 february 2017, 16:11 # 0
                                                    если у вас всё работает, то думаю не стоит, там просто сменилось событие в плагине, чтобы работал источник медия во всех контекстах, а не в первом инициализированом
                                              2. vofka 11 february 2017, 19:17 # 0
                                                Здравствуйте! При нажатии на кнопку «удалить» картинка удляется только из ресурса, но в источнике файлов так и остается?
                                                1. Евгений Webinmd 11 february 2017, 19:19 # 0
                                                  да, физически файл остается в папке
                                                  1. vofka 12 february 2017, 10:06 # 0
                                                    Но почему? Не рационально. Как потом искать в источнике файлов неактуальные картинки? а если их больше 1000? Вот бы в настройках была возможность задавать «удалять картинку вместе с физическим файлом на сервере»
                                                    1. Евгений Webinmd 12 february 2017, 11:59 # 0
                                                      так работают все поля связанные с файлами, менять логику мне показалось немного не правильным, запишу на будущее добавить галочку для этого момента
                                                2. vofka 13 february 2017, 18:51 # 0
                                                  Евгений. Если через migx добавить сразу несколько файлов, то при редактировании любой строки, не отображается полный путь к файлу. Но если добавлять по одному файлу, то путь отображается. Это возможно исправить?
                                                  1. Евгений Webinmd 13 february 2017, 18:54 # 0
                                                    путь не отображается в админке, а на фронте правильно выводится?
                                                  2. Alex 15 february 2017, 11:17 # +1
                                                    Добрый день, есть TV поле с выводом логотипа на страничку. При выборе параметров ввода указываю «смешанную загрузку файлов.Далее указываю параметры для ресайза, но картинка загружается в полном размере. В чем может быть причина?
                                                    1. Алексей 15 february 2017, 11:58 # 0
                                                      Плюсую, была совсем недавно такая проблема, не стал разбираться
                                                      1. Евгений Webinmd 15 february 2017, 12:02 # 0
                                                        посмотрю, мож чет потерял в процессе.
                                                        1. Alex 15 february 2017, 12:16 # 0
                                                          хорошо, спасибо, буду ждать ответа
                                                      You need to login to create comments.