﴿ وَقُل رَّبِّ زِدْنِي عِلْمًا

And say, "My Lord, increase me in knowledge."

أهم الأوامر الشرطية في قوالب XenForo

أهلًا بكم زوار ومتابعي منتدى helpernt الكرام. بعد أن تعرفنا في موضوع سابق على أهم الأوامر التي يمكن تنفيذها من خلال ملف cmd.php، والذي تجدوه هنا ننتقل اليوم إلى جانب آخر...

4 معجبون
أهم الأوامر الشرطية في قوالب XenForo
المشاهدات: 36 الردود: 3

MesterPerfect

كبار الشخصيات
رقم العضوية
1529
تاريخ التسجيل
2018-01-29
الإقامة
sohag, Egypt
الموقع الالكتروني
www.youtube.com
آخر نشاط
المشاركات
3,052
المعدل اليومي
0.97
مستوى التفاعل
101
قوة السمعه
أوسمة العضو
V8dYMke.png

أهلًا بكم زوار ومتابعي منتدى helpernt الكرام.

بعد أن تعرفنا في موضوع سابق على أهم الأوامر التي يمكن تنفيذها من خلال ملف cmd.php، والذي تجدوه هنا ننتقل اليوم إلى جانب آخر مهم جدًا عند التعامل مع قوالب XenForo، وهو Conditional Statements أو الأوامر الشرطية.

تسمح لنا الأوامر الشرطية بالتحكم في المحتوى الذي يظهر داخل القالب بناءً على حالة معينة.

فعلى سبيل المثال، يمكننا إظهار محتوى معين للمشرفين فقط، أو للأعضاء المسجلين فقط، أو لمجموعة مستخدمين محددة، أو داخل قسم معين، أو في قالب محدد، أو عندما تتوفر خاصية معينة لدى المستخدم.

وتزداد قوة هذه الشروط عند دمجها مع العوامل المنطقية مثل: AND و: OR

بالإضافة إلى استخدام: <xf:else /> و: <xf:elseif />

ملاحظة: الأمثلة التالية مبنية على الصيغ الواردة في الموضوع الأصلي الذي تجدونه في آخر الموضوع، مع تصحيح بعض الأخطاء الواضحة في الصياغة وتوضيح الحالات التي قد تسبب التباسًا.

أولًا: الشروط الخاصة بالمستخدم​


١. إظهار المحتوى للمشرفين Administrators​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

يتحقق الشرط من كون المستخدم الحالي مديرًا للمنتدى، وفي حال تحقق الشرط سيظهر المحتوى الموجود بداخله.

٢. إظهار المحتوى للمشرفين Moderators​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

يظهر المحتوى للمستخدم الذي يمتلك صلاحية الإشراف.

٣. إظهار المحتوى للمديرين أو المشرفين​


يمكن استخدام العامل OR عندما نريد تحقق أحد الشرطين:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

أي أن المحتوى سيظهر إذا كان المستخدم مديرًا أو مشرفًا.

٤. إظهار المحتوى للأعضاء المسجلين فقط​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

إذا كان لدى المستخدم user_id فهذا يعني أنه مستخدم مسجل الدخول، وبالتالي يمكن إظهار المحتوى له.

٥. إظهار المحتوى للزوار غير المسجلين​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

علامة التعجب ! تعكس نتيجة الشرط، ولذلك يظهر المحتوى عندما لا يكون المستخدم مسجل الدخول.

٦. إظهار محتوى مختلف للأعضاء والزوار​


يمكن استخدام <xf:else /> لتنفيذ أمر بديل عندما لا يتحقق الشرط:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

في هذا المثال:

  • الأعضاء المسجلون يشاهدون المحتوى الأول.
  • الزوار يشاهدون المحتوى الموجود بعد <xf:else />.

٧. إظهار المحتوى للمستخدمين المحظورين​


إذا كان المتغير $user متاحًا في السياق الحالي للقالب، يمكن استخدام:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

مهم: يعتمد هذا المثال على توفر المتغير $user في القالب الذي يتم وضع الشرط بداخله.

٨. إظهار المحتوى حسب عدد الإعجابات​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

يمكن تغيير X إلى العدد المطلوب.

فمثلًا، إذا أردنا إظهار المحتوى لمن لديه أكثر من 100 إعجاب:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

ملاحظة: يعتمد المثال على توفر $user في القالب.

٩. إظهار المحتوى حسب عدد المشاركات​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

في المثال السابق سيظهر المحتوى عندما يتجاوز عدد مشاركات المستخدم 100 مشاركة.

١٠. إظهار المحتوى حسب نقاط العضو​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

يمكن تغيير الرقم 100 إلى العدد المطلوب.

١١. إظهار المحتوى لمستخدم محدد​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

في هذا المثال سيظهر المحتوى للمستخدم الذي يملك user_id ورقمه123 فقط.

١٢. إظهار المحتوى لعدة مستخدمين محددين​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

سيظهر المحتوى للمستخدمين الذين تتطابق أرقام عضوياتهم مع إحدى القيم الموجودة داخل القائمة.

ثانيًا: الشروط الخاصة بالمجموعات User Groups​


١٣. إظهار المحتوى لأكثر من مجموعة مستخدمين​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

يمكن تغيير 2 و3 إلى أرقام مجموعات المستخدمين المطلوبة.

١٤. إظهار المحتوى لمجموعة مستخدمين واحدة​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

يظهر المحتوى فقط عندما يكون المستخدم عضوًا في المجموعة ذات المعرف 3.

١٥. إخفاء المحتوى عن مجموعات محددة​


إذا أردنا إظهار المحتوى لجميع المستخدمين باستثناء أعضاء مجموعات معينة، نعكس الشرط:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

وهنا سيظهر المحتوى فقط للمستخدم الذي ليس عضوًا في المجموعات المحددة.

ولمجموعة واحدة:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

ثالثًا: الشروط الخاصة بالمواضيع والمشاركات​


تسمح لنا بعض المتغيرات الخاصة بالمشاركة بالتحكم في مكان ظهور المحتوى داخل صفحات الموضوع.

١٦. إظهار المحتوى عند بداية كل صفحة من صفحات الموضوع​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

يعتمد هذا الشرط على موضع المشاركة وعدد المشاركات التي تظهر في الصفحة.

مهم: يجب الانتباه إلى أن استخدام % يعتمد على قيمة $post.position وعدد المشاركات في الصفحة، لذلك ينبغي اختبار النتيجة على المنتدى قبل استخدامه في موضع حساس مثل الإعلانات.

١٧. إظهار محتوى في موضع محدد من كل صفحة​


يمكن تغيير القيمة الأخيرة للتحكم في الموضع المطلوب:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

ملاحظة: يجب اختبار القيمة المناسبة عمليًا، لأن قيمة post.position تبدأ من موضع محدد في ترقيم XenForo، وقد تختلف النتيجة بحسب ما تريد وضعه قبل المشاركة أو بعدها.

رابعًا: الشروط الخاصة بالأقسام والمنتديات​


١٨. إظهار المحتوى في عدة منتديات​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

يظهر المحتوى عندما يكون المنتدى الحالي يملك أحد المعرفات المحددة.

١٩. إظهار المحتوى في منتدى محدد​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

يظهر المحتوى فقط عندما يكون المنتدى الحالي هو المنتدى الذي يحمل المعرف 3.

٢٠. إخفاء المحتوى في منتدى محدد​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

في هذا المثال سيظهر المحتوى في جميع المنتديات باستثناء المنتدى رقم 3.

خامسًا: الشروط الخاصة بالقوالب والصفحات​


من الاستخدامات المهمة جدًا للشروط معرفة القالب الحالي، ثم عرض محتوى معين أو إخفائه بناءً على اسم القالب.

٢١. إظهار المحتوى في الصفحة الرئيسية للمنتدى​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

٢٢. إخفاء المحتوى في الصفحة الرئيسية​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

٢٣. إظهار المحتوى عند إنشاء موضوع​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

٢٤. إخفاء المحتوى عند إنشاء موضوع​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

٢٥. إظهار المحتوى عند إنشاء مورد Resource​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

٢٦. إظهار المحتوى في صفحة البحث​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

٢٧. إظهار المحتوى في صفحة What's New​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

٢٨. إظهار المحتوى داخل المحادثة​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

٢٩. إظهار المحتوى في قائمة المحادثات​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

٣٠. إظهار المحتوى في الصفحة الرئيسية للمنتجات​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

ملاحظة: لا يعمل هذا إلا بوجود إضافةXenForo Resource Manager.

٣١. إظهار المحتوى عند مشاهدة منتج​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

ملاحظة: لا يعمل هذا إلا بوجود إضافةXenForo Resource Manager.

٣٢. إظهار المحتوى عند مشاهدة موضوع​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

٣٣. إظهار المحتوى في قائمة المواضيع​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

ولإخفائه في هذا القالب:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

ملاحظة: يمكن استخدام نفس الفكرة مع بقية القوالب، لكن يجب معرفة اسم القالب الفعلي الذي تريد استهدافه.
 

المرفقات

  • 1789074983224.webp
    1789074983224.webp
    124.2 KB · المشاهدات: 4
التعديل الأخير بواسطة المشرف:

سادسًا: شروط خاصة بحالة المستخدم​


٣٤. إظهار المحتوى للمستخدمين المعاقبين Discouraged​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

يمكن استخدام هذا الشرط لاستهداف المستخدمين الذين تنطبق عليهم حالة Discouraged.

٣٥. إظهار المحتوى للمستخدمين الذين لديهم Gravatar​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

٣٦. إظهار المحتوى للموظفين Staff​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

وهذا يسمح بإظهار المحتوى لأعضاء فريق الموقع.

٣٧. إظهار المحتوى لمن لم يؤكد بريده الإلكتروني​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

يُستخدم للتحقق مما إذا كان المستخدم ينتظر تأكيد عنوان بريده الإلكتروني.

٣٨. التحقق من حالة الحساب​


يمكن التحقق من حالة المستخدم باستخدام user_state.

للمستخدم الذي تم تفعيل حسابه:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

وللمستخدم الذي ينتظر تأكيد البريد الإلكتروني بعد التعديل:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

ولحالة البريد الإلكتروني غير الصالحة أو المرتدة:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

سابعًا: التحقق من وجود بيانات في الملف الشخصي​


يمكن أيضًا إظهار محتوى معين إذا كان المستخدم قد أدخل بيانات معينة في ملفه الشخصي.

٣٩. التحقق من وجود الموقع الجغرافي​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

٤٠. التحقق من وجود موقع إلكتروني​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

٤١. التحقق من وجود توقيع​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

ثامنًا: استخدام AND و OR في الشروط​


يمكن دمج أكثر من شرط باستخدام العوامل المنطقية Operators.

استخدام OR​


العامل OR والتي تساوي كلمة أو وهي تعني أن تحقق أي شرط من الشروط يكفي:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

أي أن المحتوى سيظهر إذا كان المستخدم مديرًا أو مشرفًا.

استخدام AND​


أما المعامل AND والتي تعني وا فيتطلب تحقق الشرطين معًا:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

في هذا المثال يجب أن يكون المستخدم مسجل الدخول، وأن يكون لديه أكثر من 100 مشاركة.

تاسعًا: استخدام xf:elseif و xf:else​


يمكن استخدام <xf:elseif /> عندما نريد اختبار أكثر من حالة.

مثال:

HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

في هذا المثال:

  • إذا كان المستخدم مديرًا، يظهر المحتوى الأول.
  • إذا لم يكن مديرًا ولكنه مشرف، يظهر المحتوى الثاني.
  • إذا لم يتحقق أي من الشرطين، يظهر المحتوى الموجود داخل xf:else.

وهذه الطريقة أفضل من إنشاء عدة شروط منفصلة عندما تكون الحالات مرتبطة ببعضها.

عاشرًا: أمثلة عملية تجمع أكثر من شرط​


يمكن الاستفادة من الشروط لإنشاء حالات أكثر تقدمًا.

إظهار محتوى للأعضاء الذين لديهم أكثر من 100 مشاركة​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

إظهار محتوى للمديرين والمشرفين فقط​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

إظهار محتوى في منتديات محددة​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

إظهار محتوى لمستخدمين محددين داخل منتدى محدد​


HTML
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

كيف تعرف اسم القالب الذي تريد استهدافه؟​


عند استخدام الشروط التي تعتمد على المتغير: $template فإن معرفة اسم القالب الصحيح أمر مهم.

