Admin Panel
Рецепт представляет собой панель для управления сайтом.
В оригинальной PmWiki есть несколько кнопок для управления материалами, которые непосредственно встроены в дизайн сайта. Рецепт замещает их отдельной панелью, расширяет и русифицирует набор кнопок.
Что это делает?
- русифицированая симпатичная панель для управления сайтом, отделенная от основного дизайна
- доступ ко всему популярному функционалу сайта, его ключевые настройки всегда доступны и под рукой.
- кнопки на панели хорошо масштабируются: можно кастомизировать их набор, в зависимости от используемых модулей сайта и политики доступа к ним
Что требуется и как подключить?
Требуется верстка на базе Skin: thisSite.tmpl
Набор кнопок формируется на странице: ThisSite.PageActions
Подключение:
- (farm)config.php:
- phAdminPanel.php
- (опционально) определите
$phAdminPanel_AccessLevel
, иначе по-умолчанию значение "edit". Переменная определяет уровень авторизации пользователя, при котором ему будет доступен функционал; - подключите рецепт:
include_once("$FarmD/cookbook/phAdminPanel.php");
- в макете дизайна разместите следующий код сразу после
<body>
вот так:<!--wiki:ThisSite.PageActions {$SiteGroup}.PageActions-->
Демо
На скриншоте в левой дополнительной группе представлены следующие четыре кнопки:
- добавления новой страницы в текущий раздел;
- настройки сайта (доступна Администратору);
- очистки кэша картинок текущей страницы;
- индикатор текущего размера окна в bootstrap-терминологии.
Техническая информация
- Status
- stable
- Core
- yes
- PHPcookbook
- phAdminPanel.php
Также задействована ThisSite.PageActions , где содержится код кнопок панели
Version
20210604
FAQ
Что делать, если дизайн моего сайта сломал отображение AdminPanel? Например, цвет фона и шрифта в кнопках одинаковый…
Есть два варианта:
- переделайте дизайн своего сайта так, чтобы он стал логичным и кнопки выглядели как кнопки в любых обстоятельствах;
- каким-либо образом добавьте CSS-патч для
#AdminPanel
. Рекомандуется сделать это в PHP-файле вашего дизайна примерно вот так:
global $phAdminPanel_AccessLevel, $HTMLHeaderFmt; if (CondAuth($pagename, "$phAdminPanel_AccessLevel") && !@$rextKeepCore) { $HTMLHeaderFmt['styles']['AdminPanel'] .= " <!-- AdminPanel: MySkin Adds --> <style> #AdminPanel .btn {background: none; color: #fdd930;} </style> <!-- // AdminPanel: MySkin Adds --> "; }