Forums / National / Russian / Модули и плагины / Private Messages (PM) - модуль из коробки

Модуль общения пользователей сайта через систему отправки сообщений - обсуждаем здесь!

webitproff
#45923 2023-02-18 10:51

Private Messages (PM) - модуль из коробки.

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

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

Для новичков, для представления о модуле, несколько скриншотов (нажмите, чтобы увеличить):

1. Страница основных настроек модуля

2. Страница списка сообщений - входящие, отправленные...

3. Страница полученного нового сообщения

4. Форма ответа на сообщение

5. История сообщений

6. Форма создания нового сообщения

PS на скриншотах верстка не из коробки движка

 

Немного информации для начичнающих осваивать движок 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" для доступа к файлам сайта на хостинге(сервере).

 

Добавлено 3 недели спустя:

сообщения если есть

    <!-- 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-->

Добавлено 5 минут спустя:

на у если Вы админ, можно еще так

            <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>

так и ЛС и если страница например на модерацию/утверждение пришла

 

 

Добавлено 1 минута спустя:

и самое простейшее

themes/YourSkin/header.tpl :
{HEADER_USER_PMS} 
{HEADER_USER_PMREMINDER} 

 

аккаунт удален - не срослось с разработчиками
ушел на другой движок
This post was edited by webitproff (2023-03-27 08:51, 1 year ago)