Apakah ada cara agar saya dapat menambahkan link "Edit" sederhana pada semua halaman frontend. Tautan ini perlu memeriksa apakah plugin grav-plugin-admin diinstal dan pengguna memiliki izin yang benar.
Ini dapat diterapkan di tema Anda secara langsung, jadi Anda sudah tahu plugin admin diinstal, Anda dapat membungkus tautan dengan {% if authorize(['admin.pages', 'admin.super']) %}
bersyarat
Hai @flaviocopes , saya telah mengikuti utas ini dan saya ingin melakukan sesuatu yang sangat mirip: memicu layar masuk Grav ketika tombol ditekan dan jika berhasil masuk, jalankan beberapa kode Twig. Apakah ini juga mungkin, dan jika demikian apakah ada contoh yang bisa saya pelajari? Terima kasih!
Lupakan @flaviocopes , seseorang baru saja mengarahkan saya ke permata kecil ini: https://learn.getgrav.org/cookbook/general-recipes#create -a-private-area 🙂
Terima kasih @flaviocopes. Saya mencoba menambahkan
{% if authorize(['admin.pages', 'admin.super']) %}
<a href="#">Edit</a>
{% endif%}
ke base.html.twig saya, tetapi tidak berhasil. Saya mengosongkan cache dan masuk lalu memeriksa halaman saya, tetapi tidak ada link Edit yang dicetak ke halaman tersebut.
Ada ide lain? Sesuatu seperti ini mungkin harus ada di tema inti seperti Antimatter untuk memudahkan editor dengan cepat beralih ke admin untuk mengedit halaman?
Anda harus masuk ke frontend dengan pengguna admin. Masuk ke admin tidak cukup secara default karena sesi admin dan frontend terpisah.
@bayu_joo Saya masuk ke / admin menggunakan login admin situs (itu satu-satunya pengguna). Bagaimana cara saya masuk ke frontend? Maaf, saya baru mengenal Grav.
Gunakan plugin Login, lihat readme di https://github.com/getgrav/grav-plugin-login (https://github.com/getgrav/grav-plugin-login#login-page)
Menutup saat pertanyaan dijawab
Terima kasih atas bantuan semuanya. Mungkin ada cara yang lebih baik untuk melakukannya, tapi inilah yang akhirnya saya lakukan di partials / base.html.twig saya.
{% 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 %}
dan kemudian di css saya
.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;
}
Alangkah baiknya jika sesuatu seperti ini disertakan secara default di semua tema.
Mungkin plugin admin dapat menyertakan variabel halaman untuk link edit? Ini akan terlihat jauh lebih bagus di template daripada kode yang saya berikan.
Komentar yang paling membantu
Terima kasih atas bantuan semuanya. Mungkin ada cara yang lebih baik untuk melakukannya, tapi inilah yang akhirnya saya lakukan di partials / base.html.twig saya.
dan kemudian di css saya
Alangkah baiknya jika sesuatu seperti ini disertakan secara default di semua tema.
Mungkin plugin admin dapat menyertakan variabel halaman untuk link edit? Ini akan terlihat jauh lebih bagus di template daripada kode yang saya berikan.