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

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

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,501
مستوى التفاعل
1,268
النقاط
113
الإقامة
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
المشاركات
132
مستوى التفاعل
88
النقاط
28
الإقامة
فلسطين
ما شاء الله شرح اكثر من رائع

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

تحياتي لك
 

bousaid

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

MesterPerfect

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

XenArabia

الحياة محطات فاترك في كل محطة ابتسامة
طاقم الإدارة
إنضم
23 يناير 2019
المشاركات
3,503
مستوى التفاعل
2,133
النقاط
113
العمر
37
الإقامة
المغرب
الموقع الالكتروني
جزاك الله خيرا أخي @shqawe على الدرس و الشرح الجميل
سلمت الايدي و رزقك الله من فضله
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,501
مستوى التفاعل
1,268
النقاط
113
الإقامة
K.S.A
ما شاء الله شرح اكثر من رائع

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

تحياتي لك

اشكرك اخوي @Abu Ayesh

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

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

احسنت استاذنا الغالي @bousaid

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

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

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

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

حبيبي @MesterPerfect اتوقع درس اليوم هو طلبك

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


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

واياك يالغالي @XenArabia والله يسلم يدينك

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

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

bousaid

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

shqawe

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

منكم نتعلم ونسفيد يالغالي

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

bousaid

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

أبو عبدالله

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

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

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

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

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,501
مستوى التفاعل
1,268
النقاط
113
الإقامة
K.S.A
كلنا هنا لنتعلم و نفيد و نستفيد أستاذ شقاوي
موفق في متابعة دورتكك الموفقة ....

اكرمك الله استاذنا ومهندسنا @bousaid

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

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

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

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

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

حي الله الشيخ @أبو عبدالله

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

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



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

MesterPerfect

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

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

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

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,501
مستوى التفاعل
1,268
النقاط
113
الإقامة
K.S.A
هلا حبيبي احمد بالنسبة للاستفسار الاول

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

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

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

HTML:
#^.*$#s

ثم في مربع الاستبدال ضع القالب الجديد


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

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

MesterPerfect

:: الأعضاء ::
إنضم
27 يناير 2019
المشاركات
1,029
مستوى التفاعل
794
النقاط
113
العمر
20
الإقامة
sohag, Egypt
الموقع الالكتروني
السَلام عليكم ورحمة الله وبركاته
بسبب إنقطاع الأنترنت لدي وكالعادة أعود لأي شيء يفيدني ويملأ لي وقتي بالإفادة والتعلم
وهذه المرة أتيت إلى إضافات الXF وبدأت في برمجة أول إضافة لي وهي خاصة ببعض التعديلات التي أحبها في المنتدى
قمت بعمل الخيارات وضبطت أكثر من واحد منهم وكله تمام التمام ودا طبعا بعد متابعة دورة أخينا الحبيب شقاوي @shqawe
والآن عندي سؤال له بخصوص المستبدلات في البحث القياسي
في قالب post_macros
أريد تعديل هذا الكود
كود:
<article class="message-body js-selectToQuote">
	<xf:ad position="post_above_content" arg-post="{$post}" />
	{{ bb_code($post.message, 'post', $post) }}
	<div class="js-selectToQuoteEnd">&nbsp;</div>
	<xf:ad position="post_below_content" arg-post="{$post}" />
</article>
أريد استبدال <article بي <blockQuote واستبدال </article> بي </BlockQuote>
فما هو التعبير القياسي المناسب لهذا
تحياتي للجميع
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,501
مستوى التفاعل
1,268
النقاط
113
الإقامة
K.S.A
وعليكم السلام ورحمة الله وبركاته

حي الله الغالي احمد وما شاء الله شايفك مبدع الايام هذي وان شاء الله نشوف اضافتك قريب ونشوفك منافس لنا 😘

بالنسبة لسؤالك التعبير القياسي راح يكون كالتالي:

نص البحث

HTML:
/<article class="message-body js-selectToQuote">(.*?)<\/article>/s

نص الاستبدال

HTML:
<BlockQuote class="message-body js-selectToQuote">$1</BlockQuote>

وانا استخدم الموقع هذا للتأكد من التعابير القياسية احياناً اذا كان الكود معقد قليلا ً


وان شاء الله راح اشرح طريقة استخدامه في درس منفصل لك تعم الفائدة للجميع

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

MesterPerfect

