Здравствуйте.
Подскажите пожалуйста, как реализовать функционал позволяющий видеть картинку исходного размера в продукте.
Возможно реализовать по загрузку по клику или увеличить размер картинки?
Нравится
Здравствуйте!
Проанализировали данную задачу - такая задача не может быть реализована, так как картинка ограничена размером контейнера, который ее содержит.
Как вариант вы можете загружать картинку в деталь "Файлы и ссылки" На закладке "Файлы и примечания" продукта. В таком случае картинка будет сохранена в базе в полном размере, и по клику на ее имя будет происходить ее загрузка или открытие (в зависимости от вашего браузера).
Добрый день!
Максим, идея с файлами и примечаниями интересная, возьму на заметку.
Алексей, дело в том, что в базе (в таблице SysImage) картинки хранятся в несжатом виде, т.к. попадают туда при интеграции из другой системы средствами sql через OPENROWSET. Возможно ли это как-то использовать?
Александр, добрый день!
Идея Максима, как мне кажется, наиболее подходит для решения Вашей задачи, т.к. по сути это базовый функционал и картинка открывается в исходном несжатом виде.
Андрей, я его реализовал, по умолчанию картинка скачивается по клику. Настраивать каждый браузер на открытие - тоже не очень удобно.
Подобную реализацию не одобрили, т.к. часто нужно видеть именно картинку, которую можно рассмотреть.
Так что если есть еще какие-то идеи, буду благодарен за подсказки.
Добрый день!
Александр, есть еще 2 варианта:
1. Реализовать свою логику при клике на изображение открывать его в модальном окне. В конфигурации есть примері использования. Метод ModalBox.show() вернет контейнер, в который вы сможете отрендерить нужный вам контент.
2. Взять готовые плагины, например у jQuery, и реализовать его использование.
Добрый день, возобновлю тему. Можно ли сразу в ModalBox отрендерить картинку, без написания собственного модуля?
Добрый день!
Да, возможно. Метод show() вернет вам контейнер, а дальше можете делать с ним что угодно. Пример:
var container = ModalBox.show({ width: "200px", height: "100px" }); var imageHtml = '<image src="http://localhost/bpmonlineSales770/0/img/entity/hash/SysImage/Data/dc0d78a5-18ce-4cbb-9afa-2d7d0143f4a6"/>'; Ext.DomHelper.insertHtml("afterBegin", container.dom, imageHtml);
Здесь выводится фото какого-то контакта
А как его можно корректно отмасштабировать, вне зависимости от исходных размеров?
style="max-height:100%;max-width: 100%"
Явное указание стилей проблему не решило. По ширине фото вписывается, а по высоте обрезается. Также не удалось отцентровать фото при масштабировании по ширине.
Здравствуйте, Александр!
Пример реализации Вы можете найти в продукте Real Estate на детали "Галерея" раздела "Объекты".