Автозагрузка библиотеки PHP в PrestaShop для модуля доставки перевозчика

Я хочу использовать эту библиотеку в модулях доставки PrestaShop: https://github.com/dvdoug/BoxPacker

Библиотека BoxPacker определяет количество и размер коробок, требуемых из доступного списка для упаковки выбранных предметов. Я буду использовать библиотеку в модулях доставки, таких как fedexcarrier, для получения более точных тарифов на доставку. Библиотека использует пространство имен и совместима с PSR-4.

Я не знаю, как интегрировать его с PrestaShop v1.5.6.2. Как я могу интегрировать библиотеку с PrestaShop (используя композитор?) и сделать ее доступной в модулях доставки с помощью автозагрузчика PrestaShop?


person drolex    schedule 11.06.2014    source источник
comment
какую версию prestashop вы используете?   -  person Marcelo Bezerra bovino    schedule 12.06.2014


Ответы (1)


Вам просто нужно клонировать конкретный модуль доставки и добавить эту функцию точно так же, как вы добавили бы ее в пользовательский скрипт. В PrestaShop или любом другом скрипте нет ничего особенного в такой интеграции. Вам нужно включить файлы классов там, где они требуются явно.

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

person PrestaShopDeveloper    schedule 12.06.2014
comment
Я подумал, что мог бы добавить его в папку классов и сделать так, чтобы он загружался автоматически. Это неправильно? Зачем мне клонировать модуль доставки? Лучше не модифицировать существующее? Итак, я бы дублировал BoxPacker в нескольких модулях? - person drolex; 13.06.2014
comment
Вы должны клонировать модуль, потому что при следующем обновлении все ваши пользовательские изменения будут переопределены новой версией. Также хорошо, чтобы каждый модуль имел свою версию сторонней библиотеки и включал ее там, где это необходимо. Их ведь будет использовать только конкретный модуль, они не являются общими для всего магазина. Эти файлы не являются частью PrestaShop, поэтому их место не в папке классов. Вот как все должно быть сделано. - person PrestaShopDeveloper; 13.06.2014