Sphynkx (обсуждение | вклад) (Новая страница: «В данном случае - плагин subtitles на начальной стадии, когда уже стало понятно как устроена система работы плагина, шаблонов итп, но еще не написан целевой функционал. Снипет ничего полезного не делает, лишь содержит образцы. Плагин встраивает доп.пункт ме...») Метка: визуальный редактор отключён |
Sphynkx (обсуждение | вклад) Нет описания правки Метка: визуальный редактор отключён |
||
| Строка 6: | Строка 6: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
В этом месте меню будет появляться пункт плагина (и исчезать, если плагин деактивировать). | В этом месте меню будет появляться пункт плагина (и исчезать, если плагин деактивировать). | ||
=== subtitles.php === | |||
Стартовый файл плагина. Содержит в коменте инфо-блок, отображаемый потом в админке в информации о плагине (назв., верси, авторы итп). Также в нем расплоложена фция, выдающая строку с форматированным текстом. Этот текст потом вставится в место анкора в '''admin_area/styles/cb_2014/layout/video_manager.html'''. Также вызывается процедура регистрации анкора - в ней указаны имя функции и имя анкора. | |||
<div {{DivWrapOpts}}>[[Категория:WrapBlock]] | |||
'''plugins/subtitles/subtitles.php''' | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight lang="php" line> | |||
<?php | |||
/* | |||
Plugin Name: Subtitles | |||
Description: Generates subtitles for videos | |||
Author: Sphynkx | |||
Version: 0.0 | |||
Website: https://github.com/sphynkx/clipbucket-v5/ | |||
ClipBucket Version: 5.5.1 | |||
*/ | |||
## This file set menu item in videofile options at admin_area/video_manager.php | |||
## Item has link to pen_sub.php and sent it videoid of apropriate videofile | |||
## Function insertes item in the videofile options list at admin_area/video_manager.php | |||
## $vid comes from anchor parameter `data={$video.videoid}` ( see admin_area/styles/cb_2014/layout/video_manager.html:136) | |||
function subtitles_insert_menuitem($vid) | |||
{ | |||
global $gen_sub_val; ## declared in gen_sub.php | |||
// TODO: further change `GenSub` to {lang code='gen_sub'} and add apropriate translations to DB | |||
echo "<li><a role=\"menuitem\" tabindex=\"-1\" href=\"../plugins/subtitles/gen_sub.php?video=".$vid."\">Generate Subtitles</a></li>"; | |||
} | |||
register_anchor_function('subtitles_insert_menuitem', 'subtitles_menu'); | |||
</syntaxhighlight> | |||
</div></div> | |||
Версия от 19:52, 18 марта 2024
В данном случае - плагин subtitles на начальной стадии, когда уже стало понятно как устроена система работы плагина, шаблонов итп, но еще не написан целевой функционал. Снипет ничего полезного не делает, лишь содержит образцы.
Плагин встраивает доп.пункт меню опций видеофайлов в Videos -> Video Manager (реализация в subtitles.php). Необходима доработка стандартного шаблона admin_area/styles/cb_2014/layout/video_manager.html: в строке 136 надо добавить анкор:
{ANCHOR place="subtitles_menu" data={$video.videoid}}
В этом месте меню будет появляться пункт плагина (и исчезать, если плагин деактивировать).
subtitles.php
Стартовый файл плагина. Содержит в коменте инфо-блок, отображаемый потом в админке в информации о плагине (назв., верси, авторы итп). Также в нем расплоложена фция, выдающая строку с форматированным текстом. Этот текст потом вставится в место анкора в admin_area/styles/cb_2014/layout/video_manager.html. Также вызывается процедура регистрации анкора - в ней указаны имя функции и имя анкора.
plugins/subtitles/subtitles.php
<?php
/*
Plugin Name: Subtitles
Description: Generates subtitles for videos
Author: Sphynkx
Version: 0.0
Website: https://github.com/sphynkx/clipbucket-v5/
ClipBucket Version: 5.5.1
*/
## This file set menu item in videofile options at admin_area/video_manager.php
## Item has link to pen_sub.php and sent it videoid of apropriate videofile
## Function insertes item in the videofile options list at admin_area/video_manager.php
## $vid comes from anchor parameter `data={$video.videoid}` ( see admin_area/styles/cb_2014/layout/video_manager.html:136)
function subtitles_insert_menuitem($vid)
{
global $gen_sub_val; ## declared in gen_sub.php
// TODO: further change `GenSub` to {lang code='gen_sub'} and add apropriate translations to DB
echo "<li><a role=\"menuitem\" tabindex=\"-1\" href=\"../plugins/subtitles/gen_sub.php?video=".$vid."\">Generate Subtitles</a></li>";
}
register_anchor_function('subtitles_insert_menuitem', 'subtitles_menu');