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

[ XF 2.2 ] كيفية إضافة القطع في تبويبات متعددة

MesterPerfect

:: مراقب زين العربية ::
طاقم الإدارة
28 يناير 2019
2,221
60
1,536
113
25
sohag, Egypt
mx-blind.org
بسم الله الرحمن الرحيم
أهلا بكم في شرح جديد وإن شاء الله يكون مفيد
شرحنا اليوم يتمثل في كيفية إضافة مجموعة من القطع / ويدجات في تبويبات
المعلومات
اسم الشرح: كيفية إضافة القطع في تبويبات
توافق الشرح: xf2.0/xf2.1/xf2.2
مقدم الشرح: أحمد بكر @MesterPerfect
تمت التجربة: نعم

معلومات
القطع أو الويدجات "widget" هي أحدى الإشياء الجميلة التي تستخدمها جميع السكربتات لتنسيق وتنظيم المحتوى الخاص بها وإضافته إلى الشريط الجانبي "Sidebar" أو إلى أي مكان
وبالتأكيد XenForo استفاد من هذه القطع واستخدمها في عمل الشريط الجانبي المميز للسكربت وأتاح أمكانية إنشائها وإدراجها بأكثر من شكل وطريقة مختلفة
واليوم سوف نتعرف على كيفية جمع أكثر من قطعة في طريقة عرض واحدة عن طريق ما يعرف بالتبويبات tabs
لتقليل المساحة المستخدمة وإدراج أكثر من قطعة في مكان واحد
وسيتضح الأمر أكثر بعد الشرح

الشرح

ندخل إلى لوحة التحكم ==> المظهر ==> القطع
نضغط على إضافة قطعة

نقوم بإنشاء ثلاث قطع بالمعلومات التالية دون إضافة أي شيء
يعني المفتاح وفقط
القطعةالمفتاح
المشاركات الجديدةlastest_threads
المواضيع الجديدةlastest_post
مشاركات الحائطlastest_profile_post
طبعا يمكنكم كتابة أي مفتاح تريدوه ولكن لا تنسوه لأننا سنحتاجه
الآن بعد أن أنشأنا القطع يأتي دور جمعها في تبويبات
ومن أجل ذلك نقوم بإنشاء قطعة رابعة وتكون html
نعطيها أي مفتاح ثم نختر مكان العرض وليكن قائمة المنتديات: الشريط الجانبي
ثم نضع فيها هذا الكود مع تعديل ما سيتم التحدث عنه بالأسفل
كود:
<div class="block">
    <div class="block-container">
         <h2 class="widget-tabs block-tabHeader tabs hScroller" data-xf-init="tabs h-scroller" data-state="replace" role="tablist">
             <span class="hScroller-scroll">
                 <a href="{{ link('whats-new/posts/') }}?skip=1"
                        class="tabs-tab is-active"
                        role="tab"
                        aria-controls="lastest_threads">المواضيع</a>
                 <a href="{{ link('whats-new/posts/') }}?skip=1"
                        class="tabs-tab"
                        id="lastest_post"
                        role="tab">المشاركات</a>
                 <a href="{{ link('whats-new/profile-posts/') }}?skip=1"
                        class="tabs-tab"
                        id="lastest_profile_post"
                        role="tab">الحائط</a>
             </span>
         </h2>
         <ul class="tabPanes widget--tab">
             <li class="is-active" role="tabpanel" id="lastest_threads">
                 <xf:widget key="lastest_threads" />
             </li>  
             <li role="tabpanel" aria-labelledby="lastest_post">
                 <xf:widget key="lastest_post" />
             </li>
             <li role="tabpanel" aria-labelledby="lastest_profile_post">
                 <xf:widget key="lastest_profile_post" />
             </li>
         </ul>
     </div>
</div>
<xf:css>
.widget-tabs {
    overflow: hidden;
    .tabs-tab {font-size: 13px;}
}
.widget--tab .block-minorHeader {display:none;}
</xf:css>

