روائع الهامل
ما رأيكم في نظام القوالب هذا 613623
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا ما رأيكم في نظام القوالب هذا 829894
ادارة المنتدي ما رأيكم في نظام القوالب هذا 103798
روائع الهامل
ما رأيكم في نظام القوالب هذا 613623
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا ما رأيكم في نظام القوالب هذا 829894
ادارة المنتدي ما رأيكم في نظام القوالب هذا 103798
روائع الهامل
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

روائع الهامل


 
الرئيسيةالبوابةأحدث الصورالتسجيلدخول
وما من كاتبٍ إلا سيفنى *** ويَبقَى الدَّهرَ ما كتبت يداهُ فلا تكتب بخطك غير شيءٍ *** يَسُرّك في القيامة أن تراهُ

 

 ما رأيكم في نظام القوالب هذا

اذهب الى الأسفل 
3 مشترك
كاتب الموضوعرسالة
Sweet girl
عضو فعال
عضو فعال
Sweet girl


الدولة : ما رأيكم في نظام القوالب هذا Female11
ما رأيكم في نظام القوالب هذا 081229104215UB1l
عدد المساهمات : 109
تاريخ التسجيل : 25/02/2013
العمر : 34

ما رأيكم في نظام القوالب هذا Empty
مُساهمةموضوع: ما رأيكم في نظام القوالب هذا   ما رأيكم في نظام القوالب هذا I_icon_minitimeالأحد مارس 03, 2013 9:11 pm


ما رأيكم في نظام القوالب هذا

أولا سأشرح لكم هذا النظام وطريقة استخدامه

قمت ملف أسميته download.php الذي سأستخدم فيه نظام القوالب وبوضع مجلدين هما includes فيه الملف TPL_engine.class.php وهو محرك القوالب والمجلد الثاني هو themes فيه مجلد الستايل main والذي يحتوي على ثلاث مجلدات xml لملف الستايل و img لصور الستايل وال cache للملفات المؤقته


والآ سأشرح لكم محتوى الملف TPL_engine.class.php

كود PHP:
<?php
include './includes/system/DB_engine.php'; //هذا فقط لطلب كلاس قاعدة البيانات
class themes
{
var $portal_name = "MY SMART POWER PORTAL"; // متغيير اسم المجلة
var $img_path = "themes/main/img/"; // متغيير مسار صور الستايل
var $theme_dir = "themes"; // مسار مجلد الستايلات
var $theme_name = "Main"; // مجلد الستايل
var $theme_file = "style_xml.xml"; // ملف الستايل
var $cache = "cache"; // مجلد الملفات المؤقته
var $xml_file; // متغير مسار ملف الستايل
var $data_xml_file; // متغير محتوى ملف الستايل
var $title; // عنوان الصفحة
var $def; // متغير محتوى متغيير الاستبدال
var $exp; // العبارة المستبدله

function load_file($load_file) // دالة فتح ملف
{
$file_open = @fopen($load_file, "r") or die ("<P>لم يستطع فتح الملف!" .$load_file);
$file_data = fread($file_open, filesize("$load_file"));
return $file_data;
}

function xml_reader() // دالة قراءة ملف xml
{

$this->data_xml_file = $this->load_file($this->xml_file);
$data_xml = new SimpleXMLElement($this->data_xml_file);
return $data_xml;
}

function def_var($var,$exp) // دالة تحميل وحفظ متغير الاستبدال
{
$this->def = $var;
$this->exp = $exp;
}

function _to_array($temp,$exp,$tables) // دالة تحويل جدول قاعدة البيانات الى مصفوفة مع الاستبدال
{

if (is_array($exp))
{
$def = "<?";

foreach ( $exp as $key => $value )
{
$def .= '$tpl_'."$tables".'['."$key"."] = $value ;";
}

$def .= " ?>";
}

$sql_data = $def;
$temp = eregi_replace("{@sql@}",$sql_data,$temp);
return $temp;
}

function _assigne($child) // دالة الاستبدال
{
$name = $this->portal_name;
$title = $name." - ".$this->title;
$img = $this->img_path;
if (empty($this->def))
{
$def = '';
}
else
{
if (is_array($this->exp))
{
$def = "<?";

foreach ( $this->exp as $key => $value )
{
$def .= " $this->def[$key] = $value ;";
}

$def .= " ?>";
}
else
{
$def = "<? $this->def = '$this->exp' ; ?>";
}
}

$child = eregi_replace("{@title@}",$title,$child);
$child = eregi_replace("{@x@}",$def,$child);
$child = eregi_replace("{@img@}",$img,$child);
$child = eregi_replace("{@portal_name@}",$name,$child);

return $child;
}

function tpl_call($tpl_name) // دالة تحليل وتفكيك ملف ال xml إلى قوالب
{
$theme = $this->xml_reader();
$tpl_path = $theme->xpath('/'.$this->theme_name.'/'.$tpl_name.'');

while(list( , $tpl) = each($tpl_path))
{
return $tpl;
}
}

function tpl_cache($file_dir,$tpl_name,$cache_dir,$tables) // دالة انشاء ملف القالب المؤقت
{
global $db;
$tpl = $this->tpl_call($tpl_name);


if (is_array($tables))
{
$db->connect_db();
foreach ($tables as $k =>$v)
{
$tpl_query = $db->select($v,$k);
$tpl_fetch = $db->fetch_db_array($tpl_query);
}
}
$tpl = $this->_to_array($tpl,$tpl_fetch,$k);
$tpl = $this->_assigne($tpl);
if(!is_dir($cache_dir))
{
$mkdir = @mkdir ($cache_dir, 0755, true);
@fclose ($mkdir);
}


$writefile = @fopen($file_dir,"w") or die ('لم يتم إنشاء ملف القالب');
$addtofile = @fwrite($writefile,$tpl) or die ('لم يتم ملء ملف القالب');
@fclose ($writefile);
@fclose ($addtofile);
}

function _in_page() // دلة تحديد عنوان الصفحة
{
$self = $_SERVER['PHP_SELF'];
$self2 = explode('/',$self);
$self_file = explode('.',$self2[2]);

switch ($self_file[0])
{
case "index" :
$this->title = "الصفحة الرئيسية";
break;
case "article":
$this->title = "المقالات";
break;
case "article_det":
$this->title = "المقالات - تفاصيل ";
break;
case "picture":
$this->title = "معرض الصور";
break;
case "picture_det":
$this->title = "معرض الصور - تفاصيل";
break;
case "download":
$this->title = "مركز التحميل";
break;
case "download_det":
$this->title = "مركز التحميل - تفاصيل";
break;
}
}

function page_title($tpl_name) // دالة تحديد اسم القوالب المتماثلة بعنوان الصفحة
{
if ($tpl_name == "Head")
{
$this->_in_page();
return $page_title = $tpl_name."_".$this->title;
}
else
{
return $tpl_name;
}
}

function display($tpl_name,$tables="") // دالة إظار وطلب القالب
{

$this->xml_file = $this->theme_dir."/".$this->theme_name."/xml/".$this->theme_file;
$tpl_name_mod = $this->page_title($tpl_name);
$file_dir = $this->theme_dir."/".$this->theme_name."/".$this->cache."/".$tpl_name_mod .".ch";
$cache_dir = $this->theme_dir."/".$this->theme_name."/".$this->cache;
$readfile = @fopen($file_dir,"r");

if (!$readfile or @filemtime($this->data_xml_file)>@filemtime($readfile))
{
$this->tpl_cache($file_dir,$tpl_name,$cache_dir,$tables);

}


@fclose ($readfile);
include($file_dir); // template file
$this->def_var('','');
}


}
?>


