Добавление фотографий или изображений к записям

На удивление стандартный функционал 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

Добавляем данное поле в макет просмотра и редактирования. Имеем следующий результат :

Добавление фотографий к записям в sugarcrm. Пример

На этом все. Осталось только сказать начальству, что вы проделали сложнейшую работу по изменению функционала SugarCRM и попросить премию. Чем я сейчас и займусь :smile:

Обновление от 12 августа 2010.
На днях обновился до версии php 5.3.2. Модуль сразу перестал работать. Оказалась причина в том что с версии 5.3 eregi считается deprecated функцией, а в файле phpThumb выставлено предупреждение обо все ошибках. Итак выключаем отображение об ошибках (можно выключить только отображение deprecated ошибок) в самом начале файла custom/SynoFieldPhoto/phpThumb/phpThumb.php

error_reporting(0);
ini_set('display_errors', '0');

Это необходимо написать вместо первых строчек в файле, которые включают отображение об ошибках.

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

Вы можете оставить комментарий, или поставить трэкбек со своего сайта.

Есть 36 коммент. к “Добавление фотографий или изображений к записям”

  1. Chif:

    Всем привет!

    Не могу скачать не одного файла с данного ресурса. Пишет:

    К сожалению, Firefox не может найти страницу stalk.

  2. [{Dark_Angel}]:

    В 6-й версии работает.

    Только что проверил.

  3. Добрый день.

    Спасибо. На 6.0.2 всё работает.

    Конечно это не по теме, но можно ли сделать как нибудь так:

    fotobank.reevo.ru/primer/synofieldphoto2.jpg

    А то табличность вывода страницы в SugarCRM задолбала вконец. При фото 300X200 еще куда не шло, а при большем разрешении совсем все плохо

    • Шуга Админ:

      Стандартными средствами SugarCRM SugarView это не получится реализовать.

      Либо же использовать javascript для динамического изменения формы, либо же переделывать DetailView.tpl под ваши нужды.

      Как более простой вариант, могу посоветовать дополнить модуль какой нибудь lightbox библиотекой, и в таблице показывать превью фото, а при клике отображать полное фото. Либо же самый простой вариант, перенесите поле в отдельную панель и включите в студии опцию для данной формы: «Отображать на закладках». И у вас будет отдельная закладка для фото.

  4. Chif:

    Всем привет!

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

    Заранее спасибо

  5. Chif:

    1. Картинок нет в данном каталоге

    2. Да пробывал

    • Шуга Админ:

      У вас linux или windows сервер используется для SugarCRM?

      Если linux, то возможно не корректно выставлены права, в частности если в качестве web сервера используется apache, у него нет прав на добавление файлов в данную директорию.

      Как вы проверяли что библиотека GD подключена? В phpinfo у вас отображается секция GD с опцией GD Support enabled? Какая версия GD установлена?

      • Chif:

        Да стаит 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.

  6. Chif:

    Модуль коряво работает с IE 8.

    Установка FireFox решило все проблемы

  7. igorpolt:

    :) Отличная идея. Только один вопрос, не имею возможности добавить поле в модуль-билдере, подскажиете, пожалуйста, как это поле выглядит в vardefs. Спасибо.

  8. Chif:

    Использовал данный модуль на 5 версии шуги.

    Обнаружил 1 глюк:

    При импорте данных в модуль где есть поле с Фото/картинкой это поле становится Обязательным для импорта. обойти глюк кроме как удалить поле не удалось...

Написать комментарий

Вы должны войти чтобы комментировать.