📘 توثيق تطوير القوالب

هذا التوثيق يوضح كيفية بناء القوالب باستخدام نظام الملفات المعتمد، مع شرح لكل ملف ووظيفته. 🚀

📂 هيكلة الملفات

يجب أن تتبع القوالب الهيكلية التالية داخل مجلد templates/:

templates/
├── اسم_القالب/
│   ├── base.twig (اختياري)
│   ├── header.twig
│   ├── footer.twig
│   ├── sidebar.twig (اختياري)
│   ├── pages.twig
│   ├── issues.twig
│   ├── search.twig
│   ├── 404.twig
│   ├ articles/
│   ├─── all.twig
│   ├─── view.twig
│   ├ authors/
│   ├─── view.twig

🔑 الملفات الأساسية (إلزامية)

يحتوي على الكود الأساسي للـ وعناصر الـ Meta، روابط الـ CSS والـ JS.
المتغيرات المتاحة:
  • 🔖 {{ page_title }} — عنوان الصفحة
  • 📝 {{ subPageDescription }} — وصف الصفحة
  • 🔗 {{ siteUrl }} — رابط الموقع
  • 📸 {{ basicIMG }} — الصورة البارزة (اختياري، لكن هو خيار مهم للأرشفة)
  •  {{ schema_json }} — يحتوي على Schema الخاصة بكل صفحة، وهو خيار مهم للأرشفة
  •  {{ custom_css }} — يسمح لصاحب الموقع بإضافة كود CSS خاص به
  •  {{ header_code }} — يسمح لصاحب الموقع بإضافة كود HTML في موقعه
  • {{ csrftoken }} — تفعيل حماية CSRF
  • {{ logo_color }} — يحتوي على Logo الموقع ملون
  • {{ logo }} — يحتوي على Logo الموقع أبيض
  • {{ totalViews }} — يحتوي على احصائية مشاهدات المقالات


يحتوي على كود الفوتر، حقوق النشر، وأيقونات التواصل الاجتماعي.
المتغيرات المتاحة:
  • 🏷️ {{ siteName }} — اسم الموقع
  • 📅 {{ 'now' | date('Y') }} — السنة الحالية
  • 🔗 روابط السوشيال ميديا: {{ facebook }} / {{ twitter }} / {{ instagram }}  / {{ github }}

يُستخدم لعرض المقالة الفردية.
المتغيرات المتاحة:
  • 📰 {{ articles.title }} — عنوان المقالة
  • ✍️ {{ articles.description }} — محتوى المقالة
  • 📷 {{ articles.photo }} — صورة المقالة (اختياري)
  • 🔗 {{ articles.slug }} — الرابط الدائم (اختياري)
  • 👁️ {{ articles.views }} — عدد مرات المشاهدة (اختياري)

يُستخدم لعرض المقالات ضمن فئة معينة.
المتغيرات المتاحة:
  • 🏷️ {{ categories.title }} — عنوان الفئة
  • 📝 {{ categories.description }} — وصف الفئة
  • 📚 {{ articles }} — قائمة المقالات ضمن الفئة (تُعرض باستخدام for)

📘 الملفات الاختيارية

  • 📂 base.twig — يحتوي على هيكل الصفحة الأساسي، يُستخدم كقالب مرجعي.
  • 📂 sidebar.twig — يُستخدم لعرض الشريط الجانبي، مثل روابط الفئات.

✅ المتغيرات العامة

🔑 المتغير 📄 الوصف
{{ siteName }} اسم الموقع
{{ siteUrl }} الرابط الأساسي للموقع
{{ siteDescription }} الوصف العام للموقع
{{ siteMetaTags }} الكلمات المفتاحية للموقع

🚀 نصائح لتطوير القوالب

  • ✔️ استخدم extends لوراثة base.twig لتنظيم الكود.
  • ✔️ استخدم include لتجزئة الأكواد مثل الشريط الجانبي.
  • ✔️ حافظ على أسماء الملفات كما هي لتجنب الأخطاء.