Grav-plugin-admin: Ссылка "Редактировать" на веб-интерфейсе

Созданный на 21 нояб. 2016  ·  9Комментарии  ·  Источник: getgrav/grav-plugin-admin

Есть ли способ добавить простую ссылку «Редактировать» на все веб-страницы. По этой ссылке необходимо проверить, установлен ли плагин grav-plugin-admin и есть ли у пользователя правильные разрешения.

question

Самый полезный комментарий

Спасибо всем за помощь. Может быть, есть лучший способ сделать это, но вот что я в итоге сделал в 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;
}

Было бы неплохо, если бы что-то подобное было включено по умолчанию во все темы.

Может быть, плагин администратора может включать переменную страницы для ссылки редактирования? В шаблонах это выглядело бы намного лучше, чем код, который я предоставил.

Все 9 Комментарий

Это можно реализовать напрямую в вашей теме, так что вы уже знаете, что плагин администратора установлен, вы можете заключить ссылку в условное выражение {% 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;
}

Было бы неплохо, если бы что-то подобное было включено по умолчанию во все темы.

Может быть, плагин администратора может включать переменную страницы для ссылки редактирования? В шаблонах это выглядело бы намного лучше, чем код, который я предоставил.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги