Просмотров: 40172
Дата последнего изменения: 23.09.2021
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
3
4
5
Платный модуль может быть представлен в демо-режиме для изучения пользователем его возможностей перед приобретением.
В модуле могут быть заданы следующие ограничения:
- Файлы include.php и
install/index.php
будут обфусцированы.
Примечание: В файле include.php нужно обязательно закрывать php теги, так как в демо-режиме модуля будет ошибка примерно такая:
[ParseError]
syntax error, unexpected '<', expecting end of file (0) /mnt/c/Users/user/web/modules/bitrix-firstsite/bitrix/modules/techdir.redirector/include.php:19
- В файл include.php будет добавлен код проверки триального режима и его срока.
- В файл
install/index.php
будет добавлен код, который будет устанавливать дату установки модуля для дальнейших проверок. В файле обязательно должна быть функция InstallDB хотя бы с пустым содержимым и она обязательно должна вызываться.
Кроме этого, для подключения модулей можно использовать функцию CModule::IncludeModuleEx($module_name). Отличие ее от стандартной CModule::IncludeModule в том, что она в качестве результата может возвращать:
MODULE_NOT_FOUND (0)
- модуль не найден (например скопировали ваши компоненты из модуля, а модуль удалили);
MODULE_INSTALLED (1)
- модуль установлен и подключен;
MODULE_DEMO (2)
- модуль работает в демо-режиме (например можно вывести сообщение, что вы можете купить версию без ограничений);
MODULE_DEMO_EXPIRED (3)
- срок работы демо-режима модуля истек.
Если ваш модуль содержит только компоненты, то рекомендуется часть их функционала вынести в include.php, чтобы компоненты не работали без модуля.
Внимание! В систему встроена защита от повторной установки демо-версии. То есть пользователь не имеет возможности удалить и поставить заново модуль и вновь пользоваться им в демо-режиме.