Обновить страницу!
 



 
          





ГДЕ Я?
Программа Adobe® Photoshop® CS4 Extended поддерживает все функции Photoshop CS4, а также имеет новые возможности работы с трехмерными объектами, анимации и усовершенствованного анализа изображений.





Страница 1 из 11
Форум » CMS » Joomla » СОЗДАНИЕ КНОПКИ ДЛЯ ВИЗУАЛЬНОГО РЕДАКТОРА В JOOMLA 1.5
СОЗДАНИЕ КНОПКИ ДЛЯ ВИЗУАЛЬНОГО РЕДАКТОРА В JOOMLA 1.5
У вас  Дата: Вторник, 23.11.2010, 00:40 | Сообщение # 1

ADMIN







         Гильдия:
         Сообщений:
         Репутация:
         Статус:

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

О создании кнопки для редактора в Joomla! 1.0 уже все написано. Рассмотрим теперь, как подобную задачу реализовать в Joomla 1.5.

Кнопка редактора является плагином (в Joomla! 1.0.x мамботом) расширения редактора и состоит из двух файлов:

plg_name.php
plg_name.xml
где plg_ — это общепринятый префикс для плагинов в Joomla! 1.5, name - имя плагина.

ИНСТАЛЛЯЦИОННЫЙ XML-ФАЙЛ ПЛАГИНА
Данный файл предназначен для установки плагина в Joomla и содержит в себе различного рода информацию о данном расширении (тип, название, автор, дата выпуска, лицензия и т.д.). Пример инсталляционного XML-файла для простейшего плагина:


Code
<?xml version="1.0" encoding="utf-8"?>
<install version="1.5" type="plugin" group="editors-xtd">
        <name>Button - Hello</name>
        <author>Joomla! Project</author>
        <creationDate>March 2006</creationDate>
        <copyright>Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.</copyright>
        <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
        <authorEmail>admin@joomla.org</authorEmail>
        <authorUrl>www.joomla.org</authorUrl>
        <version>1.5</version>
        <description>My Description</description>
        <files>
                <filename plugin="hello">hello.php</filename>
        </files>
        <params />
</install>

В теге name заключено имя плагина отображаемое в списке плагинов административной панели. Тег filename содержит имя файла плагина и название плагина без расширения. Этого вполне достаточно.

ОСНОВНОЙ PHP-ФАЙЛ ПЛАГИНА
Файл hello.php приведен ниже:


Code
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.plugin.plugin' );
   
class plgButtonHello extends JPlugin
{
        function plgButtonHello(& $subject, $config)
        {
                parent::__construct($subject, $config);
        }
   
        function onDisplay($name)
        {
                $getContent = $this->_subject->getContent($name);
                $js = "
                        function insertHello(editor) {
                    var content = $getContent
                    jInsertEditorText('{hello}', editor);
                        }
                        ";
                $doc = & JFactory::getDocument();
                $doc->addScriptDeclaration($js);
   
                $button = new JObject();
                $button->set('modal', false);
                $button->set('onclick', 'insertHello(\''.$name.'\');return false;');
                $button->set('text', 'Hello');
                $button->set('name', 'hello');
                $button->set('link', '#');
   
                return $button;
        }
}?>

Разберем основные моменты. Любой плагин в Joomla 1.5 должен быть наследником от класса JPlugin, а плагин, реализующий кнопку для визуального редактора, должен реализовывать метод onDisplay. Данный метод, в результате своей работы должен вернуть объект, описывающий кнопку для визуального редактора.

В данном примере, для этих целей создается объект $button, и присваиваются минимально необходимые свойства:

modal — флаг, определяющий, является ли открывающееся окно модальным или нет (т.е. можно ли вернуться в редактор, не закрывая открывшееся окно).
onclick — обработчик события нажатия на кнопку (вызов JavaScript-функции)
name — имя кнопки и по совместительству название класса, присваиваемого кнопке (как правило совпадает с именем плагина).
text — текст, который будет написан на кнопке
link — ссылка (учитывая, что мы добавляем на кнопку обработчик события OnClick - ссылку делаем пустой, проставляя в качестве значения символ #)
Чуть выше определения объекта кнопки, можно заметить объявление JavaScript-функции, которую мы обозначили обработчиком события нажатия кнопки. Данная функция выполняет одно простое действие - вставляет тег {hello} в текущую позицию курсора редактора.

Объявление данной функции добавляется в код текущей страницы посредством вызова метода addScriptDeclaration у объекта типа JDocument, описывающего текущую страницу.

Вот собственно и все. Если указанные два файла упаковать в архив и установить, при редактировании материалов Joomla под редактором появится еще одна кнопочка, по нажатию на которой в поле редактора будет вставляться тег {test}.

 
У вас  Дата: Вторник, 14.02.2012, 13:25 | Сообщение # 2

Hypeassella







         Гильдия:
         Сообщений:
         Репутация:
         Статус:

Сайт о [url=http://sev29.ru/?p=55
динамика северодвинск
[/url]. На блоге вы прочитаете полезную информацию о [url=http://sev29.ru/?p=55
потребительские кредиты в северодвинске
[/url]
 
Форум » CMS » Joomla » СОЗДАНИЕ КНОПКИ ДЛЯ ВИЗУАЛЬНОГО РЕДАКТОРА В JOOMLA 1.5
Страница 1 из 11
Поиск:
Новый ответ
Имя:
Мини -Меню:



        

Смайлы:


   


Опции сообщения:
Код безопасности:
 





 


 


 

   


© 9Bloko.ru | Хостинг от uCoz