===== Вкладки и боковые меню ===== Создание пунктов бокового меню для плагина на любой вкладке административной панели GetSimple осуществляется с помощью следующего кода: add_action('xxxxxx-sidebar','createSideMenu',array('your-plugin-filename','Menu Text')); то есть add_action('xxxxxx-sidebar','createSideMenu',array('имя-файла-вашего-плагина','Текст пункта меню')); Замените ''xxxxxx-sidebar'' наименованием сайдбара, на который вы хотите вывести ссылку или пункт меню, связанный с вашим плагином, то есть - ''backups-sidebar'', ''files-sidebar'', ''pages-sidebar'', ''plugins-sidebar'', ''settings-sidebar'', ''support-sidebar'' или ''theme-sidebar''. (3.1+) Если вы хотите добавить для вашего плагина несколько пунктов бокового меню, используйте необязательный параметр ''action (действие)'': add_action('xxxxxx-sidebar','createSideMenu',array('your-plugin-filename','Menu Text', 'my-action')); то есть add_action('xxxxxx-sidebar','createSideMenu',array('имя-файла-вашего-плагина','Текст пункта меню', 'мое-действие')); Новый параметр ''action = my-action(мое-действие)'' добавляется к ссылке, и вы имеете возможность определить, какой из пунктов меню был кликнут. (3.1+) Если вам требуется функционал, аналогичный, например,// “Edit Page” (Редактировать страницу)//, когда ссылка на плагин отображается на экране только в случае, если функция активна, добавьте к вызову ''add_action'' четвертый параметр ''false'': add_action('xxxxxx-sidebar','createSideMenu',array('your-plugin-filename','Show list of It', 'list')); add_action('xxxxxx-sidebar','createSideMenu',array('your-plugin-filename','Edit It', 'edit', false)); то есть add_action('xxxxxx-sidebar','createSideMenu',array('имя-файла-вашего-плагина','Показать список', 'list')); add_action('xxxxxx-sidebar','createSideMenu',array('имя-файла-вашего-плагина','Редактировать список', 'edit', false)); При клике на созданный пункт будет вызвана функция, которую вы зарегистрировали в ''register_plugin()'', но если вы не определил страницу для вывода пункта меню в седьмом аргументе ''register_plugin()'', этот пункт исчезнет. Таким образом, если вы добавляете пункты бокового меню на две разные вкладки, этот аргумент необходимо менять динамически (например, настройки плагина на вкладке **Плагины**, еще какая-то функция на вкладке **Тема**): $thisfile = basename(__FILE__, ".php"); # register plugin register_plugin( $thisfile, //Plugin id 'Hello World', //Plugin name '1.0', //Plugin version 'Chris Cagle', //Plugin author 'http://www.cagintranet.com/', //author website 'Finds email addresses in content and components and "hides" them', //Plugin description @$_GET['id'] == $thisfile && @$_GET['action'] == 'setup' ? 'plugins' : 'theme', //page type - on which admin tab to display 'hello_world_show' //main function (administration) ); add_action('plugins-sidebar','createSideMenu',array($thisfile,'Setup Hello World','setup')); add_action('theme-sidebar','createSideMenu',array($thisfile,'Show Hello World','show')); При наличии нескольких пунктов бокового меню для вашего плагина , ваша главная функция (в текущем примере это - //hello_world_show//) должна выглядеть примерно так: function hello_world_show() { if (@$_GET['action'] == 'setup') { ... } else if (@$_GET['action'] == 'show') { ... } } ===== Создаем вкладки ===== В версиях GetSimple 3.1+ появилась возможность добавлять собственные вкладки в административной панели с помощью следующего кода: add_action('nav-tab','createNavTab',array('thetabname','your-plugin-filename','Tab Text', 'my-action')); то есть add_action('nav-tab','createNavTab',array('Имя-новой-вкладки','имя-файла-вашего-плагина','Текстовое наименование новой вкладки','мое-действие')); Имя новой вкладки должно быть уникальным, так же, как и имя вашего плагина, например //newsmanager//. Имя плагина также должно использоваться при назначении типа страницы при вызове функции ''register_plugin()''. Параметр action не является обязательным. Затем вы можете создать боковое меню для новой вкладки. add_action('thetabname-sidebar', ...); // e.g. 'newsmanager-sidebar' Создавайте дополнительную вкладку в панели только если для работы вашего плагина необходимы несколько пунктов бокового меню, и вы хотите сгруппировать их в одном месте. ====== Ссылки ====== На главную [[ru:|Содержание]] ===== Страницы этой секции ===== === Разработка плагинов === *[[ru:plugins:creation|Создание плагинов ]] *[[ru:plugins:extend_api|Работа с Extend API ]] *[[ru:plugins:hooks_filters|Хуки и фильтры]] *[[ru:plugins:tips|Советы и рекомендации]] *[[ru:plugins:update_notifications|Взаимодействие плагинов и секции Extend сайта get-simple.info]]