[ حصريا ] - دورة برمجة الاضافات - [ الدرس الرابع - تعديلات القوالب ] | زين العربية | XenArabia

[ حصريا ] دورة برمجة الاضافات - [ الدرس الرابع - تعديلات القوالب ]

shqawe

:: الإدارة العامة ::
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
624
مستوى التفاعل
670
النقاط
93
الإقامة
K.S.A
بسم الله الرحمن الرحيم

الحمد لله والصلاة والسلام على رسول الله نبينا محمد عليه افضل الصلاة واتم التسليم

اللهم لا علم لنا إلا ما علمتنا، إنك أنت العليم الحكيم، اللهم علمنا ما ينفعنا، وانفعنا بما علمتنا، وزدنا علما،

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

نستكمل معكم اليوم ما بدنأه في الدرس السابق من دورة برمجة الاضافات ومن فاتته الدروس السابقة يستطيع مراجعة فهرس الدورة عن طريق الرابط التالي:


في الدرس السابق قمنا بانشاء اربع قوالب خاصة باضافتنا وهي

- قالب لعرض كلمة مدير الموقع

- قالب لعرض كلمة مدير الموقع
- قالب لعرض كلمة مدير الموقع
- قالب خاص بخيارات css

ودرسنا اليوم باذن الله هو كيفية تطبيق تعديلات القوالب تلقائيا بدون التعديل عليها يدوياً

لذا نقول بسم الله وعلى بركة الله

توجه الى لوحة التحكم > المظهر > تعديلات القالب > اضافة تعديل قالب

سوف تفتح لك هذه الصفحة :


l-1.jpg

لنشرح الخيارات:

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

مفتاح التعديل: يستخدم هذا الخيار في حال اردت تحديث الاضافة واردت عمل تحديث لهذا التعديل لذا يفضل ان تضع هنا قيمة فريدة خاصة بالاضافة.

الوصف: هنا ضع وصف لهذا التعديل لكي يسهل عليك العودة له في حين اردت تعديله لانه في بعض الاضافات من الممكن ان تحتاج لاكثر من تعديل فتحتاج الى وصفها للتمييز بينها.

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

نوع البحث: وهذا الخيار يندرج تحته ثلاث خيارات


    • استبدال بسيط: ويعني هنا استبدال كود بكود دون وجود فراغات او عدة اسطر.
    • تعبير قياسي: ويعني استبدال معتمد على التعابير القياسية ويستخدم في حين كان التعديل يحتوي على فراغات او عدة سطور.
    • PHP callback: ويعني ان الاستبدال سوف يكون مبني على ملف php فيه اكواد الاستبدال.

البحث: هنا نضع الكود الذي سوف تقوم الاضافة بالبحث عنه لكي يتم استبداله.

الاستبدال : هنا الكود الذي سوف نضعه لكي يتم استبداله بالكود السابق.

اولوية الطلب: وتعني في بعض الاضافات تحتاج ان يكون الاستبدال متتالي عندها تحتاج الى وضع الاولوية حسب التتالي.

مربع تطبيق تعديل القالب تلقائيا ً لابد من التأشير عليه والا لن يتم الاستبدال تلقائيا ً

الاضافة: كما تعودنا في الدروس السابقة سوف نقوم باختيار اضافتنا

الان بعد شرح الخيارات تبقى لنا تطبيق التعديل

واول تعديل سوف نقوم بعمله هو على قالب wsm_template_up والمتخصص بظهور كلمة مدير الموقع اعلى المنتدى لذا سوف نختار التالي:

نوع البحث استبدال بسيط

ونضع في مربع البحث هذا الكود وهو الكود الخاص بعرض محتوى الجزء الايمن من المنتدى:

HTML:
<div class="p-body-pageContent">{$content|raw}</div>
وفي مربع الاستبدال :


HTML:
<xf:if is="$xf.options.mfa_act == 1">
    <xf:if is="$xf.options.mfa_place == 1">
        <xf:include template="wsm_template_up" />
        <div class="p-body-pageContent">{$content|raw}</div>
    <xf:elseif is="$xf.options.mfa_place == 2" />
        <div class="p-body-pageContent">{$content|raw}</div>
        <xf:include template="wsm_template_dw" />
    <xf:else />
        <div class="p-body-pageContent">{$content|raw}</div>
    </xf:if>

    <xf:else />
        <div class="p-body-pageContent">{$content|raw}</div>
