Forum categories

Пользовательские шаблоны для родительских разделов на форумах

Модуль "Forums". Как в Cotonti создать и подключить свои собственные шаблоны (макеты страниц) родительских категорий для отображения на сайте.


Administrator
Administrator • 2024-01-30 16:00 #1

Подключаем свои шаблоны для разных категорий в модуле "Forums".

"Котонти" - очень гибкий движок, среди преимуществ которого, это возможность использовать пользовательские шаблоны и полностью их переписывать под свои нужды. Тан например, мы можем создавать совершенно разные макеты страниц и дизайн для разных категорий статей и самой статьи. В модуле страниц это реализовано по-умолчанию, а вот для модуля "Форумы" нужно применить небольшой фикс прямо в исходных файлах модуля, а точнее в одном.

Инструкция по реализации подключения.

Мы можем создавать и подключать пользовательские шаблоны для "родительских" разделов форума, добавив небольшой фрагмент кода после хука в строке 170 в файле forums.sections.php .

В ходе эксперимента был подключен пользовательский шаблон для получения информации о названии шаблона, в качестве примера "forums.sections.cotonti.tpl", который можно настроить так же, как это реализовано со списками страниц - "page.list.news.tpl", "page.list.system.tpl" и т.д.

Вот код:

$mskin = cot_tplfile(array('forums' ,'sections', Cot::$structure['forums'][$c]['tpl']));
$t = new XTemplate($mskin);

Теперь идем в папку с шаблонами (макетами) страниц вашей темы, например:

/public_html/themes/myskin*/modules/forums

* myskin  - это название вашего основного шаблона сайта

создаем новый файл шаблона раздела форума, например - forums.sections.parentcode.tpl, где "parentcode" - это код родительской категори раздела форума, который должен точно соответствовать коду любой вашей категории в структуре модуля форумов.

код категории в имени шаблона для разных разделов на форуме

Копируем в этот файл всё содержимое из дефолтного шаблона "forums.sections.tpl" и проверяем.

Посмотреть пример такой реализации можно по ссылке на этом сайте.

Пример подключения собственного макета шаблона для родительских категорий на форуме cotonti

English

We can create and connect custom templates for the "parent" sections of the forum by adding a small piece of code after the hook in line 170 in the file forums.sections.php .

see the required code above on this page.

During the experiment, a custom template was connected to obtain information about the template name, as an example of "forums.sections.cotonti.tpl", which can be customized in the same way as it is implemented with lists of pages - "page.list.news.tpl", "page.list.system.tpl", etc.

 

This post was edited by Administrator (2024-01-30 16:55, 2 years ago)
2/2/0

webitproff
webitproff • 2024-02-13 12:25 #2

Alex300 добавил в планы на релиз  0.9.25 внести измения и сделать подобно как в модуле Pages:

$mskin = cot_tplfile(array('forums' ,'sections', Cot::$structure['forums'][$c]['tpl']));

/* === Hook === */
foreach (cot_getextplugins('forums.sections.main') as $pl) {
	include $pl;
}
/* ===== */

$t = new XTemplate(cot_tplfile($mskin));

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

<?php
/* ====================
  [BEGIN_COT_EXT]
  Hooks=forums.sections.main
  [END_COT_EXT]
  ==================== */

defined('COT_CODE') or die('Wrong URL');

$mskin = cot_tplfile(array('forums' ,'sections', Cot::$structure['forums'][$c]['tpl']));
$t = new XTemplate($mskin);

 

This post was edited by Administrator (2024-02-13 12:29, 2 years ago)
Administrator
Administrator • 2024-02-13 12:33 #3
#29 webitproff:

Alex300 добавил в планы на релиз  0.9.25 внести измения

Да, идея своеобразная, вот пример реализации самостоятельного шаблона для родительской категории форума (секции/раздела).

🗿

🧙‍♂️ 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.