منتديات الدعم > القسم التعليمى

كيفية التعديل على الإستايلات لتعمل بشكل جيد مع المودات

(1/2) > >>

islam2hamy:
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته

فى هذا الموضوع إن شاء الله سوف نتعلم كيف نجعل المودات
تعمل بشكل جيد مع الإستايلات المختلفة (ليس الاستايل الافتراضى)

عندما تقوم بتثبيت مود فإن بعض المودات تحتاج لعمل بعض التغييرات على الإستايل
و يتم التعديل على الإستايل الإفتراضى تلقائيا أما الإستايلات الأخرى فيجب التعديل عليها يدويا

و هناك طرقتين للقيام بذلك :

1 - عن طريق تحميل المود و فك ضغط الرزمة و اتباع الشارح التالى .

2 - عن طرق موقع المودات و ذلك بالدخول على صفحة المود و إختيار نسخة المنتدى ثم ضغط زر التحليل ثم إتباع الشرح التالى.

لنقم مثلا بالتجربة على مود الإعلانات Ad Mod

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


--- اقتباس ---Ads.php
Ads.english.php
Ads.template.php
install.php
install.xml
LoadAds.php
package-info.xml
readme.txt

--- نهاية الإقتباس ---

ما يهمنا فى هذه الملفات ,هو الملفات التى باللون الأحمر

و الأن حان وقت العمل , لنقم بفتح الملف install.xml و هو الملف الذى يشرح لنا كيفية تثبية الرزمة

بعد فتحه نبحث عن السطر الذى يحتوى كلمة "themedir$" و هو أمر  يعنى التعديل على ملفات الاستايل

و هذا السطر مثال على هذا الأمر :


--- شفرة: ---<file name="$themedir/index.template.php">
--- نهاية الكود ---

و هو أمر المقصود به التعديل على الملف "index.template.php"

و هذا هو الأمر بالكامل لكى نشرح بالتفصيل :


