3  /  36

Задание демо-режима для модулей

Просмотров: 39421
Дата последнего изменения: 23.09.2021
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
1
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, чтобы компоненты не работали без модуля.

Внимание! В систему встроена защита от повторной установки демо-версии. То есть пользователь не имеет возможности удалить и поставить заново модуль и вновь пользоваться им в демо-режиме.

25
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии