Создание своих действий
![]() | ![]() |
Для начал разберём структуру папок действий.
<Devel_Studio_Dir>\system\design\actions -папка с действиями
<Devel_Studio_Dir>\system\design\editor_types - типы элементов для создания действий
А теперь приступим к созданию действия.
1. Создадим папку с названием вашего действия (Например: MyAction) в папке "<Devel_Studio_Dir>\system\design\actions\" и перейдем в папку с вашим действием.
2. Создадим файл "info.php" и запишем внутри него вот такой текст
3. Если ваше действие будет с параметрами, то создаем файл диалог "dialog.php" в папке "<Devel_Studio_Dir>\system\design\actions\" и запишем внутри него вот такой текст:
В этом файле прописываются как будет выглядеть диалог действия. И например если у вашей команды два параметра (Пример: command(<текст>,<что то ещё>)), то надо будет создавать элементы диалога по порядку, для каждого параметра (их будет два).
Есть пять типов элементов диалога:
Пример диалога:
4. Создаем иконку в папке с вашим действием и переименовываем в "icon.bmp"
5. Если вы создали действия на одном языке и хотите его перевести на другой, то в папке с действием создаем папку "lang", заходим в неё и создаем папку "ru". Дальше переходим в папку "ru" и создаем файл "messages.php". В нем прописываем вот этот текст:
Ну теперь запускаем Devel Studio и смотрим наше действие в редакторе кода )) Если всё правильно, то вы увидите его.
вернутся к списку версия для печати
<Devel_Studio_Dir>\system\design\actions -папка с действиями
<Devel_Studio_Dir>\system\design\editor_types - типы элементов для создания действий
А теперь приступим к созданию действия.
1. Создадим папку с названием вашего действия (Например: MyAction) в папке "<Devel_Studio_Dir>\system\design\actions\" и перейдем в папку с вашим действием.
2. Создадим файл "info.php" и запишем внутри него вот такой текст
| $n = array();
$n['PREG'] = '%<Команда>\((.*)\)%i'; $n['COMMAND'] = '<Команда>'; $n['TEXT'] = '<Название команды>'; $n['DESCRIPTION'] = '<Описание команд>'; $n['INLINE'] = '<Описание с выводом параметров. Например: "Данная команда содержит %pr1%". Тут за вместо %pr1% выводиться параметр первый.>; $n['SECTION'] = '<В какой группе действий находиться>'; $n['SORT'] = 10; //каким по порядку находиться действие и значение должно быть кратно 10 return $n; |
3. Если ваше действие будет с параметрами, то создаем файл диалог "dialog.php" в папке "<Devel_Studio_Dir>\system\design\actions\" и запишем внутри него вот такой текст:
| <?
$r = array(); <тут элементы диалога о них читайте ниже> return $r; |
В этом файле прописываются как будет выглядеть диалог действия. И например если у вашей команды два параметра (Пример: command(<текст>,<что то ещё>)), то надо будет создавать элементы диалога по порядку, для каждого параметра (их будет два).
Есть пять типов элементов диалога:
- CHECK - радио кнопка
| $r[] = array(
'TYPE'=>'CHECK', 'CAPTION'=>t('Тут название. Например "Включить сброс"'), ); |
- COMBO - сворачивающийся список значений
| $r[] = array(
'TYPE'=>'COMBO', 'CAPTION'=>t('Тут название. Например "Тип окна"'), 'USE_QUOTE'=>false, //заключать ли в кавычки введённые параметры. включить - true/ выключить - false 'VALUES'=>array('Огромное','Маленькое','Без заголовка','Другой'), //элементы списка 'ITEM_INDEX'=>1, //какой пункт будет выделен, в данный момент выделен "Маленькое" ); |
- INPUT_DLG - текстовое поле
| $r[] = array(
'TYPE'=>'INPUT_DLG', 'CAPTION'=>t('Тут название. Например "Текст"'), 'USE_QUOTE'=>false, //заключать ли в кавычки введённые параметры. включить - true/ выключить - false ); |
- LIST - список
| $r[] = array(
'TYPE'=>'COMBO', 'CAPTION'=>t('Тут название. Например "Раздел"'), 'USE_QUOTE'=>false, //заключать ли в кавычки введённые параметры. включить - true/ выключить - false 'VALUES'=>array('Первый','Второй'), //элементы списка 'ITEM_INDEX'=>0, //какой пункт будет выделен, в данный момент выделен "Первый" 'NO_MULTI'=>true, //отключить ли мульти-выделение. отключить - true/ включить - false 'H'=>150, //определяет высоту списка, в данный момент равна 150px. Если параметр не введён, то размер будет 100 ); |
- VARS - выводит список переменных в событии
| $r[] = array(
'TYPE'=>'VARS', 'CAPTION'=>t('Тут название. Например "Переменная"'), 'USE_QUOTE'=>false, //заключать ли в кавычки введённые параметры. включить - true/ выключить - false 'ITEM_INDEX'=>1, //какой пункт будет выделен, в данный момент выделен второй пункт ); |
Пример диалога:
<?
$r = array();
$r[] = array(
'TYPE'=>'INPUT_DLG',
'CAPTION'=>t('Text message'),
'USE_QUOTE'=>true,
);
$r[] = array(
'TYPE'=>'COMBO',
'CAPTION'=>t('Dialog type'),
'VALUES'=>array('mtWarning', 'mtError', 'mtInformation', 'mtConfirmation',
'mtCustom'),
);
$r[] = array(
'TYPE'=>'COMBO',
'CAPTION'=>t('Buttons'),
'VALUES'=>array('MB_OK', 'MB_OKCANCEL', 'MB_ABORTRETRYIGNORE', 'MB_YESNOCANCEL',
'MB_YESNO', 'MB_RETRYCANCEL', 'MB_ICONHAND', 'MB_ICONQUESTION',
'MB_ICONEXCLAMATION', 'MB_ICONASTERISK', 'MB_USERICON', 'MB_ICONWARNING',
'MB_ICONERROR','MB_ICONINFORMATION', 'MB_ICONSTOP', 'MB_APPLMODAL',
'MB_SYSTEMMODAL', 'MB_TASKMODAL', 'MB_HELP'),
);
return $r;
4. Создаем иконку в папке с вашим действием и переименовываем в "icon.bmp"
5. Если вы создали действия на одном языке и хотите его перевести на другой, то в папке с действием создаем папку "lang", заходим в неё и создаем папку "ru". Дальше переходим в папку "ru" и создаем файл "messages.php". В нем прописываем вот этот текст:
| <?
$m['<тут текст который надо перевести>'] = '<тут перевод>'; $m['<тут текст который надо перевести_1>'] = '<тут перевод_1>'; //и т.д. $m['gr_<название группы в которой находиться действие>'] = '<Перевод группы>'; $GLOBALS['__M'] =& $m; |
Ну теперь запускаем Devel Studio и смотрим наше действие в редакторе кода )) Если всё правильно, то вы увидите его.
вернутся к списку версия для печати
Комментарии:
xsnakes пишет:
А ты отойди![]()
haker пишет:
xsnakes лопнешь всё добавлять ))
xsnakes пишет:
КрутоУ меня получилось! Теперь буду все функции с PHP.ru сюда пихать
![]()