--- شفرة: ---<file name="$themedir/index.template.php">
<operation>
<search position="before"><![CDATA[<body>';]]></search>

<add><![CDATA[
//Display ads on the top of the page
if (function_exists("show_topofpageAds"))
{
$ads = show_topofpageAds();
if(!empty($ads))
if($ads['type']==0)
echo $ads['content'];
else
eval($ads['content']);
unset($ads);
}
]]>
</add>
</operation>
<operation>
<search position="before"><![CDATA[ </td>]]></search>
<add><![CDATA[';
//Welcome Ads
if (function_exists("show_welcomeAds"))
{
$ads = show_welcomeAds();
if(!empty($ads))
{
echo '<td class="windowbg2">';
if($ads['type']==0)
echo $ads['content'];
else
eval($ads['content']);
echo '</td>';
}
unset($ads);
}
echo ']]>
</add>
</operation>


<operation>
<search position="before"><![CDATA[ template_menu();]]></search>

<add><![CDATA[
//Below the menu ads
if (function_exists("show_indexAds") && function_exists("show_towerleftAds") && function_exists("show_towerrightAds"))
{
$ads = show_indexAds();
if(!empty($ads))
if($ads['type']==0)
echo $ads['content'];
else
eval($ads['content']);
unset($ads);

//Tower left Ads
$ads = show_towerleftAds();
if(!empty($ads))
echo '<table><tr><td valign="top">', $ads['type']==0 ? $ads['content'] : eval($ads['content']) ,'</td><td width="100%" valign="top">';

unset($ads);
//Tower Right Ads
$ads = show_towerrightAds();
if(!empty($ads))
echo '<table><tr><td width="100%" valign="top">';
unset($ads);
}
]]>
</add>
</operation>


<operation>
<search position="after"><![CDATA[ // Show the "Powered by" and "Valid" logos, as well as the copyright. Remember, the copyright must be somewhere!]]>
</search>

<add><![CDATA[
//Close table for towerright ads
if (function_exists("show_towerrightAds") && function_exists("show_towerleftAds") && function_exists("show_bottomAds"))
{
$ads = show_towerrightAds();
if(!empty($ads))
echo '</td><td valign="top">', $ads['type']==0 ? $ads['content'] : eval($ads['content']) ,'</td></tr></table>';

unset($ads);
//Close table for towerleft ads
$ads = show_towerleftAds();
if(!empty($ads))
echo '</td></tr></table>';
unset($ads);

//Show ads on the bottom of the page
$ads = show_bottomAds();
if(!empty($ads))
if($ads['type']==0)
echo $ads['content'];
else
eval($ads['content']);
unset($ads);
}
]]>
</add>
</operation>

</file>
--- نهاية الكود ---

الأمر التالى هو

--- شفرة: ---<operation>
<search position="before"><![CDATA[<body>';]]></search>

<add><![CDATA[
//Display ads on the top of the page
if (function_exists("show_topofpageAds"))
{
$ads = show_topofpageAds();
if(!empty($ads))
if($ads['type']==0)
echo $ads['content'];
else
eval($ads['content']);
unset($ads);
}
]]>
</add>
</operation>
--- نهاية الكود ---

و المقصود به البحث عن ما بين القوسين و هو ";'<body>" و كلمة "before" تعنى ان تقوم بإضافة الأسطر التى تلى السطر "<add><![CDATA[" بعد السطر ";'<body>" بملف الـ "index.template.php"

ملحوظه نحن نقوم فقط بإضافة الاسطر التى باللون الأحمر كما هو موضح بالأسفل

--- اقتباس ---<operation>
search position="before"><![CDATA[<body>';]]></search>
      
<add><![CDATA[   
   //Display ads on the top of the page
   if (function_exists("show_topofpageAds"))
   {
      $ads = show_topofpageAds();   
      if(!empty($ads))
         if($ads['type']==0)
            echo $ads['content'];
         else
            eval($ads['content']);   
      unset($ads);
   }
]]>
</add>
</operation>
--- نهاية الإقتباس ---

و الأمر "</operation> و <operation>" تعنى بداية و نهاية هذه العملية

و هذا هو الأمر الثالث


--- اقتباس ---   <operation>
      <search position="before"><![CDATA[   template_menu();]]></search>

<add><![CDATA[
   //Below the menu ads
   if (function_exists("show_indexAds") && function_exists("show_towerleftAds") && function_exists("show_towerrightAds"))
   {
      $ads = show_indexAds();   
      if(!empty($ads))
         if($ads['type']==0)
            echo $ads['content'];
         else
            eval($ads['content']);
      unset($ads);

      //Tower left Ads
      $ads = show_towerleftAds();
      if(!empty($ads))
         echo '<table><tr><td valign="top">', $ads['type']==0 ? $ads['content'] : eval($ads['content']) ,'</td><td width="100%" valign="top">';

      unset($ads);
      //Tower Right Ads
      $ads = show_towerrightAds();   
      if(!empty($ads))
         echo '<table><tr><td width="100%" valign="top">';
      unset($ads);
   }   
]]>
</add>
</operation>
--- نهاية الإقتباس ---

اذا كنت قد فهمت المثال السابق , فإنه سوف يمكنك فهم الامر السابق و هو يعنى البحث عن "   template_menu();" ثم إضافة الأسطر باللون الاحمر بعد هذا السطر
و هكذا تتم كل التعديلات .

ربما أيضا تجد أن المود يقوم بتعديل عدة ملفات مثل :

--- شفرة: ---<file name="$themedir/BoardIndex.template.php">
<file name="$themedir/Display.template.php">
<file name="$themedir/MessageIndex.template.php">

--- نهاية الكود ---

إلخ ....
و ليس من الضرورى أن تكون كل هذه الملفات موجودة بالاستايل الذى تستخدمه , لكنها موجودة بالاستايل الافتراضى و هذا يعنى انه قد تم تعديلها تلقائيا

أما إذا كان هناك تعديل على ملفات اللغه فستجد هذا السطر مثلا :

--- شفرة: ---<file name="$languagedir/Modifications.english.php">
--- نهاية الكود ---
و هو يعنى التعديل على ملف اللغه "Modifications.english.php"

فى أغلب الاحيان لن تحتاج الى تعديل ملف اللغه يدويا
الإ إذا كان الاستايل الذى تستخدمه له ملف لغه خاص به بمجلد اللغه الموجود داخل الاستايل

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

Mr. Anaboussi:
الحقيقة صري فترة عم فكر اشرحها بس امنيح ما أشرحتها لأنو مستحيل تطلع بهل الاسلوب السهل والجميل
يعطيك العافية أخي اسلام

islam2hamy:
شكرا لك أخى
جزاك الله كل خير

SAFAD:
شح بسيط ورائع
لا تنسى شرح replace أيضا

amoune93:
شكرا أخي على الموضوع المميز وبارك الله.

تصفح

[0] فهرس الرسائل

[#] الصفحة التالية

الذهاب الى النسخة الكاملة