• Изменение в правилах форума! В связи с огромным количеством вопросов поступающих в адрес технической поддержки мы решили изменить правила форума! Просим всех пользователей обратить внимание на данные изменения и четко их соблюдать!
  • Ребята, нуждаемся в программистах! Если хотите зарабатывать и есть время, пишите администраторам сайта. Есть база и инструменты, нужен опыт и знания =)
  • Уважаемые пользователи! На форуме появились разделы по работе с системой Yclas. Yclas - это скрипт доски объявлений. Нужны разработчики.

Создание плагина

EXPERT

Новичок
Есть большое желание научиться создавать плагины. Руководствуюсь этой статьей http://os-class.ru/wiki/doku.php/talk/создание_плагинов. Вроде делаю все как в примере, скопировал-вставил и все равно куча ошибок, ничего не получается. Может кто-нибудь дать исходники самого элементарного плагина?
 

administrator

Блудный сын.
Команда форума
Возьмите за пример простой плагин социальных закладок Яндекс на нашем сайте и по подобию сделайте простой плагин "Hello World".
Как это сделать? Скачиваем плагин Яндекс социальные закладки http://os-class.ru/plaginy-osclass.html в самом конце, далее разбираем код!
При написании плагина, необходимо сделать связи, описать их. Давайте руководствоваться шагами, так будет понятнее, а для примера возьмем мой плагин, он простой и понятный!
1. Создадим директорию, а в ней файл index.php, название каталога будет названием нашего плагина и будет отображать уникальный путь к скрипту.
В шапке плагина в комментариях пишем информацию о нашем плагине:
Код:
/*
Plugin Name: Social bookmarks Yandex /* Название плагина */
Plugin URI: http://www.os-class.ru/ /* Сайт разработчика */
Description: Социальные закладки от Яндекс /* Описание плагина */
Version: 1.0.1 /* Версия плашгина */
Author: Osclass Rus Team /* Автор */
Author URI: http://www.os-class.ru/ /* Сайт разработчика */
Short Name: social-bookmarks /* Короткое название плагина */
Plugin update URI: social-bookmarks /* Название папки в которой находятся скрипты */
*/
Обязательные поля я расшифровал в комментариях. Наличие данного кода обязательно он показывает информацию для отображения в меню плагинов.
2. Основная часть, которая будет отрабатываться на сайте, т.е. функционал сайта.
Эти скрипты выводят ваш функционал, к примеру:
PHP:
	function social_bookmarks($content) {
$content .= '<div class="social-bookmarks">' ;
$content .= '<script type="text/javascript" src="//yandex.st/share/share.js" charset="utf-8"></script>' ;
$content .= '<div class="yashare-auto-init" data-yashareL10n="ru" data-yashareType="button" data-yashareQuickServices="yaru,vkontakte,facebook,twitter,odnoklassniki,moimir,lj,friendfeed,moikrug,gplus"></div>';
	$content .= '<div class="clear"></div>' ;
	$content .= '</div>';
return $content ;
	}
	
	function social_bookmarks_header( ) {
		$location   = Rewrite::newInstance()->get_location() ;
		$section	= Rewrite::newInstance()->get_section() ;
 
	/**
	 *  Установим стили отображения наших закладок
	 */
		
		if($location == 'item' && $section == '') {
			echo '
			<style type="text/css">
				.social-bookmarks ul { margin: 10px 0; list-style: none; }
				.social-bookmarks ul li { float: left; }
				.social-bookmarks .clear { clear:both; }
			</style>';
		}
	}
3. В самом конце Хуки, нужные вам хуки!
Код:
	/**
	 *  HOOKS
	 */
	osc_register_plugin(osc_plugin_path(__FILE__), '');
	osc_add_hook(osc_plugin_path(__FILE__) . '_uninstall', '');
	osc_add_filter('item_description', 'social_bookmarks');
	osc_add_hook('header', 'social_bookmarks_header');

Их я не буду расписывать, т.к. в документации есть определения под каждый хук, для чего они нужны!
Это самый простой плагин, который можно придумать. Таким же образом можно разработать плагины для вывода комментариев Вконтакте или Одноклассников. В общем дерзайте =)
 

administrator

Блудный сын.
Команда форума
Будут вопросы или идеи обращайтесь! Лучше в личку, я обещаю поддержать любое начинание!
 
Верх