Forum categories

Введение. Модуль личных сообщений в CMS Cotonti.

Знакомство с модулем в иллюстрациях. Установка и настройка модуля личной переписки пользователей (приватное общение) на сайте под управлением котонти.


webitproff
webitproff • 2024-02-14 18:05 #1

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

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}

 

This post was edited by webitproff (2024-02-14 18:27, 2 years ago)
8/8/0

🗿

🧙‍♂️ Well met, good traveler! Fate has guided your steps to our humble realm. Here, wise sages and masters of the coding craft ⚒️📜 gather to unravel the mysteries of the code ✨⚙️, share their knowledge, and add new chapters to our chronicles.
⬅️ To the left lie ancient scrolls 📚 filled with forgotten wisdom. ⬆️ Straight ahead, friendly folk offer counsel 💬 to those in need. ➡️ To the right, you may become a chronicler ✍️ yourself, sharing your craft and leaving words of wisdom for those yet to come.
📝 Delay no longer—tell us the name by which you are known, complete the rite of registration 🛡️, and join our fellowship!
🏰 Our brotherhood holds no secret initiation, yet many halls remain closed to wandering guests, for some knowledge 💎 is reserved for those who choose to walk this path beside us.