:: الأعضاء ::
إنضم
27 يناير 2019
المشاركات
1,029
مستوى التفاعل
794
النقاط
113
العمر
20
الإقامة
sohag, Egypt
الموقع الالكتروني
وعليكم السلام ورحمة الله وبركاته

حي الله الغالي احمد وما شاء الله شايفك مبدع الايام هذي وان شاء الله نشوف اضافتك قريب ونشوفك منافس لنا 😘

بالنسبة لسؤالك التعبير القياسي راح يكون كالتالي:

نص البحث

HTML:
/<article class="message-body js-selectToQuote">(.*?)<\/article>/s

نص الاستبدال

HTML:
<BlockQuote class="message-body js-selectToQuote">$1</BlockQuote>

وانا استخدم الموقع هذا للتأكد من التعابير القياسية احياناً اذا كان الكود معقد قليلا ً


وان شاء الله راح اشرح طريقة استخدامه في درس منفصل لك تعم الفائدة للجميع

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

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,501
مستوى التفاعل
1,268
النقاط
113
الإقامة
K.S.A
والله اخوي احمد اذا حابب تتوسع في الxf وطريقة برمجته والتعامل معه حاول تتابع كورسات Laravel في اليوتيوب فالشروحات العربية كثيرة

فتقريبا ً هي اقرب فريم ورك ل xf واسهل فريم ورك للتعلم لان فيه مصادر عربية كثيرة تشرح هذا الاطار
 

MesterPerfect

:: الأعضاء ::
إنضم
27 يناير 2019
المشاركات
1,029
مستوى التفاعل
794
النقاط
113
العمر
20
الإقامة
sohag, Egypt
الموقع الالكتروني
والله اخوي احمد اذا حابب تتوسع في الxf وطريقة برمجته والتعامل معه حاول تتابع كورسات Laravel في اليوتيوب فالشروحات العربية كثيرة

فتقريبا ً هي اقرب فريم ورك ل xf واسهل فريم ورك للتعلم لان فيه مصادر عربية كثيرة تشرح هذا الاطار
تمام جدا يالغالي سوف أحاول
شكرا لك
 

MesterPerfect

:: الأعضاء ::
إنضم
27 يناير 2019
المشاركات
1,029
مستوى التفاعل
794
النقاط
113
العمر
20
الإقامة
sohag, Egypt
الموقع الالكتروني
السَلام عليكم ورحمة الله وبركاته
اليوم لدي مشكلة جديدة أخي الحبيب @shqawe
وهي أني قمت بعمل تعديل معين
ولكن إذا التعديل غير محدد من الإضافة أي غير مفعل يتخرب شكل المكان الذي أقوم بتعديله
وإذا قمت بتفعيل الخيار من الإضافة يتم تطبيق التعديل دون أي مشاكل
سأشرح لك بشكل أدق
انا قمت بعمل تعديل
وظيفة هذا التعديل أنو يستبدل قالب معين بقالب آخر
في خانة نوع البحث اخترت تعبير قياسي
في خانة البحث كتبت
كود:
#^.*$#s
وفي مربع الإستبدال وضعت هذا
كود:
<xf:if is="$xf.options.mfa_act == 1">
<xf:if is="$xf.options.PrefixToComboBox == 1">
<xf:include template="PrefixComboBox" />
</xf:if>
</xf:if>
عند تفعيل الخيار من إعدادات الإضافة يتم تطبيق التعديل عادي
ولكن إذا عطلته من إعدادات الإضافة تتخرب الدنيا
فما المشكلة يا ترا
تحياتي لك وعذرا على الإزعاج المتكرر
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
1,501
مستوى التفاعل
1,268
النقاط
113
الإقامة
K.S.A
وعليكم السلام ورحمة الله وبركاته

حياك الله حبيبي احمد ومافيه اي ازعاج وبالعكس يسعدني الرد على استفسارتكم

بالنسبة لكودك مافيه اي مشاكل

المشكله فقط في انك نسيت انك تكمل الشرط اللي انت حاطه

وهو في حالة كان خيار الاضافة غير مفعل قم بعمل شيء آخر

ويكون الكود بهذا الشكل

HTML:
<xf:if is="$xf.options.mfa_act == 1">
<xf:if is="$xf.options.PrefixToComboBox == 1">
<xf:include template="PrefixComboBox" />
</xf:if>
<xf:else />
    $0
</xf:if>

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

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

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

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

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

المواضيع
1,199
المشاركات
10,950
الأعضاء
460
آخر عضو مسجل
alifmf
أعلى