Предпросмотр для приложенных файлов в списках CRM Битрикс24


Такой вот необычный кейс был реализован нами для одного из наших клиентов. Возникла необходимость показывать предпросмотры вложений — документов различного формата в коробочной версии Битрикс24 в списках CRM:

Для реализации данного кейса на сервер Битрикс24 клиента были установлены расширения ImageMagick и Libreoffice для PHP.

Для устновки ImageMagick необходимо ввести в командной панели ssh следующие команды:

yum install ImageMagick ImageMagick-devel
yum install php-pear gcc make php-devel
pecl install imagick

на вопрос «Please proivde prefix…» пишем all

echo «extension=imagick.so» > /etc/php.d/imagick.ini

затем ребутим апач

service httpd restart

и проверяем что все установлено

php -m | grep imagick

 

Установка Libreoffice осуществляется следующим образом:

yum install libreoffice-headless
yum install libreoffice-writer
yum install libreoffice-calc

shell_exec(‘/usr/bin/libreoffice —headless -convert-to pdf —outdir /home/bitrix/ext_www/portal.bitrix.center /home/bitrix/ext_www/portal.bitrix.center/testdoc.doc’);

 

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

$eventManager->addEventHandler(‘disk’, ‘onAfterAddFile’, function (\Bitrix\Main\Event $event)

{
}
и для события

$eventManager->addEventHandler(‘disk’, ‘onAfterDeleteFile’, function (\Bitrix\Main\Event $event)
{

}

 

При загрузке нового файла на диск Битрикс24 в зависимости т формата файла для него генерируется превью расширением ImageMagick и/или Libreoffice, далее превью хранится в инфоблоке. Шаблоны компонентов CRM Битрикс24, в которых необходим вывод превью — кастомизированы.

При удалении файла с диска Битрикс24, удаляется превью и удаляется запись о нем из хайлоадблока.

,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *