shqawe
ربي أشرح لي صدري
بسم الله الرحمن الرحيم
الحمد لله والصلاة والسلام على رسول الله نبينا محمد عليه افضل الصلاة واتم التسليم
اللهم لا علم لنا إلا ما علمتنا، إنك أنت العليم الحكيم، اللهم علمنا ما ينفعنا، وانفعنا بما علمتنا، وزدنا علما،
عدنا لكم بعد غياب اتمنى ان تعذرونا عليه وذلك لظروف خاصة
بدرس جديد نشرح فيه الفرق بين Template و macro في نسخ الزين فورو وسوف اقوم بالشرح حسب فهمي وحسب استخدامي فان كان في النقاط التي سوف اشرحها نقطة خاطئة او ناقصة فاتمنى من له الخبرة ان يصحح خطأي ويكمل نقص النقاط
اعتقد ان الكثير منكم قد رأى ان اغلب قوالب الزين فورو تحتوي على macro فما هو ال macro وكيف يتم استخدامه.
ملاحظة سوف يتم ذكر الماكرو في الدرس نسبة الى macro وقالب نسبة ل template لسهولة الكتابة
بطريقة مبسطة يمكن شرح القالب على انه اﻻب والماكرو على انه اﻻبن بحيث ان اﻻب ممكن ان يكون له الكثير من اﻻبناء يستطيعون اخذ صفات اﻻب.
بتفصيل اكثر نستطيع عن طريق الماكرو نقل البيانات من قالب الى قالب دون الحاجة الى كتابة ملفات برمجية.
ولتوضيح الفكرة اكثر لنأخذ قالب
نلاحظ انه تم نقل البيانات من قالب
اذا لنأتي لكيفية استخدام الماكرو وطريقة كتابته:
اولا ً نحتاج الى مكان ﻻضافة الماكرو الخاص بنا ولنفرض اننا نريد اضافة رسالة تحتوي على اسم العضو تحت معلومات العضو داخل المشاركات لذا سوف يكون مكان الماكرو او باﻻصح سوف يكون القالب المستهدف هو قالب
ثانيا ً طريقة انشاء الماكرو: لكي تنشئ الماكرو فانك تحتاج الى ثلاث نقاط وكلها قد تكون مطلوبه حسب استخدامك للماكرو
سوف نقوم اولا ً بانشاء قالب باسم
لنشرح ما ذا فعلنا في مثالنا السابق وبناء عل النقاط التي ذكرتها :
قمنا بانشاء قالب باسم :
ثم قمنا بانشاء الماكر واعطيناه اسم:
ثم قمنا بتمرير متغير : وهنا المتغير هو
ويمكنك اضافة متغيرات بعدد ﻻ نهائي ولكن المهم انها تكون موجودة في القالب المصدر وهذا ما سوف نتطرق له في النقطة التالية:
اﻻن بعد انشاء قالب الماكرو وبعد انشاء الماكرو بالمحتوى الخاص به تبقى لنا تفعيل هذا الماكرو في القالب الذي سوف نستهدفه والذي اشرت اليه في السطر السابق بالقالب المصدر
وفي مثالنا ذكرت ان القالب المستهدف سوف يكون
كما تلاحظون قمنا باتباع النقاط الخاصة بكتابة الماكرو حسب اهميتها كالتالي:
قمنا بكتابة اسم قالب الماكرو
قمنا بكتابة الماكرو المستهدف في قالب الماكرو
قمنا بكتابة المتغير ولكن عند كتابة المتغير في القالب المستهدف او القالب المصدر ﻻبد من تمرير قيمة المتغير من نفس القالب المصدر فالمتغير
معرف وموجود في القالب المصدر وهو
في النهاية لنرى نتيجة عملنا وسوف تكون كالتالي:
واتمنى في النهاية ان اكون وفقت في الشرح وكما ذكرت في اول الدرس هذه المعلومات حسب خبرتي وتعاملي وفهمي للقالب والماكرو
فان اصبت فهذا من فضل الله علي وان اخطأت فجل من ﻻ يخطأ
تقبلوا احترامي وتقديري
اخوكم
شقاوي
الحمد لله والصلاة والسلام على رسول الله نبينا محمد عليه افضل الصلاة واتم التسليم
اللهم لا علم لنا إلا ما علمتنا، إنك أنت العليم الحكيم، اللهم علمنا ما ينفعنا، وانفعنا بما علمتنا، وزدنا علما،
عدنا لكم بعد غياب اتمنى ان تعذرونا عليه وذلك لظروف خاصة
بدرس جديد نشرح فيه الفرق بين Template و macro في نسخ الزين فورو وسوف اقوم بالشرح حسب فهمي وحسب استخدامي فان كان في النقاط التي سوف اشرحها نقطة خاطئة او ناقصة فاتمنى من له الخبرة ان يصحح خطأي ويكمل نقص النقاط
اعتقد ان الكثير منكم قد رأى ان اغلب قوالب الزين فورو تحتوي على macro فما هو ال macro وكيف يتم استخدامه.
ملاحظة سوف يتم ذكر الماكرو في الدرس نسبة الى macro وقالب نسبة ل template لسهولة الكتابة
بطريقة مبسطة يمكن شرح القالب على انه اﻻب والماكرو على انه اﻻبن بحيث ان اﻻب ممكن ان يكون له الكثير من اﻻبناء يستطيعون اخذ صفات اﻻب.
بتفصيل اكثر نستطيع عن طريق الماكرو نقل البيانات من قالب الى قالب دون الحاجة الى كتابة ملفات برمجية.
ولتوضيح الفكرة اكثر لنأخذ قالب
post_macros
مثالا ً على هذا الكلام فلو نظرنا الى القالب سوف نجد في هذا القالب هذا الماكرو :
HTML:
<xf:macro template="message_macros" name="user_info" arg-user="{$post.User}"
arg-fallbackName="{$post.username}"/>
نلاحظ انه تم نقل البيانات من قالب
post_macros
الى قالب message_macros
باستخدام الماكرو ولو بحثت في الملفات البرمجية عن الماكرو user_info
فلن تجد شيئا ً والسبب كما ذكرت سابقا ً ان الماكرو تكفل بذلك عن طريق تمرير البيانات باستخدام المتغير arg-user="{$post.User}"
اذا لنأتي لكيفية استخدام الماكرو وطريقة كتابته:
اولا ً نحتاج الى مكان ﻻضافة الماكرو الخاص بنا ولنفرض اننا نريد اضافة رسالة تحتوي على اسم العضو تحت معلومات العضو داخل المشاركات لذا سوف يكون مكان الماكرو او باﻻصح سوف يكون القالب المستهدف هو قالب
message_macros
ثانيا ً طريقة انشاء الماكرو: لكي تنشئ الماكرو فانك تحتاج الى ثلاث نقاط وكلها قد تكون مطلوبه حسب استخدامك للماكرو
- اسم القالب: وهنا يتم كتابة القالب الذي يحتوي على معلومات الماكرو. [ مطلوب خارج قالب الماكرو]
- اسم الماكرو: وهنا يتم تعريف اسم الماكرو [ مطلوب داخل وخارج قالب الماكرو ]
- المتغيرات: والمتغيرات هنا يتم استخدامها حسب حاجتك فاحياناً قد تنشئ ماكرو لا يحتوي على اي متغير. [ اختياري حسب اﻻستخدام]
سوف نقوم اولا ً بانشاء قالب باسم
xenarbia_text_macro
وكما ذكرت في النقاط السابقة هذه النقطة مهمة وسوف يكون محتواه كالتالي:
HTML:
<xf:macro name="first_macro" arg-user="!">
تذكر عضونا الغالي {$user.username} قوله عز وجل:
<br />
مَّا يَلْفِظُ مِن قَوْلٍ إِلَّا لَدَيْهِ رَقِيبٌ عَتِيدٌ
</xf:macro>
لنشرح ما ذا فعلنا في مثالنا السابق وبناء عل النقاط التي ذكرتها :
قمنا بانشاء قالب باسم :
xenarbia_text_macro
ثم قمنا بانشاء الماكر واعطيناه اسم:
first_macro
ثم قمنا بتمرير متغير : وهنا المتغير هو
$user
ولاحظو معي نقطة مهمة عند تمرير المتغيرات للماكرو كل ما عليك اذا ردت تمرير متغير للماكرو هو ان تضع عبارة arg
ثم بعدها تضع علامة الناقص - وتكتب بعدها اسم المتغير حسب ما تريد ومن ثم نضيف علامة التعجب ! كقيمة للمتغير بهذه الطريقة
HTML:
arg-xenarabia="!"
ويمكنك اضافة متغيرات بعدد ﻻ نهائي ولكن المهم انها تكون موجودة في القالب المصدر وهذا ما سوف نتطرق له في النقطة التالية:
اﻻن بعد انشاء قالب الماكرو وبعد انشاء الماكرو بالمحتوى الخاص به تبقى لنا تفعيل هذا الماكرو في القالب الذي سوف نستهدفه والذي اشرت اليه في السطر السابق بالقالب المصدر
وفي مثالنا ذكرت ان القالب المستهدف سوف يكون
message_macros
لذا لنفتح هذا القالب ونقوم باضافة الماكرو الخاص بنا بهذه الطريقة :
HTML:
<xf:macro template="xenarbia_text_macro" name="first_macro" arg-user="{$user}" />
كما تلاحظون قمنا باتباع النقاط الخاصة بكتابة الماكرو حسب اهميتها كالتالي:
قمنا بكتابة اسم قالب الماكرو
قمنا بكتابة الماكرو المستهدف في قالب الماكرو
قمنا بكتابة المتغير ولكن عند كتابة المتغير في القالب المستهدف او القالب المصدر ﻻبد من تمرير قيمة المتغير من نفس القالب المصدر فالمتغير
$user
معرف وموجود في القالب المصدر وهو
message_macros
لذا من المهم ان يكون المتغير الذي تريد تمريره ان يكون معرف في القالب المصدرفي النهاية لنرى نتيجة عملنا وسوف تكون كالتالي:
واتمنى في النهاية ان اكون وفقت في الشرح وكما ذكرت في اول الدرس هذه المعلومات حسب خبرتي وتعاملي وفهمي للقالب والماكرو
فان اصبت فهذا من فضل الله علي وان اخطأت فجل من ﻻ يخطأ
تقبلوا احترامي وتقديري
اخوكم
شقاوي
التعديل الأخير: