Как установить 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. И они автоматически будут подключены к системе.

 

Популярное

Самые популярные посты

Как быть максимально продуктивным на удалённой работе?
Business

Как быть максимально продуктивным на удалённой работе?

Я запустил собственный бизнес и намеренно сделал всё возможное, чтобы работать из любой точки мира. Иногда я сижу с своём кабинете с большим 27-дюймовым монитором в своей квартире в г. Чебоксары. Иногда я нахожусь в офисе или в каком-нибудь кафе в другом городе.

Привет! Меня зовут Сергей Емельянов и я трудоголик
Business PHP

Привет! Меня зовут Сергей Емельянов и я трудоголик

Я программист. В душе я предприниматель. Я начал зарабатывать деньги с 11 лет, в суровые 90-е годы, сдавая стеклотару в местный магазин и обменивая её на сладости. Я зарабатывал столько, что хватало на разные вкусняшки.

Акция! Профессиональный разработчик CRM за 2000 руб. в час

Выделю время под ваш проект. Знания технологий Vtiger CRM, SuiteCRM, Laravel, Vue.js, Golang, React.js. Предлагаю варианты сотрудничества, которые помогут вам воспользоваться преимуществами внешнего опыта, оптимизировать затраты и снизить риски. Полная прозрачность всех этапов работы и учёт временных затрат. Оплачивайте только рабочие часы разработки после приемки задачи. Экономьте на платежах по его содержанию разработчика в штате. Возможно заключение договора по ИП. С чего начать, чтобы нанять профессионального разработчика на full-time? Просто заполните форму!

Telegram
@sergeyem
Telephone
+4915211100235