This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
ru:plugins:tabs_menus [2013/10/10 13:08] Arkady created |
ru:plugins:tabs_menus [2013/10/15 10:36] (current) vladislav |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Вкладки и боковые меню ===== | ===== Вкладки и боковые меню ===== | ||
- | + | Создание пунктов бокового меню для плагина на любой вкладке административной панели GetSimple осуществляется с помощью следующего кода: | |
- | You can add menu links to any of GetSimple's tabs with the following code | + | |
<code>add_action('xxxxxx-sidebar','createSideMenu',array('your-plugin-filename','Menu Text'));</code> | <code>add_action('xxxxxx-sidebar','createSideMenu',array('your-plugin-filename','Menu Text'));</code> | ||
- | Replace ''xxxxxx-sidebar'' with the sidebar you want(e.g.: ''backups-sidebar'', ''files-sidebar'', ''pages-sidebar'', ''plugins-sidebar'', ''settings-sidebar'', ''support-sidebar'' or ''theme-sidebar'') | + | то есть |
+ | |||
+ | <code>add_action('xxxxxx-sidebar','createSideMenu',array('имя-файла-вашего-плагина','Текст пункта меню'));</code> | ||
+ | |||
+ | Замените ''xxxxxx-sidebar'' наименованием сайдбара, на который вы хотите вывести ссылку или пункт меню, связанный с вашим плагином, то есть - ''backups-sidebar'', ''files-sidebar'', ''pages-sidebar'', ''plugins-sidebar'', ''settings-sidebar'', ''support-sidebar'' или ''theme-sidebar''. | ||
- | (3.1+) If you want to add multiple links for your plugin, you can use the optional parameter ''action'': | + | (3.1+) Если вы хотите добавить для вашего плагина несколько пунктов бокового меню, используйте необязательный параметр ''action (действие)'': |
<code>add_action('xxxxxx-sidebar','createSideMenu',array('your-plugin-filename','Menu Text', 'my-action'));</code> | <code>add_action('xxxxxx-sidebar','createSideMenu',array('your-plugin-filename','Menu Text', 'my-action'));</code> | ||
- | This way a new parameter //action=my-action// is added to the link and you can determine which link was clicked. | + | то есть |
- | (3.1+) If you want a functionality like the "Edit Page" link which only shows if the function is active, add a 4th parameter ''false'': | + | <code>add_action('xxxxxx-sidebar','createSideMenu',array('имя-файла-вашего-плагина','Текст пункта меню', 'мое-действие'));</code> |
+ | |||
+ | Новый параметр ''action = my-action(мое-действие)'' добавляется к ссылке, и вы имеете возможность определить, какой из пунктов меню был кликнут. | ||
+ | |||
+ | (3.1+) Если вам требуется функционал, аналогичный, например,// “Edit Page” (Редактировать страницу)//, когда ссылка на плагин отображается на экране только в случае, если функция активна, добавьте к вызову ''add_action'' четвертый параметр ''false'': | ||
<code> | <code> | ||
Line 20: | Line 27: | ||
</code> | </code> | ||
- | When you click the newly created menu link, the function you registered in ''register_plugin()'' will be called, and unless you specified the page your new menu link is on in the 7th argument of ''register_plugin()'', the side menu will disappear. | + | то есть |
- | Thus if you add side bar links to two different tabs, you need to change this parameter dynamically, e.g. (setup on the plugins tab, other functionality on theme tab): | + | <code> |
+ | add_action('xxxxxx-sidebar','createSideMenu',array('имя-файла-вашего-плагина','Показать список', 'list')); | ||
+ | add_action('xxxxxx-sidebar','createSideMenu',array('имя-файла-вашего-плагина','Редактировать список', 'edit', false)); | ||
+ | </code> | ||
+ | |||
+ | При клике на созданный пункт будет вызвана функция, которую вы зарегистрировали в ''register_plugin()'', но если вы не определил страницу для вывода пункта меню в седьмом аргументе ''register_plugin()'', этот пункт исчезнет. | ||
+ | |||
+ | Таким образом, если вы добавляете пункты бокового меню на две разные вкладки, этот аргумент необходимо менять динамически (например, настройки плагина на вкладке **Плагины**, еще какая-то функция на вкладке **Тема**): | ||
<code> | <code> | ||
Line 44: | Line 58: | ||
</code> | </code> | ||
- | If you have multiple sidebar items like above, your main function (here //hello_world_show//) would look like this: | + | При наличии нескольких пунктов бокового меню для вашего плагина , ваша главная функция (в текущем примере это - //hello_world_show//) должна выглядеть примерно так: |
<code> | <code> | ||
function hello_world_show() { | function hello_world_show() { | ||
Line 55: | Line 70: | ||
</code> | </code> | ||
- | ===== Tab Creation Function ===== | + | ===== Создаем вкладки ===== |
- | (3.1+) You can also add a new tab to the GetSimple administration by using the following code: | + | В версиях GetSimple 3.1+ появилась возможность добавлять собственные вкладки в административной панели с помощью следующего кода: |
<code> | <code> | ||
Line 63: | Line 78: | ||
</code> | </code> | ||
- | Use a unique name for the tab, e.g. your plugin name like //newsmanager//. Also use this name for the page type in ''register_plugin()''. The ''action'' parameter is again optional. | + | то есть |
- | You can then add sidebar links for this tab with | + | |
+ | <code> | ||
+ | add_action('nav-tab','createNavTab',array('Имя-новой-вкладки','имя-файла-вашего-плагина','Текстовое наименование новой вкладки','мое-действие')); | ||
+ | </code> | ||
+ | |||
+ | Имя новой вкладки должно быть уникальным, так же, как и имя вашего плагина, например //newsmanager//. Имя плагина также должно использоваться при назначении типа страницы при вызове функции ''register_plugin()''. Параметр action не является обязательным. Затем вы можете создать боковое меню для новой вкладки. | ||
<code> | <code> | ||
Line 70: | Line 90: | ||
</code> | </code> | ||
+ | Создавайте дополнительную вкладку в панели только если для работы вашего плагина необходимы несколько пунктов бокового меню, и вы хотите сгруппировать их в одном месте. | ||
+ | |||
+ | ====== Ссылки ====== | ||
+ | |||
+ | На главную [[ru:|Содержание]] | ||
+ | |||
+ | ===== Страницы этой секции ===== | ||
- | Only use this functionality, if you need a lot of side bar links for you plugin and want to group them. | + | === Разработка плагинов === |
+ | *[[ru:plugins:creation|Создание плагинов ]] | ||
+ | *[[ru:plugins:extend_api|Работа с Extend API ]] | ||
+ | *[[ru:plugins:hooks_filters|Хуки и фильтры]] | ||
+ | *[[ru:plugins:tips|Советы и рекомендации]] | ||
+ | *[[ru:plugins:update_notifications|Взаимодействие плагинов и секции Extend сайта get-simple.info]] |