فمثلًا، إذا كنت تريد إظهار محتوى في صفحة عرض الموضوع، يمكنك استخدام: thread_view أما صفحة عرض قائمة المواضيع في المنتدى فتستخدم: forum_view ويمكن تطبيق الفكرة نفسها على بقية القوالب.

وهناك أكثر من طريقة لمعرفة اسم القالب المستهدف مثل أدوات المطورين، أو تفعيل DeBug Mode في Xenforo، أو حتى التجربة.

نصيحة: عند استخدام شرط يعتمد على اسم القالب، تأكد من اسم القالب الفعلي قبل وضع الكود، لأن كتابة اسم غير صحيح ستؤدي ببساطة إلى عدم تحقق الشرط.

هل يجب استخدام كل هذه الشروط؟​


بالطبع لا.

اختيار الشرط يعتمد على المكان الذي تريد إظهار المحتوى فيه والحالة التي تريد التحقق منها.

ومن أكثر الشروط التي سيحتاجها مدير المنتدى والمطور بشكل متكرر:

  • التحقق من كون المستخدم مسجل الدخول.
  • التحقق من كون المستخدم مديرًا أو مشرفًا.
  • التحقق من المجموعة التي ينتمي إليها المستخدم.
  • التحقق من معرف المستخدم.
  • التحقق من عدد المشاركات أو نقاط التفاعل.
  • التحقق من المنتدى الحالي.
  • التحقق من القالب الحالي.
  • استخدام AND و OR لدمج الشروط.
  • استخدام xf:else و xf:elseif لإنشاء حالات متعددة.

الخلاصة​


تعتبر الأوامر الشرطية في قوالب XenForo من الأدوات المهمة جدًا للمطور ومدير المنتدى، لأنها تمنحك تحكمًا كبيرًا في المحتوى الذي يظهر للمستخدمين.

فبدل أن يظهر العنصر لجميع زوار الموقع، يمكنك التحكم بدقة في ظهوره بناءً على:

  • نوع المستخدم.
  • صلاحياته.
  • المجموعة التي ينتمي إليها.
  • عدد مشاركاته.
  • نقاطه.
  • المعرف الخاص به
  • المنتدى الذي يتصفحه.
  • الصفحة أو القالب الحالي.
  • حالة حسابه.
  • البيانات الموجودة في ملفه الشخصي.

ومع استخدام AND و OR و xf:else و xf:elseif يمكن بناء شروط أكثر تعقيدًا وتخصيصًا. والتي ستحتاجونها في تطوير الإضافات والستايلات المتقدمة.

نصيحة أخيرة:

لا تضع الشرط في أي قالب بشكل عشوائي. قبل استخدامه، تأكد من أن المتغير الذي يعتمد عليه الشرط متاح فعلًا في ذلك القالب، واختبر النتيجة بحسابات مختلفة، مثل حساب مدير و مشرف و عضو و زائر، للتأكد من أن المحتوى يظهر ويختفي بالشكل المطلوب.

ملاحظة: بعض الأمثلة الواردة في المصادر القديمة قد تعتمد على متغيرات أو سياقات متاحة في قوالب معينة فقط، لذلك لا يعني نجاح الشرط في قالب أنه سيعمل بالضرورة بالطريقة نفسها في كل قوالب XenForo.

مصدر الموضوع هنا:
 
التعديل الأخير:
انا ثبيت الموضوع عشان شايفه من اهم المواضيع اللى اى مبرمج , مصمم بيحتاج ليها انا كتير برجعلها وبدوخل عليها كمان

يغطيك الف عافية اخى احمد
 
انا ثبيت الموضوع عشان شايفه من اهم المواضيع اللى اى مبرمج , مصمم بيحتاج ليها انا كتير برجعلها وبدوخل عليها كمان

يغطيك الف عافية اخى احمد
الله يعافيك هي اوامر جميله جدا واي مصمم ستايلات او اضافات لازم تكون موجوده عنده ويكون عارفها لانها الاساس اللي بيتبني عليها اي شيء
الاوامر الشرطيه من اهم العناصر الموجوده في اي لغه برمجيه وما فيش لغه برمجيه بتخلوه من الشروط
 
عودة
أعلى