السلام عليكم..

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

وبعد تحديث بلوجر الي الاصدار الاخير وهو الاصدار الثالث من التخيط والاصدار الثاني من الادوات قد اصبح بمقدرونا أن نري اشياء جديده مثل الدوال والاوامر المباشره التي كنا ننتظرها منذ زمن وايضاً صندوق التعليقات الجميل الذي يعتبر افضل من سابقه بكثير المهم فلنعود لما هو افضل

منذ أكثر من سنة وبعد الاصدار الثالث من التخطيط ومع اضافه الوسوم الجديده لبلوجر يمكننا ان نقوم بعمل includable عام او خاص باداه معينه مثلاً يمكنك ان تضيف includable عام يتم استخدامه واستدعائه من وإلي أكثر من اضافه في بلوجر وكذلك يمكنك عمل includable خاص لأداه معينه بحث يتم اضافته بشكل تلقائي بدون التدخل منك الأمر الذي يجعلنا نستخدم بلوجر بشكل موسع في نقل البيانات من الادوات الي بعضها بسرعه رهيبه وأنبه هنا ان الامر لم يكن كذلك من قبل بل كان لزاماً علينا كمبرمجين لبلوجر ان نستخدم الجافاسكريبت التي اسعي انا كـ عبدالنعيم عطيه الحد منها في بلوجر والعمل اكثر ما يمكن الي استخدام xml فقط وذلك لضمان افضل سرعه اعلي تحكم.

وإلي

لعمل includable عام يلزم التالي

<b:defaultmarkups>

 <b:defaultmarkup type='Common'>
   <b:comment>هنا توضع عناصر التضمين </b:comment>

    <b:includable id='test'>

      <b:eval expr='data:parameters'/>

      <div>my name is : <b:eval expr='data:parameters'/></div>

    </b:includable>

  </b:defaultmarkup>

</b:defaultmarkups>

في الشيفره السابقه قمت بعمل includable عام وضفت له المعرف (id) يحمل القيمه test ولتلك القيمه الاهميه لانها هي التي تعرف ما هو اسم عنصر التضمين الذي سنحتاجه وبشكل ضروري عند استدعاء هذا الاخير و يتم الوصول الي هذا الـ includable من اي مكان في القالب لانه عنصر تضمين عمومي يتم الوصول اليه من جميع انحاء القالب ويحتوي عنصر التضمين هذا علي تاج بلوجر المتخصص في اخراج البيانات بشكل مباشر وهو eval

 <b:eval expr='سيتم طباعه هذه الكلمات'/> 

اذاً عرفنا الان انه عند استدعاء الـ includable العام في أي مكان فسيقوم العنصر المباشر لاخراج البيانات (eval) بطباعة البيانات الممرره الي عنصر التضمين includable والتي قمنا باستخدام المتغير parameters بالتعبير عن القيمه مهما كان نوع هذه القيمة.

وكما قمت بالتوضيح لاكثر من مره يمكننا الان أستدعاء عنصر التضمين العمومي includable عبر اسمه ولقد قمنا بتعيين الاسم عبر المعرف id في الاعلي وهو test حيث يتم استدعاء عنصر التضمين العمومي هكذا

<div class="tests">
 <b:comment>هكذا يتم الاستدعاء</b:commnet>
<b:include name='test'/>
</div>

الان لن يظهر شيء الا عنصر div بدون أي خواص محدده له وهو موجود داخل عنصر div يحمل الصنف tests فقط.

الان يمكننا تمرير البيانات التي نريدها مهما كان نوع هذه البيانات كما نري هنا سيتم تمرير البيانات من مكان الاستدعاء الي مكان العمليات او المعالجه وهو عنصر التضمين (includable) ونتابع التالي

<b:include name='test' data='{parameters: "Abdelnaem Atia"}'/>

هنا قمنا بتمرير اسمي "Abdelnaem Atia" الي عنصر التضمين العمومي test والذي بدوره سيقوم بعمل المعالجه واضافه جملة my name is قبل الاسم لتصبح كامل الشيفره التي سيتم اخراجها كالتالي

<div class='tests'>
  <div>
   Abdelnaem Atia
   my name is :  Abdelnaem Atia
  </div>
</div>

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