¿Hay alguna manera de que pueda agregar un simple enlace "Editar" en todas las páginas frontend? Este enlace debería verificar si el complemento grav-plugin-admin está instalado y el usuario tiene los permisos correctos.
Esto se puede implementar en su tema directamente, por lo que ya sabe que el complemento de administración está instalado, puede envolver el enlace en un {% if authorize(['admin.pages', 'admin.super']) %}
condicional
Hola @flaviocopes , he estado siguiendo este hilo y estoy buscando hacer algo bastante similar: activar una pantalla de inicio de sesión de Grav cuando se presiona un botón y, si se inicia sesión correctamente, ejecutar algún código Twig. ¿Es esto también posible, y si es así, existe un ejemplo del que pueda aprender? ¡Gracias!
No importa @flaviocopes , alguien me acaba de señalar esta pequeña joya: https://learn.getgrav.org/cookbook/general-recipes#create -a-private-area 🙂
Gracias @flaviocopes. Intenté agregar
{% if authorize(['admin.pages', 'admin.super']) %}
<a href="#">Edit</a>
{% endif%}
a mi base.html.twig, pero no funcionó. Borré el caché e inicié sesión y luego revisé mi página, pero no se imprimió ningún enlace Editar a la página.
¿Alguna otra idea? Algo como esto probablemente debería estar en un tema central como Antimatter para que sea más fácil para los editores saltar rápidamente al administrador para editar la página.
Deberá iniciar sesión en la interfaz con un usuario administrador. Iniciar sesión en el administrador no es suficiente de forma predeterminada, ya que las sesiones de administrador y frontend son independientes.
@rhukster . Inicié sesión en / admin usando el inicio de sesión de administrador del sitio (ese es el único usuario). ¿Cómo inicio sesión en la interfaz? Lo siento, soy nuevo en Grav.
Utilice el complemento de inicio de sesión, consulte el archivo Léame en https://github.com/getgrav/grav-plugin-login (https://github.com/getgrav/grav-plugin-login#login-page)
Cerrando cuando se responde la pregunta
Gracias a todos por la ayuda. Tal vez haya una mejor manera de hacerlo, pero esto es lo que terminé haciendo en mi 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 %}
y luego en mi 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;
}
Sería bueno si algo como esto se incluyera por defecto en todos los temas.
¿Quizás el complemento de administración podría incluir una variable de página para el enlace de edición? Se vería mucho mejor en las plantillas que el código que proporcioné.
Comentario más útil
Gracias a todos por la ayuda. Tal vez haya una mejor manera de hacerlo, pero esto es lo que terminé haciendo en mi partials / base.html.twig.
y luego en mi css
Sería bueno si algo como esto se incluyera por defecto en todos los temas.
¿Quizás el complemento de administración podría incluir una variable de página para el enlace de edición? Se vería mucho mejor en las plantillas que el código que proporcioné.