Установка CMS

Размещение собственного кода в cmsTCpro (Инструкция)

Система cmsTCpro предоставляет разработчикам два уровня интеграции кастомного кода: от простых вставок до сложных динамических модулей. Это позволяет подключать любые платежные шлюзы, системы аналитики и интерактивные виджеты без правки ядра CMS.

Важно: В отличие от версий на React, здесь используется технология Blazor .NET 10, что обеспечивает прямую связь между серверной логикой и клиентским JavaScript через механизмы JS Interop.

Способ 1: Глобальные вставки (Config Panel)

Самый быстрый способ для подключения внешних сервисов (Google Analytics, Yandex Metrica, JivoSite и др.).

  • Перейдите в раздел Администрирование -> Config.
  • Используйте поле Basket для вставки HTML-разметки (например, кнопок или контейнеров).
  • Используйте поле Script3 для вставки чистого JavaScript-кода.

Примечание: Код из этих полей автоматически подгружается на активные страницы и исполняется в контексте браузера пользователя.

Способ 2: Динамические JS-модули (Active Pages)

Для создания сложных интерфейсов (например, кастомной корзины или личного кабинета) используйте изолированные модули.

  1. Создайте файл my_module.js в директории wwwroot/js-modules/ на вашем сервере.
  2. Опишите логику модуля, используя экспорт функции:
    export function initModule(element, data) {     element.innerHTML = "<h3>Модуль активен для: " + data.userName + "</h3>";     // Здесь ваша логика (Stripe, PayPal, API) }
  3. Модуль автоматически станет доступен по адресу: /module-view/{Area}/my_module.

Безопасность и Доступ

Все активные страницы в cmsTCpro по умолчанию защищены атрибутом [Authorize]. Это гарантирует, что ваш кастомный код (например, форма оплаты) будет виден только авторизованным клиентам, а данные пользователя (userName, email) будут безопасно переданы в ваш скрипт из системы.

Для получения дополнительных примеров кода или консультаций по API cmsTCpro обращайтесь в техническую поддержку tutocito.com.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please reload the page.