legacy/README.md

81 lines
4.5 KiB
Markdown
Raw Normal View History

2015-10-30 11:30:51 +03:00
Legacy
======
Микрофреймворк для устаревших платформ (php <= 5.2.17), либо, в случае отсутствия
возможности создать модуль для конкретной платформы.
### Установка
* Распаковать директорию retailcrm в корень проекта
* На основе файла data/config/settings-dist.ini создать конфигурационный файл data/config/settings.ini
* Создать необходимые sql файлы, файлы с критериями поиска писем и их обработчки (в случае их отсутствия скрипт даст подсказку)
### Настройка
Скрипт выполняет определенные действия в зависимости от переданных параметров.
Пример параметров можно увидеть, запустив скрипт без них:
```
php app.php
```
Обмен работает через вызов скрипта по cron, в частности производится:
1. Выгрузка новых заказов из магазина в CRM
2. Выгрузка новых клиентов из магазина в CRM
3. Получение изменений из CRM и запись их в БД сайта
4. Выгрузка каталога товаров в ICML файл
5. Выгрузка справочников (доставки, типы оплат, статусы заказов)
6. Выгрузка заказов из почты
Для этого необходимо создать следующие записи:
```
*/5 * * * * /path/to/php /path/to/retailcrm/app.php -e orders -l
*/5 * * * * /path/to/php /path/to/retailcrm/app.php -e mail -m mail@example.com
*/25 * * * * /path/to/php /path/to/retailcrm/app.php -e customers -l
*/15 * * * * /path/to/php /path/to/retailcrm/app.php -e history
* */6 * * * /path/to/php /path/to/retailcrm/app.php -e icml
* 3 * * * /path/to/php /path/to/retailcrm/app.php -e references
```
В случае, если для консольного окружения нет отдельного php.ini (чаще всего на FreeBSD),
а подключение модулей (mysql.so, dom.so, xmlwriter.so) выполняется отельно, необходимо
при запуске скрипта явно указать путь к php.ini, можно к тому, который используется
при вызове php через libapache-mod-php (путь к нему покажет phpinfo()):
```
*/5 * * * * /path/to/php -c /path/to/php.ini /path/to/retailcrm/app.php -e orders -l
*/15 * * * * /path/to/php -c /path/to/php.ini /path/to/retailcrm/app.php -e history
* */6 * * * /path/to/php -c /path/to/php.ini /path/to/retailcrm/app.php -e icml
```
### Параметры
#### Общие параметры запуска
Общие параметры передаются с помощью ключа -e:
* icml - генерация icml файла
* history - получение истории изменений из CRM для обновления данных в БД сайта
* orders - выгрузка последних заказов (выгружаются заказы, сформированые с момента предыдущего запуска скрипта)
* customers - выгрузка последних клиентов (выгружаются клиенты, не имеющие заказов, сформированые с момента предыдущего запуска скрипта)
* references - выгрузка справочников (по расписанию можно выгружать все справочники, если они доступны)
* mail - выгрузка заказов из почты (выгружаются заказы из писем)
* dump - выгрузка дампа БД
#### Дополнительные параметры запуска
* Ручной запуск с передачей дополнительных параметров для выгрузки конкретного справочника:
```
/usr/bin/php -i /etc/cli/php.ini -f app.php -e reference -r delivery-types
```
* Выгрузка 1 заказа:
```
/usr/bin/php -i /etc/cli/php.ini -f app.php -e orders -p 12345
```
* Выгрузка нескольких клиентов:
```
/usr/bin/php -i /etc/cli/php.ini -f app.php -e customers -p 404,417-423
```