اتفقنا بالأعلى أن لكل قطعة مفتاح مميز لها
ولقد إنشأنا ثلاث قطع بثلاث مفاتيح على الشكل التالي
القطعةالمفتاح
المشاركات الجديدةlastest_threads
المواضيع الجديدةlastest_post
مشاركات الحائطlastest_profile_post
وسنجد المفاتيح تلك مكررة في ثلاث مواضع من الكود
مثال على قطعة المشاركات الجديدة
مفتاحها مكرر في الكود
هنا
كود:
aria-controls="lastest_threads">المواضيع</a>
وهو الكود المسؤول عن إظهار القطعة
وهنا
كود:
<li class="is-active" role="tabpanel" id="lastest_threads">
وهو الكود المسؤول عن الكلاس الخاص بتخصيص شكل القطعة
وهنا
كود:
<xf:widget key="lastest_threads" />
وهو الكود الخاص باستدعاء القطعة داخل التبويبة عن طريق مفتاحها المميز الذي أعطيناه لها
طبعا نقوم بتعديل المفاتيح الموجودة في الكود بالمفاتيح التي وضعناها عند إنشاء كل قطعة
ونقوم بتغيير الإسم العربي الذي ستظهر به القطعة حسب ما نريد
ثم نضغط حفظ
النتيجة النهائية تكون هاكذا

rJ1e39p.jpg


ملحوظة
هناك كود رابع داخل الكود الرئيسي أحب أن ألفت الأنظار إليه وهو هذا الكود
كود:
"{{ link('whats-new/profile-posts/') }}?skip=1"
يتم تعديل هذا الكود في حال استدعيناَ قطعة لها صفحة مثل المشاركات الجديدة أو مشاركات الحائط أو المواضيع الجديدة
بالمتغير الذي يشير إلى رابط تلك الصفحة
وإليكم بعضها
القطعةالمفتاح
خلاصة الأخبار الخاصة بكwhats-new/news-feed
آخر النشاطاتwhats-new/latest-activity
منتجات جديدة whats-new/resources/
وطبعا يتم جلب المتغير من رابط الصفحة كي لا تظنو الأمر صعبا
مثال على خلاصة الأخبار الخاصة بك
https://xenarabia.com/whats-new/news-feed
المهم
علينا تغيير تلك المتغيرات إذا جلبنا صفحات مختلفة عن الموجودة بالأعلى
أما لو استخدمنا قطع ليس لها صفحة معينة كالإحصائيات أو مشاركة أو غير ذلك فيمكن الإستغناء عن الكود أصلا

ختاما
طبعا درس طويل على شيء بسيط أنا أعرف ذلك
ولكن من يتمعن في الأمر فسيجد أن الأمر يستحق وأنا أحببت تفصيله لأبعد الحدود كي يستطيع كل شخص عمل ما يريده هو وليس استخدام ما طرحته انا
وطبعا في حال واجهتكم أي مشكلة في التطبيق فأنا متواجد للمساعدة بإذن الله
وبهذا ينتهي شرحنا لهذا اليوم
ونلقاكم قريبا إن شاء الله
والسَلام عليكم ورحمة الله وبركاته
 
ما شاء الله عليك أخي أحمد
درس في غاية الروعة و الشرح مبسط لابعد الحدود
و الطريقة جد جد رائعة
سلمت اناملك و دوما تاتي بالجديد فالله لا يحرمنا منك ومن جديدك
 
ما شاء الله عليك أخي أحمد
درس في غاية الروعة و الشرح مبسط لابعد الحدود
و الطريقة جد جد رائعة
سلمت اناملك و دوما تاتي بالجديد فالله لا يحرمنا منك ومن جديدك
سلمك الله أخي الحبيب محمد
نرجو أن نكون دائما عند حُسن ظن أخوتنا الكرام
تحياتي لك يالغالي
 

المواضيع المُشابهة

إحصائيات المنتدى

المواضيع
1,589
المشاركات
17,895
الأعضاء
1,156
آخر عضو مسجل
hamodsekik
أعلى