На удивление стандартный функционал SugarCRM не предусматривает возможности загрузки изображений к записям, а нам просто крайне необходимо, чтобы мы могли любоваться на наших любимых клиентов. Если вам это тоже нужно, давайте разберемся вместе, как это сделать просто и легко.
Способов добавления такого функционала несколько. Можно, конечно, сделать все вручную и реализовать возможность загрузки не только фотографий, но и документов, как у меня сделано в одном из модулей. Но этот способ неискушенному разработчику пока рассказывать рано. Позже я его обязательно опишу подробно, а сейчас воспользуемся готовым модулем Photo field by SYNOLIA, который предоставляет нам возможность загружать изображения к следующим родным модулям SugarCRM: Account, Bugs, Calls, Campaigns, Cases, Contacts, Documents, Leads, Meetings, Notes, Opportunities, Project, ProjectTask, Prospects, Tasks. В основном, нас интересует модуль контактов и контрагентов.
К сожалению, данный модуль не предполагает наличия русского языка, поэтому можете воспользоваться моим русифицированным вариантом, скачав его по ссылке: SynoFieldPhoto-RU . Либо если вы работает в англоязычной версии, скачать оригинал по следующей ссылке: http://www.sugarforge.org/frs/download.php/6643/SynoFieldPhoto-20100326.zip. Этот модуль будет работать без дополнительных модификаций на версии SugarCRM 5.5 — 6.0.
Переходим в панель администрирования -> загрузка модулей. Загружаем и устанавливаем данный модуль. Далее добавим для примера поле фотографии для контакта. Для этого заходим в sugar студию, выбираем модуль контакты –> поля -> добавить поле, и тип — photo. Задаем любое имя поля, например, photo. Указываем максимальную длину и ширину, до которой будет обрезаться фотография после загрузки. Также можем дополнительно задать стиль и сделать это обязательным полем. Кроме того, обратите внимание на мои русифицированные подсказки по поводу того, что поля с изображениями не импортируемые и не могут использоваться для объединения дубликатов.
Добавляем данное поле в макет просмотра и редактирования. Имеем следующий результат :
На этом все. Осталось только сказать начальству, что вы проделали сложнейшую работу по изменению функционала SugarCRM и попросить премию. Чем я сейчас и займусь
На днях обновился до версии php 5.3.2. Модуль сразу перестал работать. Оказалась причина в том что с версии 5.3 eregi считается deprecated функцией, а в файле phpThumb выставлено предупреждение обо все ошибках. Итак выключаем отображение об ошибках (можно выключить только отображение deprecated ошибок) в самом начале файла custom/SynoFieldPhoto/phpThumb/phpThumb.php
error_reporting(0); ini_set('display_errors', '0');
Это необходимо написать вместо первых строчек в файле, которые включают отображение об ошибках.
Высказать своё мнение о статье Вы можете в комментариях, если Вас интересуют какие либо вопросы или дополнения, то обсуждение по данной теме доступно на нашем форуме.
Всем привет!
Не могу скачать не одного файла с данного ресурса. Пишет:
К сожалению, Firefox не может найти страницу stalk.
Извините за временные неудобства.
Все уже подчинили.
В 6-й версии работает.
Только что проверил.
Добрый день.
Спасибо. На 6.0.2 всё работает.
Конечно это не по теме, но можно ли сделать как нибудь так:
fotobank.reevo.ru/primer/synofieldphoto2.jpg
А то табличность вывода страницы в SugarCRM задолбала вконец. При фото 300X200 еще куда не шло, а при большем разрешении совсем все плохо
Стандартными средствами SugarCRM SugarView это не получится реализовать.
Либо же использовать javascript для динамического изменения формы, либо же переделывать DetailView.tpl под ваши нужды.
Как более простой вариант, могу посоветовать дополнить модуль какой нибудь lightbox библиотекой, и в таблице показывать превью фото, а при клике отображать полное фото. Либо же самый простой вариант, перенесите поле в отдельную панель и включите в студии опцию для данной формы: «Отображать на закладках». И у вас будет отдельная закладка для фото.
Всем привет!
Проверил, библиотека подключена, но само изображение просто напрасто не отображается. Грешу на отсутсвие прав на запись данных изображений. Подскажите куда он их пишет и какие права нужны?
Заранее спасибо
Какая у вас версия SugarCRM и php?
Если версия php > 5.3, то скорее всего вы не сделали: обязательное дополнение для php > 5.3.
После того как внес эти изменения, мнесто картинки пишет:
что файл does not exist.
СРМ 5,5,2
ПХП 5,3,2
А реально эти картинки загружаются в систему?
Они должны находиться в папке custom/SynoFieldPhoto/phpThumb/images.
Пробовали разные форматы картинок?
1. Картинок нет в данном каталоге
2. Да пробывал
У вас linux или windows сервер используется для SugarCRM?
Если linux, то возможно не корректно выставлены права, в частности если в качестве web сервера используется apache, у него нет прав на добавление файлов в данную директорию.
Как вы проверяли что библиотека GD подключена? В phpinfo у вас отображается секция GD с опцией GD Support enabled? Какая версия GD установлена?
Да стаит Linux.
Права: drwxrws--- 7 www-data www-data 4096 2010-10-08 10:48 phpThumb
запускается от www-data
GD установлен версии 2,0
Уже не знаю куда копать...
Воспользуйтесь дебагом, иначе причину в вашем случае не установить. Возможно дело в версии php. SugarCRM полностью совместим с php 5.3.3 начиная только с версии 6.0.2.
Модуль коряво работает с IE 8.
Установка FireFox решило все проблемы
Использовал данный модуль на 5 версии шуги.
Обнаружил 1 глюк:
При импорте данных в модуль где есть поле с Фото/картинкой это поле становится Обязательным для импорта. обойти глюк кроме как удалить поле не удалось...