Керівництво як створити свій вид топіка на livestreet

Даний проект дуже цікавий для мене, так що я хотів би внести посильну лепту в його формування.

Отже, у мене з'явилося бажання написати посібник зі створення свого виду топіка. Така операція може бути дуже корисною і відкриває ширші можливості розміщення движка.

Після прочитання цієї статті, Новомосковсктель зможе додавати свої види топіків, включаючи в них довільні поля.

Після ознайомлення з керівництвом, можемо розібрати як відбувається створення звичайного топіка:
1. Користувач проходить по посиланню / topic / add
2. Урл Парс. Виконуються евент EventAdd з класу екшену (classes / actions / ActionTopic.class.php), який вказаний в config / config.route.php
3. Вся інформація, що обробляється в методі, передається за допомогою змінних в шаблон /templates/папка_шаблона/actions/ActionTopic/add.tpl
4. Якщо метод EventAdd виконується без переданих POST-параметрів, відбувається просто висновок даних в шаблон.
5. Якщо метод EventAdd або EventEdit отримує POST-параметри, виконується збереження даних в базу.
6. Для отримання даних з бази і їх збереження, в класі ActionTopic викликаються процедури
збереження виду setTitle, setText, getTitle, getText тощо. які знаходяться в класі "classes / modules / topic / entity / Topic.entity.class.php".

Отже для створення свого виду топіка нам необхідно:
1. Створити посилання на створення топіка в шаблоні smarty.
Наприклад «Місце» в загальному меню блогів:

Для цього відкриваємо файл шаблону /templates/папка_шаблона/menu.action.tpl
І додаємо туди в табличку після

посилання на місце:

Тепер у нас викликається клас ActionPlace.
3. Створюємо клас classes / actions / ActionPlace.class.php
Можна просто скопіювати клас ActionTopic, замінивши назви змінних.
Методом, що встановлює тип топіка є

Які викликав вже в класі «ActionPlace»


Для виведення різних топіків із зазначенням типу, потрібно підправити шаблон topic_list.tpl b


І висновок буде такого виду:

Керівництво як створити свій вид топіка на livestreet

Так само корисно подивитися topic.tpl
Ніби як все. Якщо кому цікавий приклад, можу послати в личку.

Сподіваюся це кому-небудь допоможе створити свій «проект мрії» :)