Для новичков, для представления о модуле, несколько скриншотов (нажмите, чтобы увеличить):
1. Страница основных настроек модуля
2. Страница списка сообщений - входящие, отправленные...
3. Страница полученного нового сообщения
4. Форма ответа на сообщение
5. История сообщений
6. Форма создания нового сообщения
PS на скриншотах верстка не из коробки движка, а из бесплатного шаблона «Cotcom» на 5-м бутрсапе.
Немного информации для начичнающих осваивать движок Cotonti:
1. В админке модуль находится в разделе расширений, в списке модулей под именем "Private Messages".
2. Спокойно жмем кнопку "Установить".
3. Затем кнопку "Конфигурация", где настройки можно заполнить как на скриншоте выше в этой теме.
4. На этом всё. Не нужно настраивать "Права", что-то приостанавливать и прочее.
Установка и настройки завершенны!
ПС: для кого-это эти шаги очевидны, а кто-то может расстеряется. так что лишним не будет.
Кастомизация, то есть настройка и изменение внешнего вида шаблонов
(файлов с раширением .tpl) под конкретные запросы.
Прежде всего нужно знать код расширения в системе, буд-то это плагин или модуль.
Код расширения всегда можно увидеть в админке как в списке расширений, так и на странице расширения.
Код модуля PM (Личные сообщения) - "pm".
Теперь по-порядку:
1. Модуль находится в корне сайта "/modules/pm". Важно! Ни в этой папке, ни в любой другой, не стоить делать каких-либо изменений, в противном случае при обновлении движка, вы потеряете прогресс и результаты своей работы. Это ограничение в Cotonti снимается простейшим образом и кроме этого предоставляет широкие возможности для внедрения ваших идей. Как это делается расмотрим дальше, главное последовательно.
2. Скин (тема) вашего сайта находится по адресу themes/myskin*/.
*myskin - это название темы вашего сайта, в коробке это "nemesis".
Если в папке вашей темы нет папки "modules" то создаем её! и получим, например по итогу такое themes/myskin/modules - это папка для кастомизации модулей движка Cotonti.
3. Вот и дошли к моменту, почему важно знать код расширения, в данном случае модуля PM (Личные сообщения) - "pm". Если код "pm" то с таким же названием создаем здесь папку, и получим папку для "своих" шаблонов модуля "themes/myskin/modules/pm". Такого вида, но под своим кодом расширения организовывается кастомизация и всех других модулей.
4. В эту папку копируем шаблоны модуля, которые будем изменять. Где их взять?
Базовые, или лучше сказать исходные шаблоны расширений, преимущественно всегда находятся в папке раширения, в папке "tpl", - у нас это modules/pm/tpl . Теперь всё из этой папки, копируем в папку для кастомизации шаблонов модуля "themes/myskin/modules/pm".
5. Получаем список шаблонов в папке:
- pm.send.tpl - это шаблон отправки, то есть создания нового сообщения.
- pm.list.tpl - это шаблон списков сообщений: входящие, отправленные и т.д.
- pm.message.tpl - шаблон входящего сообщения, в котором форма ответа и история переписки.
Для редактирования шаблонов достаточно редактора кода "Notepad++" и FTP-клиента, например "FileZilla" для доступа к файлам сайта на хостинге(сервере).
сообщения если есть
<!-- IF {PHP.cot_modules.pm} -->
<li class="nav-item">
<a data-bs-toggle="tooltip" data-bs-title="{PHP.L.Private_Messages}" href="{PHP|cot_url('pm')}" class="nav-link text-light
<!-- IF !{PHP.m} -->active
<!-- ENDIF--> d-flex align-items-center">
<i class="fa-solid fa-envelope-open-text fs-3 flex-shrink-0 text-primary"></i>
<span class="flex-grow-1 d-inline-block"></span>
<!-- IF {PHP.usr.messages} -->
<span class="badge badge-danger navbar-badge">{PHP.usr.messages}</span>
<!-- ELSE -->
<span class="badge badge-secondary navbar-badge">0</span>
<!-- ENDIF-->
</a>
</li>
<!-- ENDIF-->
на у если вы админ, можно еще так
<ul class="navbar-nav ms-auto d-flex align-items-lg-center mb-lg-0 profile-menu">
<!-- IF {PHP.out.notices} OR {PHP.cot_modules.pm} > 0 -->
<li class="nav-item dropdown dropdown-hover">
<a class="nav-link link-light opacity-10" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<!-- IF {PHP.out.notices} OR {PHP.usr.messages} > 0 -->
<span class="fs-4 text-primary" data-bs-toggle="tooltip" data-bs-title="{PHP.L.header_notices_yes}">
<i class="fa-solid fa-circle-exclamation"></i>
</span>
<span class="d-lg-none">{PHP.L.header_notices_yes}</span>
<!-- ELSE -->
<span class="fs-4 text-muted" data-bs-toggle="tooltip" data-bs-title="{PHP.L.header_notices_no}">
<i class="fa-solid fa-circle-exclamation"></i>
</span>
<span class="d-lg-none">{PHP.L.header_notices_no}</span>
<!-- ENDIF -->
</a>
<ul class="dropdown-menu dropdown-menu-end">
<!-- IF {PHP.out.notices} -->
<li id="notices">{HEADER_NOTICES}</li>
<!-- ENDIF -->
<!-- IF {HEADER_USER_PMREMINDER} -->
<li class="dropdown-item">
<i class="fa-regular fa-envelope me-2"></i> {HEADER_USER_PMREMINDER}
</li>
<!-- ENDIF -->
<!-- IF {EVENTS_HEADER} -->
<li class="dropdown-item">{EVENTS_HEADER}</li>
<!-- ENDIF -->
</ul>
</li>
<!-- ENDIF -->
</ul>
так и ЛС и если страница например на модерацию/утверждение пришла
и самое простейшее
themes/YourSkin/header.tpl :
{HEADER_USER_PMS}
{HEADER_USER_PMREMINDER}