طريقة الاستعمال


كود PHP:
<?php
include './includes/TPL_engine.class.php'; // طلب الكلاس


$themes = new themes;

$tables = array('seting' => array('idseting','portal_name')); // تعريف جداول وحقول المستخدمة في القالب

$themes->display("Head"); // إظهار قالب الهيد

$themes->display("Header",$tables); // إظهار قالب الهيدر مع تمكين قاعدة البيانات

$x = "hello"; // تعريف المتغير X

$themes->def_var('$y',$x); // حفظ قيمة المتغير X ليتم استبدالها مكان y
$themes->display("Ads"); // إظهار القالب ads





?>
الرجوع الى أعلى الصفحة اذهب الى الأسفل
نبض الحياة
عضو فعال
عضو فعال
نبض الحياة


الدولة : ما رأيكم في نظام القوالب هذا Female49
عدد المساهمات : 106
تاريخ التسجيل : 26/02/2013
العمر : 23

ما رأيكم في نظام القوالب هذا Empty
مُساهمةموضوع: رد: ما رأيكم في نظام القوالب هذا   ما رأيكم في نظام القوالب هذا I_icon_minitimeالإثنين مارس 11, 2013 12:36 am

ما رأيكم في نظام القوالب هذا Jmr-s88def77bc8


ما رأيكم في نظام القوالب هذا 1311637070241
الرجوع الى أعلى الصفحة اذهب الى الأسفل
tarek
المشرف العام
المشرف العام
tarek


الدولة : ما رأيكم في نظام القوالب هذا Male_a11
ما رأيكم في نظام القوالب هذا 38
عدد المساهمات : 1345
تاريخ التسجيل : 18/12/2010
الموقع : نداء المحبة

ما رأيكم في نظام القوالب هذا Empty
مُساهمةموضوع: رد: ما رأيكم في نظام القوالب هذا   ما رأيكم في نظام القوالب هذا I_icon_minitimeالأربعاء مارس 20, 2013 5:46 pm

ما رأيكم في نظام القوالب هذا Thanks_mcHT_Smiley-vi

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ توقيعي ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ


ما رأيكم في نظام القوالب هذا 13567486331276


ما رأيكم في نظام القوالب هذا 13567485611580



ما رأيكم في نظام القوالب هذا 13567486021108
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
ما رأيكم في نظام القوالب هذا
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» نظام شمسي............
» (نظام الاسرة في الاسلام)
» نظام صنع المال الحديث
» قيم معرفتك في نظام العمل السعودي من خلال منصة إمتياز

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
روائع الهامل :: المواقع والمنتديات :: تطوير المنتديات-
انتقل الى: