لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
كيف يتم عمل تعدد الستيلات في smarty
السلام عليكم
أنا عامل سكريبت بنظام قوالب smarty
مصمملو ستايلين أريد أن يتم تغيرهم من أسفل الموقع
وأيضا كيف يتم تحرير والتعديل على القوالب من لوحة التحكم
+
ملفات القوالب موجودة في
templates
تاريخ البداية: 21 / سبتمبر / 2011 الساعة 12:45 اخر نشاط: 21 / سبتمبر / 2011 الساعة 12:45 smarty

تعدد الاستيلات ماله علاقة بنظام المحركات تقدر تعمله عن طريق تغير مجلد القوالب
21 / سبتمبر / 2011 الساعة 12:45

2 إجابات
بص يا عم الحج انا هشرح لك الفكرة العامة
دلوقت تغيير الاستيل بيعتمد على تغيير مجلد القوالب الخاص بالمحرك عن طريق دالة هتحدد لك القالب الحالى لو القالب عندما يتم تغييره وسوف تطلف عليها style_folder() والان سوف تحدد انت مجلد القالب هاكذا
$TMP_PATH = style_folder().\'/\';
    $smarty->template_dir = \"templetes/\".$TMP_PATH;
حيث دالة style_folder() كالاتى
function style_folder(){
    return (isset($_COOKIE[\'tpl\'])) ? $_COOKIE[\'tpl\'] : \'default\'; 
}
هذه الدالة تقوم بالبحث عن كوكيز باسم الـtpl لو وجدت سوف تعطى لك اسم القالب وهذا مثال بسيط يمكنك وضع الاى دى فقط واستدعاء الاسم من القاعدة فيوجد طرق كثير جدا لذلك المهم فى حالة ان ان لم يجد كوكيز بهذا الاسم سوف يعود بالمجلد الافتراضى ال هو default طبعا انت هتغيره على حسب ما تشاء الان كيف تضع او تغير الاستيل عن طريق دالة
function set_style($cookie = \'\',$expire = 604800){
     return setcookie(\"tpl\",\"$cookie\", time()+$expire); 
}
الان يجب ان تنشى صفحة لتستخدم فيها الدالة مثل swich.php?style=xxx وهذا مثال بسيط جدا لمحتواها
if(isset($_GET[\'style\'])){
    if(set_style($_GET[\'style\'])){
        //هنا سوف تضع الكود الذى سوف يحولك فى الصفحة السابقة
    }
}

بواسطة: MacOS
منذ: 21 / سبتمبر / 2011 الساعة 12:45

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

بواسطة: Mrfahad
منذ: 21 / سبتمبر / 2011 الساعة 12:45

فى حالة تغير الاستيل او اللغة تكون الكوكيز افضل لانها تستمر فترة اطول
21 / سبتمبر / 2011 الساعة 12:45

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة