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

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

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

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

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

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

  1. hawk:

    За русификацию респект

  2. Георгий:

    Спасибо :)

    Только не совсем понятно, почему при загрузке анимированной gif он ее конвертирует в jpg?

    • Шуга Админ:

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

  3. Игорь:

    :-| Здравствуйте.

    Вопрос следующий .

    При выбираем модуль контакты –> поля -> те самые поля не активируются для работы с ними. Я и шугар переустановил но тоже самое пишет что данная функция недоступна. Подскажите что мне нужно сделать что бы редактор полей работал остальные модули работают.

    • Шуга Админ:

      Игорь опишите более подробно проблему.

      Про какие поля идет речь? Если вы про поле описываемого здесь модуля Photo field для SugarCRM, то предварительно надо создать контакт. После этого поле добавления фото будет активно, и можно будет добавлять фото к записи.

      Если я неправильно вас понял, напишите на admin (собачка) sugartalk.ru, опишите более подробно проблему и укажите вашу текущую версию sugarcrm.

  4. Текущая версия SugarCRM — 5.5.1 — русифицированная, установил модуль, все поставилось без проблем, прописал поле photo в контакты, но при загрузке изображения получаю вместо картинки слова NO GD. Чтобы это значило, сталкивались ли вы с таким...?

    пробовал и gif, и jpg? и png (кстати он их не воспринимает вообще) . Может знаете, что можно тут сделать?

    • Шуга Админ:

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

      • Спасибо за совет!

        Воспользовавшись им, нашел как это сделать — в файле php.ini раскомментировать строку

        ;extension = php_gd2.dll

        и убедиться в наличии этой библиотеки в каталоге ext (каталог указан в значении переменной extension_dir= того же файла php.ini)

        8-O

  5. Den:

    а как оно живёт с версией 6?

    • Шуга Админ:

      К сожалению еще не пробовал его устанавливать на SugarCRM 6.

      В модуле все на хуках организовано, поэтому по идее должно работать и с 6 версией.

      Сегодня вечером попробую и сообщу вам результаты.

    • Шуга Админ:

      Работает на SugarCRM 6 без любых изменений.

      Сегодня еще обнаружилась проблема при работе с версиями php выше 5.3.

      Способ решения добавил в статью.

  6. Честно говоря не пробовал с шестой версией...

    я думаю этот модуль туда не поставится, скажет не та версия...

  7. nukacoal:

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

    что это может означать?

    • nukacoal:

      эта надпись отображается вместо формы загрузки

    • Шуга Админ:

      Это и означает :mrgreen:

      Так как фотография связывается с id записи, то пока запись не сохранена, у нее нет id и нет возможности прикрепить фотографию. После сохранения записи SugarCRM генерирует уникальный id для записи, к которому можно уже «цеплять» фотографию.

  8. Владимир:

    на SugarCRM 6.0.1 не устанавливается... в процессе установки пишет:

    Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 95 bytes) in /.../.../.../htdocs/crm/include/utils.php on line 942

    что делать?

    • Шуга Админ:

      Странно. Вообще эта ошибка означает нехватку памяти для php. Насколько я понимаю у вас стоит 64Мб лимит памяти. Впринципе этого вполне достаточно. Но возможно в новой версии SugarCRM что то изменили. Попробуйте увеличить в php.ini memory_limit = 128M, хотя бы на время установки модуля.

  9. Владимир:

    спасибо за быстрый ответ, но парадокс в том, что я не нашел вовсе этого файла. на сервере его нет...

    • Шуга Админ:

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

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

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