Как установить composer в Vtiger CRM

Как установить composer в Vtiger CRM

Composer - самый популярный менеджер пакетов. И его очень не хватает при разработке в Vtiger CRM. Сегодня я расскажу вам свою методику подключения данного пакета в систему.

Composer - самый популярный менеджер пакетов. И его очень не хватает при разработке в Vtiger CRM. Сегодня я расскажу вам свою методику подключения данного пакета в систему.

Итак, начнём с самого начала.

Первое, что нам потребуется - это установить composer. Подробно расписывать процесс установки я не буду, тут всё зависит от вашей операционной системы. Для установки просто переходим на сайт https://getcomposer.org/ и следуем инструкциям.

Теперь, когда composer установлен глобально, переходим в паку с вашей CRM и запускаем команду:

composer install

После этого нам остаётся только подключить менеджер пакетов к CRM.

Для этого переходим в файл index.php и перед строчкой 

include_once 'vtlib/Vtiger/Module.php';

вставляем это:

include_once 'vendor/autoload.php';

После этого vtiger crm у вас должен открываться с ошибкой )

Теперь вам нужно установить несколько пакетов. Запустите в консоли следующую команду:

composer require ezyang/htmlpurifier

Затем вот эту:

composer require phpoffice/phpspreadsheet

Производим изменения в файле

include/utils/VtlibUtils.php

Ищем строчку:

include_once ('libraries/htmlpurifier/library/HTMLPurifier.auto.php');

Меняем на:

include_once ('vendor/ezyang/htmlpurifier/library/HTMLPurifier.auto.php');

Идём в файл

vendor/composer/autoload_files.php

Далее необходимо произвести изменения в файле

modules/Reports/ReportRun.php

Ищем строчку

require_once("libraries/PHPExcel/PHPExcel.php");

Меняем её на

require_once("vendor/autoload.php");

Теоретически теперь можно удалить папку libraries/PHPExcel

Теперь давайте попробуем обновить smarty. Запускаем команду:

composer require smarty/smarty

И меняем строчку в файле includes/runtime/Viewer.php:

vimport ('~/libraries/Smarty/libs/SmartyBC.class.php');

на следующую:

vimport ('~/vendor/smarty/smarty/libs/SmartyBC.class.php');

И теперь также можно при желании удалить папку со smarty libraries/Smarty/libs

После этого Vtiger у вас должна работать корректно.

И всё, composer должен быть установлен в вашей системе. Для тестирования можно проделать следующее. Попробуйте устанивить полезную утилиту для дебага:

composer require kint-php/kint --dev

Данная команда установит вот этот пакет: https://github.com/kint-php/kint

Далее переходим например в файл:

modules/Potentials/models/ListView.php

И перед строчкой 

return $massActionLinks;

вставляем следующее:

d($massActionLinks);

Теперь попробуйте открыть список сделок и вы уидете перед таблицей блог с debug-информацией.

С этого момента вы можете спокойно ставить любые пакеты через composer в вашу Vtiger CRM. И они автоматически будут подключены к системе.