</xf:if>
لنشرح ماذا فعلنا:

في مربع البحث وضعنا الكود الذي سوف نستبدله بمعنى ان هذا الكود هو هدفنا

واما مربع الاستبدال ففي السطر الاول وضعنا هذا الكود:

HTML:
<xf:if is="$xf.options.mfa_act == 1">
وفيه قمنا بوضع شرط يقوم بالتحقق من انه اذا كان خيار تفعيل الاضاف يساوي 1 اي ( نعم ) نفذ الكودالتالي:

HTML:
<xf:if is="$xf.options.mfa_place == 1">
        <xf:include template="wsm_template_up" />
        <div class="p-body-pageContent">{$content|raw}</div>
    <xf:elseif is="$xf.options.mfa_place == 2" />
        <div class="p-body-pageContent">{$content|raw}</div>
        <xf:include template="wsm_template_dw" />
    </xf:if>
وبنفس الطريقة قمنا بوضع شرط يقوم بالتحقق من مكان قيمة ظهور الاضافة
واذا كنتم تتذكرون في درسنا السابق وضعنا لكل مكان قيمة

اعلى المنتدى = 1

اسفل المنتدى = 2
الشريط الجانبي = 3


فاذا كانت قيمة مكان ظهور الاضافة تساوي 1 أي ( اعلى المنتدى )
قم باستدعاء قالب wsm_template_up
وضع بعده الكود الذي بحثنا عنه

وبعدها قمنا بعمل شرط اخر انه اذا كانت قيمة مكان ظهور الاضافة تساوي 2 أي ( اسفل المنتدى )

قم باستدعاء الكود الذي بحثنا عنه
ثم ضع تحته القالب wsm_template_dw

في النهاية وضعنا هذا الكود مرتين


HTML:
<xf:else />
        <div class="p-body-pageContent">{$content|raw}</div>
    </xf:if>

    <xf:else />
        <div class="p-body-pageContent">{$content|raw}</div>
</xf:if>
وقمنا فيه باغلاق شرط التحقق من مكان ظهور الاضافة وشرط تفعيل الاضافة

فاذا كان مكان ظهور الاضافة في الشريط الجانبي ولم نقم باضافة هذا الكود او

الاضافة غير مفعلة فسوف لن تظهر معنا الاقسام لذا المعنى من هذا الكود هو ببساطة

اذا كان مكان الظهور في الشريط الجانبي او ان الاضافة غير مفعلة فالكود الذي استبدلناه سوف لن يستبدل

اتمنى ان تكون وضحت الفكرة

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


l-2.jpg

الكود المظلل بالاحمر هو الكود الذي سوف يتم استبداله

والكود الاخصر هو كود الاستبدال

الان اذا كانت النتيجة كما ترى في الصورة السابقة قم بالضغط على زر حفظ

الان لنكرر نفس العملية لكي نقوم باضافة الاستبدال التلقائي لقالب الشريط الجانبي:

سوف نكرر نفس الخطوات السابقة بالمعلومات التالية :

القالب: PAGE_CONTAINER

مفتاح التعديل: template_replacement2

الوصف: استبدال القوالب 2

نوع البحث : استبدال بسيط

البحث:

HTML:
<div class="p-body-sidebar">

الاستبدال:

HTML:
<xf:if is="$xf.options.mfa_act == 1">
    <xf:if is="$xf.options.mfa_place == 3">
        <div class="p-body-sidebar">     
        <xf:include template="wsm_template_sidebar" />
    <xf:else />
        <div class="p-body-sidebar">         
    </xf:if>
    <xf:else />
        <div class="p-body-sidebar">
</xf:if>
[ تحديث ]
ذكر استاذنا @bousaid في رده التالي:

بارك الله فيك ...
يمكنك ايضا الاستغناء عن إعادة كتابة ما هو بخانة البحث و استبداله بـ 0$ ليتم اضافته تلقائياً بالقالب النهائي
لذا احببت ان اضع الطريقة للجميع فيمكنكم بدلاً من كتابة الكود السابق ان تستخدمو هذا الكود

HTML:
$0
<xf:if is="$xf.options.mfa_act == 1">
    <xf:if is="$xf.options.mfa_place == 3">   
        <xf:include template="wsm_template_sidebar" />
    </xf:if>
