كيف يتم عمل تعدد الستيلات في smarty
السلام عليكم
أنا عامل سكريبت بنظام قوالب smarty مصمملو ستايلين أريد أن يتم تغيرهم من أسفل الموقع وأيضا كيف يتم تحرير والتعديل على القوالب من لوحة التحكم + ملفات القوالب موجودة في templates
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 0 من 0 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا
اخوي ممكن تعملها بواسطة الجلسات او السيشن تعمل صفحة تستقبل id الاستايل وتحفظ اسمه في السيشن وتعمل استدعاء للقالب بواسطة اسم الاستايل المرسل
بواسطة: Mrfahad 1 من 1 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا فى حالة تغير الاستيل او اللغة تكون الكوكيز افضل لانها تستمر فترة اطول |
تعدد الاستيلات ماله علاقة بنظام المحركات تقدر تعمله عن طريق تغير مجلد القوالب
21 / سبتمبر / 2011 الساعة 12:45