السلام عليكم
نعرف أن أغلب مستخدمي مجلة نيوك يستخدمون طريقة معيّنة في تعديل رأس البلوكات (ليس كامل البلوك)وإنما رأسه فقط وهو إضافة اسم الصورة مكان عنوان البلوك والتعديل في ملف block.htm إلى آخرة ....
هناك طريقة أكثر عملية واوسع في التغيير والتصميم.. لا اعرف إن كانت قد طُرحت من قبل أم لا ..!
الطريقة تتيح لك التعديل في كامل تصميم البلوك كما ترغب وهي تعتمد على التعديل في برمجة ملف الثيم الرئيسي theme.php وتحديدا في دالة البلوك themesidebox التي تجدها غالباً في نهاية الملف المذكور .. وايضاً تصميم القوالب المرغوب بها بالـ html بالأسماء التي تحددها .
غالباً الدالة تكون بالشكل التالي :
كود PHP:
function themesidebox($title, $content) {
$tmpl_file = "themes/ThemeName/blocks.htm";
$thefile = implode("", file($tmpl_file));
$thefile = addslashes($thefile);
$thefile = "\$r_file=\"".$thefile."\";";
eval($thefile);
print $r_file;
}
حيث ThemeName اسم الثيم لديك.
الدالة أعلاه تحدد لنا وترغمنا على تصميم موحد لأي بلوك نقوم بإضافته ..
كل ما نقوم به لتلافي ذلك هو تصميم ملفات htm لكل بلوك نريد ونسميه بتسمية ذات دلالة واضحة مع المحافظة على المتغير الرئيسي $content الخاص بمحتوى القالب.. ثم نضيف الملف إلى مجلد الثيم الذي نستخدم, بعد ذلك نقوم بإضافة جملة شرطية لكل بلوك قمنا بتصميمه بحيث نجعل لكل بلوك تصميم معيّن إعتماداً على اسم أو عنوان البلوك الذي تكتبه من خلال إدارة المجموعات في لوحة التحكم بالأسلوب المعروف ليأخذ البلوك التصميم المطلوب وإن لم يجده يأخذ التصميم العادي.
فإذا افترضنا أن لدينا اربعة بلوكات :
أفضل البرامج <--- ستأخذ شكل مستقلّ = bestprogram.htm
أفضل المواقع <--- ستأخذ شكل مستقلّ = bestsites.htm
المواضيع الأكثر قراءة <--- ستأخذ شكل مستقلّ = bestnews.htm
القائمة الرئيسية <--- ستأخذ الشكل الافتراضي = blocks.htm
ستكون الدالة بهذا الشكل :
كود PHP:
function themesidebox($title, $content) {
if ($title == "أفضل البرامج") {
$tmpl_file = "themes/ThemeName/bestprogram.htm";
$thefile = implode("", file($tmpl_file));
$thefile = addslashes($thefile);
$thefile = "\$r_file=\"".$thefile."\";";
eval($thefile);
print $r_file;
} else
if ($title == "أفضل المواقع") {
$tmpl_file = "themes/ThemeName/bestsites.htm";
$thefile = implode("", file($tmpl_file));
$thefile = addslashes($thefile);
$thefile = "\$r_file=\"".$thefile."\";";
eval($thefile);
print $r_file;
} else
if ($title == "المواضيع الأكثر قراءة") {
$tmpl_file = "themes/ThemeName/bestnews.htm";
$thefile = implode("", file($tmpl_file));
$thefile = addslashes($thefile);
$thefile = "\$r_file=\"".$thefile."\";";
eval($thefile);
print $r_file;
} else {
$tmpl_file = "themes/ThemeName/blocks.htm";
$thefile = implode("", file($tmpl_file));
$thefile = addslashes($thefile);
$thefile = "\$r_file=\"".$thefile."\";";
eval($thefile);
print $r_file;
}
}
معنى الدالة يكون كما يلي :
إذا كان عنوان البلوك = أفضل البرامج, فقم بأخذ قالب = bestprogram.htm
وإذا كان عنوان البلوك = أفضل المواقع, فقم بأخذ قالب = bestsites.htm
وإذا كان عنوان البلوك = المواضيع الأكثر قراءة, فقم بأخذ قالب = bestnews.htm
وإذا كان غير ذلك فقم بأخذ القالب الإفتراضي = blocks.htm
مع الإهتمام بدقة العنوان وان يكون بين المزدوجتين (علامتي الإقتباس "x" )
يتضح مما سبق أن أي بلوك لم تقم بتصميم قالب خاص له فسيقوم باعتماد القالب الرئيسي مباشرة.
وكل بلوك تريد إضافته بهذه الطريقة تقوم بنسخ أحد الأجزاء الوسطى .. مثلاً :
كود PHP:
} else
if ($title == "عنوان البلوك") {
$tmpl_file = "themes/ThemeName/BlockName.htm";
$thefile = implode("", file($tmpl_file));
$thefile = addslashes($thefile);
$thefile = "\$r_file=\"".$thefile."\";";
eval($thefile);
print $r_file;
ولصقها قبل الجزء الأخير :
مع تغيير عنوانه إلى عنوان القالب الذي قمت بإضافته (طبعاً بعد تصميم القالب وتسمية الملف ووضعه في مجلد الثيم).. وهكذا مع كل بلوك.
بهذه الطريقة سوف تتحكم في تصميم البلوك الذي ترغب بالكامل (من وإلى) الرأس, الحدود, الخلفية ...... كل شيء!
المسألة بسيطة جداً ولكن ارتأيت التوسّع قليلاً في الشرح حتى تتضح الصورة للجميع .
تصبحون على خير