</xf:if>
لاحظو اننا استغنينا عن الكود في خانة البحث ووضعنا بدلاً عنه [ $0 ]

فاذا اردت ان تضع القالب تحت كود البحث فضع هذه العلامة [ $0 ] فوق كودك تماما ً كما فعلنا في الشريط الجانبي

واذا اردت ان تضع القالب فوق كود البحث فضع العلامة تحته

ثم قم بالتجربة كما فعلنا مع الاستبدال الاول واذا كانت النتيجة نفس السابقة اضغط حفظ

وبهذه النتيجة يكون درسنا قد انتهى لهذا اليوم باضافة تعديلات القوالب وفي الدرس القادم سوف نتحدث عن تصدير الاضافة واعداد ملف بياناتها

ولمن اراد القرائة اكثر عن القوالب وعن استخدام الدوال فيها فسوف اترك لكم هذا الرابط كمرجع فيه اهم الدوال المستخدمه في القوالب


ان اصبت فمن فضل الله علي وان اخطأت فجل من لايخطأ

احترامي وتقديري
اخوكم
شقاوي
 
التعديل الأخير:

Abu Ayesh

:: الأعضاء ::
إنضم
28 يناير 2019
المشاركات
99
مستوى التفاعل
59
النقاط
18
ما شاء الله شرح اكثر من رائع

الله يعطيك العافية ياغالي

تحياتي لك
 

bousaid

:: الأعضاء ::
إنضم
27 يناير 2019
المشاركات
94
مستوى التفاعل
170
النقاط
33
بارك الله فيك ...
يمكنك ايضا الاستغناء عن إعادة كتابة ما هو بخانة البحث و استبداله بـ 0$ ليتم اضافته تلقائياً بالقالب النهائي
 

MesterPerfect

:: الأعضاء ::
إنضم
27 يناير 2019
المشاركات
521
مستوى التفاعل
460
النقاط
63
العمر
20
الإقامة
sohag, Egypt
الموقع الالكتروني
الله ينور عليك ويزيدك من علمه وفضله
ستتم التجربة بإذن الله
 

XenArabia

الحياة محطات فاترك في كل محطة ابتسامة
طاقم الإدارة
إنضم
23 يناير 2019
المشاركات
1,537
مستوى التفاعل
1,192
النقاط
113
العمر
36
الإقامة
المغرب
الموقع الالكتروني
جزاك الله خيرا أخي @shqawe على الدرس و الشرح الجميل
سلمت الايدي و رزقك الله من فضله
 

shqawe

:: الإدارة العامة ::
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
624
مستوى التفاعل
670
النقاط
93
الإقامة
K.S.A
ما شاء الله شرح اكثر من رائع

الله يعطيك العافية ياغالي

تحياتي لك
اشكرك اخوي @Abu Ayesh

والله يعافيك من كل شر ان شاء الله

بارك الله فيك ...
يمكنك ايضا الاستغناء عن إعادة كتابة ما هو بخانة البحث و استبداله بـ 0$ ليتم اضافته تلقائياً بالقالب النهائي
احسنت استاذنا الغالي @bousaid

واتوقع ان الطريقة تنفع مع الاستبدال الثاني وليس الاول اقصد مع الشريط الجانبي

ولكن سوف يتم تحديث الدرس واضافة الطريقة ليتسنى للجميع اخذ فكرة عن الطريقتين

اشكرك استاذنا الغالي على الاضافة الرائعة ونتمنى منك طرح بعض الدروس المتقدمة في القسم مستقبلاً ;)

الله ينور عليك ويزيدك من علمه وفضله
ستتم التجربة بإذن الله
حبيبي @MesterPerfect اتوقع درس اليوم هو طلبك

اتمنى اشوف ابداعك في المستقبل باذن الله


جزاك الله خيرا أخي @shqawe على الدرس و الشرح الجميل
سلمت الايدي و رزقك الله من فضله
واياك يالغالي @XenArabia والله يسلم يدينك

والحمد لله رب العالمين انني استطعت ايصال فكرة الدرس

احترامي وتقديري
اخوكم
شقاوي
 

bousaid

