Разработка своего плагина

Здравствуйте!

Я создал плагин при помощи SSH и /engine/console/. Также подключил шаблон, в нём шапку, контент и футер. Но на этом мои идеи в плане реализации плагина не заканчиваются.

Допустим, мой плагин доступен по адресу www.site.ru/plugin/. Я хочу сделать добавление материала, чтобы он выводился на странице /plugin/, то есть создать форму добавления по адресу /plugin/add/.

Скажите, пожалуйста, как создать эту страницу /plugin/add/?

Разработка модулей для LiveStreet

Давайте друзья будем разбераться с модулями и их созданием. На примере стандартного модуля «Pages» (Напомню он отвечает за статические страницы на сайте).
Перейдём в директорию \plugins\ здесь располагаются все подключаемые плагины. Движок сайта анализирует содержимое здешних папок (не будем вдаваться в подробности как именно).
Далее перейдём в папку \page\. Здесь мы видим следующий список файлов и папок:
PluginPage.class.phpЗдесь описано следующее:


if (!class_exists('Plugin')) {
	die('Hacking attemp!');
}
//Перевод строк выше выглядит так если не верно что является классом Плагин страница мертва. Если верно что это плагин, продолжаем работу. 
class PluginPage extends Plugin {
	
	/**
	 * Активация плагина "Статические страницы".
	 * Создание таблицы в базе данных при ее отсутствии.
	 */
	public function Activate() {		
		if (!$this->isTableExists('prefix_page')) {
			/**
			 * При активации выполняем SQL дамп
			 */
			$this->ExportSQL(dirname(__FILE__).'/dump.sql'); // -< Здесь видно зачем нужен файл базы данных dump.sql ПРи активации модуля выполняется запрос в базу. Запрос содержится как раз в этом файле. Имя его не столь важно... просто в нашем примере это dump.sql
		}
		return true;
	}
	
	/**
	 * Инициализация плагина
	 */
	public function Init() {
	
	}
}

plugin.xmlОписание плагина для таблицы модулей по адресу localhost/admin/plugins/ В нём содержится информация об авторе, краткая инфа о модуле и прочее...
dump.sqlФайл с SQL запросом на создание таблиц в бд. Используется при выполнении запроса активации в PluginPage.class.php
templates.dirПапка для шаблона модуля
classes.dirКлассы используемые в модуле берутся отсюда
config.dirНу и конфиги… это собственно очевидно

Для того чтобы написать свой первый модуль необходимо придумать дополнения для базы данных (уже используемой движком LS).После этого вы можете сделать экспорт добавленых вами таблиц в файл dump.sql.

Далее собственно работа с классами. Что есть это ютуб вам в помощь. Введя слово классы пхп там можно найти уйму учебного материала.

Некоторое описание стандартных возможностей движка:

На всех страницах принимаюхих любое участие (в любой иерархичности) в работе движка.
Проставлены следующие строки
if (!Условие) {
	die('Hacking attemp!');
}
важно что! обозначает «не выполнение». Используется для безопасности выполнения скриптов на сайте.

$this->ExportSQL(Путь); Выполнит указаный SQL запрос в базу.
$this->isTableExists(''); Проверка наличия таблицы.

$_REQUEST['page_title']=$oPageEdit->getTitle();
$_REQUEST['page_pid']=$oPageEdit->getPid();
$_REQUEST['page_url']=$oPageEdit->getUrl();
$_REQUEST['page_text']=$oPageEdit->getText();
$_REQUEST['page_seo_keywords']=$oPageEdit->getSeoKeywords();
$_REQUEST['page_seo_description']=$oPageEdit->getSeoDescription();
$_REQUEST['page_active']=$oPageEdit->getActive();	
$_REQUEST['page_id']=$oPageEdit->getId();


Регуесты оформляются с помощью базового набора функций get.