هل هناك طريقة يمكنني من خلالها إضافة رابط "تعديل" بسيط في جميع صفحات الواجهة الأمامية. سيحتاج هذا الرابط إلى التحقق مما إذا كان المكون الإضافي grav-plugin-admin مثبتًا وأن المستخدم لديه الأذونات الصحيحة.
يمكن تنفيذ ذلك في السمة الخاصة بك مباشرةً ، لذا فأنت تعلم بالفعل أن المكون الإضافي للمسؤول مثبت ، يمكنك لف الرابط في ملف مشروط {% if authorize(['admin.pages', 'admin.super']) %}
مرحبًا flaviocopes ، لقد كنت أتابع هذا الموضوع وأتطلع إلى القيام بشيء مشابه تمامًا: تشغيل شاشة تسجيل الدخول إلى Grav عند الضغط على زر وإذا تم تسجيل الدخول بنجاح ، قم بتشغيل بعض كود Twig. هل هذا ممكن أيضًا ، وإذا كان الأمر كذلك ، فهل هناك مثال موجود لأتعلم منه؟ شكرا لك!
بغض النظر عن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 لتسهيل انتقال المحررين بسرعة إلى المسؤول لتحرير الصفحة؟
ستحتاج إلى تسجيل الدخول إلى الواجهة الأمامية باستخدام مستخدم إداري. لا يكفي تسجيل الدخول إلى المسؤول افتراضيًا لأن جلسات المشرف والواجهة الأمامية منفصلة.
تضمين التغريدة قمت بتسجيل الدخول إلى / admin باستخدام تسجيل دخول مسؤول الموقع (هذا هو المستخدم الوحيد). كيف يمكنني تسجيل الدخول للواجهة الأمامية؟ آسف ، أنا جديد على Grav.
استخدم المكون الإضافي لتسجيل الدخول ، راجع الملف التمهيدي على https://github.com/getgrav/grav-plugin-login (https://github.com/getgrav/grav-plugin-login#login-page)
الختام حيث يتم الرد على السؤال
شكرا للمساعدة الجميع. ربما هناك طريقة أفضل للقيام بذلك ، ولكن هذا ما انتهى بي الأمر في الأجزاء / 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 %}
ثم في ملفي
.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;
}
سيكون من الجيد أن يتم تضمين شيء مثل هذا افتراضيًا في جميع السمات.
ربما يمكن أن يتضمن المكون الإضافي المسؤول متغير صفحة لرابط التحرير؟ سيبدو في القوالب أجمل كثيرًا من الكود الذي قدمته.
التعليق الأكثر فائدة
شكرا للمساعدة الجميع. ربما هناك طريقة أفضل للقيام بذلك ، ولكن هذا ما انتهى بي الأمر في الأجزاء / base.html.twig.
ثم في ملفي
سيكون من الجيد أن يتم تضمين شيء مثل هذا افتراضيًا في جميع السمات.
ربما يمكن أن يتضمن المكون الإضافي المسؤول متغير صفحة لرابط التحرير؟ سيبدو في القوالب أجمل كثيرًا من الكود الذي قدمته.