:: الأعضاء ::
إنضم
27 يناير 2019
المشاركات
94
مستوى التفاعل
170
النقاط
33
واتوقع ان الطريقة تنفع مع الاستبدال الثاني وليس الاول اقصد مع الشريط الجانبي
الطريقة هي مخصصة لكافة أنواع البحث العادي البسيط دون استثناء، بحيث تعوض 0$ بالمحتوى المعثور عليه في خانة البحث دون إعادة كتابته مرة أخرى و يتم استخدام 1$ في حالة استخدام التعابير القياسية
 

shqawe

:: الإدارة العامة ::
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
624
مستوى التفاعل
670
النقاط
93
الإقامة
K.S.A
الطريقة هي مخصصة لكافة أنواع البحث العادي البسيط دون استثناء، بحيث تعوض 0$ بالمحتوى المعثور عليه في خانة البحث دون إعادة كتابته مرة أخرى و يتم استخدام 1$ في حالة استخدام التعابير القياسية
منكم نتعلم ونسفيد يالغالي

احترامي وتقديري
اخوك
شقاوي
 

bousaid

:: الأعضاء ::
إنضم
27 يناير 2019
المشاركات
94
مستوى التفاعل
170
النقاط
33
كلنا هنا لنتعلم و نفيد و نستفيد أستاذ شقاوي
موفق في متابعة دورتكك الموفقة ....
 

أبو عبدالله

:: الأعضاء ::
إنضم
2 فبراير 2019
المشاركات
156
مستوى التفاعل
153
النقاط
43
الإقامة
مكة المكرمة
ماشاء الله تبارك الله

الله يجزاك خير يا تركي شرح متعوب عليه وافي وواضح

الله يزيدك علم وبنفعك بما تعلمت

شكرا لك (y) :love:
 

shqawe

:: الإدارة العامة ::
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
624
مستوى التفاعل
670
النقاط
93
الإقامة
K.S.A
كلنا هنا لنتعلم و نفيد و نستفيد أستاذ شقاوي
موفق في متابعة دورتكك الموفقة ....
اكرمك الله استاذنا ومهندسنا @bousaid

والعين ما تعلى على الحاجب

ماشاء الله تبارك الله

الله يجزاك خير يا تركي شرح متعوب عليه وافي وواضح

الله يزيدك علم وبنفعك بما تعلمت

شكرا لك (y) :love:
حي الله الشيخ @أبو عبدالله

نورت يا بعدي الموضوع والله يزيدني ويزيدك من علم ينفعنا دنيا واخره انت ومن يقرأ ان شاء الله

ننتظر ابداعاتك يالذيب 😘



احترامي وتقديري
اخوكم
شقاوي
 

MesterPerfect

:: الأعضاء ::
إنضم
27 يناير 2019
المشاركات
521
مستوى التفاعل
460
النقاط
63
العمر
20
الإقامة
sohag, Egypt
الموقع الالكتروني
دروس رائعة جدا أخي الكريم شقاوي الله يجزيك بالخير

كان لدي سؤالين
أنا لدي قالب
أريد استبدال كافة محتوياته بالكامل بمحتوى جديد
كيف أفعل ذلك
وأيضا
كيف أضيف كود داخل قالب دون أن أعدل على الأكواد الموجودة سابقا به أو أبحث عن أي شيء فيه

مثلا أريد إضافة كود إلى أول القالب أو آخره
تحياتي لك
 

shqawe

:: الإدارة العامة ::
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
624
مستوى التفاعل
670
النقاط
93
الإقامة
K.S.A
هلا حبيبي احمد بالنسبة للاستفسار الاول

اذا اردت استبدال قالب كامل اتبع التالي

نوع البحث سوف يكون تعبير قياسي

في مربع البحث ضع هذا الكود

HTML:
#^.*$#s
ثم في مربع الاستبدال ضع القالب الجديد


اما بالنسبة لاستفسارك الثاني فاستخدم نفس الطريقة الموجودة بالدرس فهي بالضبط ما تبحث عنه

احترامي وتقديري
اخوك
شقاوي
 

جميع المواضيع والمشاركات المكتوبة تعبّر عن وجهة نظر صاحبها ,, ولا تعبّر بأي شكل من الاشكال عن وجهة نظر إدارة زين العربية .

التعليقات المنشورة لا تعبر عن رأي معهد زين العربية ولا نتحمل أي مسؤولية قانونية حيال ذلك :: يتحمل كاتبها مسؤولية النشر ::

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

المواضيع
621
المشاركات
4,795
الأعضاء
221
آخر عضو مسجل
احااا
أعلى