Есть ли способ добавить простую ссылку «Редактировать» на все веб-страницы. По этой ссылке необходимо проверить, установлен ли плагин grav-plugin-admin и есть ли у пользователя правильные разрешения.
Это можно реализовать напрямую в вашей теме, так что вы уже знаете, что плагин администратора установлен, вы можете заключить ссылку в условное выражение {% if authorize(['admin.pages', 'admin.super']) %}
Привет, @flaviocopes , я
Не берите в голову @flaviocopes , кто-то только что указал мне на эту маленькую жемчужину: https://learn.getgrav.org/cookbook/general-recipes#create -a-private-area 🙂
Спасибо @flaviocopes. Я пробовал добавить
{% if authorize(['admin.pages', 'admin.super']) %}
<a href="#">Edit</a>
{% endif%}
в мой base.html.twig, но это не сработало. Я очистил кеш и вошел в систему, а затем проверил свою страницу, но ссылка «Изменить» не была напечатана на странице.
Есть другие идеи? Что-то вроде этого, вероятно, должно быть в основной теме, такой как Antimatter, чтобы редакторам было проще быстро перейти к администратору для редактирования страницы?
Вам нужно будет войти в интерфейс с правами администратора. По умолчанию входа в систему с правами администратора недостаточно, поскольку сеансы администрирования и внешнего интерфейса разделены.
@rhukster . Я вошел в / admin, используя логин администратора сайта (это единственный пользователь). Как мне войти в интерфейс? Извините, я новичок в Grav.
Используйте плагин входа в систему, см. Readme на https://github.com/getgrav/grav-plugin-login (https://github.com/getgrav/grav-plugin-login#login-page)
Закрытие после ответа на вопрос
Спасибо всем за помощь. Может быть, есть лучший способ сделать это, но вот что я в итоге сделал в partials / base.html.twig.
{% if config.plugins.admin.enabled and authorize(['admin.pages', 'admin.super']) %}
{% if page.link == '/' %}
{% set editPagePath = "/" ~ page.slug %}
{% else %}
{% set editPagePath = uri.path %}
{% endif %}
<a class="editpage" href="/admin/pages{{ editPagePath }}">Edit</a>
{% endif %}
а затем в моем CSS
.editpage {
position: fixed;
bottom: 0;
right: 0;
padding: 5px 6px;
background: #F67E40;
color: #fff;
display: block;
font-weight: bold;
text-decoration: none;
text-transform: uppercase;
}
Было бы неплохо, если бы что-то подобное было включено по умолчанию во все темы.
Может быть, плагин администратора может включать переменную страницы для ссылки редактирования? В шаблонах это выглядело бы намного лучше, чем код, который я предоставил.
Самый полезный комментарий
Спасибо всем за помощь. Может быть, есть лучший способ сделать это, но вот что я в итоге сделал в partials / base.html.twig.
а затем в моем CSS
Было бы неплохо, если бы что-то подобное было включено по умолчанию во все темы.
Может быть, плагин администратора может включать переменную страницы для ссылки редактирования? В шаблонах это выглядело бы намного лучше, чем код, который я предоставил.