النتائج 1 إلى 7 من 7

الموضوع: ما فكرة عمل fetch للقوالب بدون طباعة المخرجات في انظمة القوالب

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947

    ما فكرة عمل fetch للقوالب بدون طباعة المخرجات في انظمة القوالب



    السلام عليكم ورحمة الله وبركاته
    في انظمة القوالب مثل سمارتي و كثير من القوالب
    هناك طريقة لعمل fetch للقالب بحيث يمكن تخزينه في متغير عادي بدون طباعة محتواه
    ولاني اقوم بعمل نظام قوالب خاص بي .. اريد عمل هذه الخاصية التي تساعدني كثيراً في جلب الاشياء الثابتة

    مثال :

    كود PHP:
    function fetch($file)
    {
    $html $this->text// هذا النص بعد معالجته وتحويله لكود بي اتش بي عادي
    return $html;

    الان لو استخدمت eval سيقوم بطباعة النص .. ولو استخدمت return كيف ساقوم بتنفيذه بعد ذلك؟ لانه كود php وليس html
    هناك فكرة اني استخدم كاش لها لكنها ليست ايجابية .. هل لديكم علم بها او بفكرة لها؟





    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير


  2. #2


    خزنه في متغير وليكن $html
    ووقتما تريد تنفيذه نفذه كالتالي

    كود PHP:
    eval("\$html = \"$html\";"); 






    __________________
    السيف أصدق أنباء من الكتب

  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    خزنه في متغير وليكن $html
    ووقتما تريد تنفيذه نفذه كالتالي

    كود PHP:
    eval("\$html = \"$html\";"); 
    انا بالفعل لدي فنكشن اخرى للتخزين والعرض ب eval
    لكن المقصود عمل عرض وجلب للملف في متغير لاستخدامه داخل القالب نفسه كمتغير عادي

    الكود في سمارتي يكون:
    كود PHP:
    $html $smarty->fetch("header.tpl"); 
    وداخل القالب اضع
    {$html}

    ويتم وضع ملف header.tpl وكانه include بالضبط

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





    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

  4. #4
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    اسمحلي بالمداخلة ولو إني لا لم أتطرق الى نظام القوالب الى الآن

    ما أعرفه عند معالجة القالب يتم استبدال {$html} بـ
    كود PHP:
    <?= $html ?>
    ويتم تنفيذها عن طريق الدالة eval.
    فيتم طباعة قيمة المتغير html وإن كان كود PHP سيتم طباعته بدون معالجة - كما تفضلت.

    ماذا لو تم استبدالها بـ
    كود PHP:
    <?= eval($html?>
    وعمل لها eval
    أعتقد ان الكود بداية من وسم php سينفذ عن طريق eval وعند تنفيذه ستعمل الدالة eval على القيمة المختزنة في المتغير html أيضاً.





    __________________
    اللهم وفقني لما تحبه وترضاه...

  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    المشكلة ليست في ذلك .. انا اريد عملها في متغير عادي بعد تنفيذ كود ال php لكن بدون طباعة مخرجات

    أي يتم معالجة الكود وتخزينه في متغير على شكل كود html عادي لكن بدون طباعة اي مخرجات





    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

  6. #6
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    عليك أستخدام دوال التحكم في التدفق , وهي كالتالي:
    ob_ start تخبر بي اتش بي بعدم ارسال المحتوى الى المتصفح بشكل مباشر.
    ob_get_contents تعيد لك المحتوى الذي من المفترض ارساله الى المتصفح وتضعه انت في متغيره او تطبعه .
    ob-clean تنظيف المحتوى من الذاكره لاننا استخدمناه او قمنا بتخزينه في متغير .

    راجع الدوال السابقه على موقع php.net





    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    عليك أستخدام دوال التحكم في التدفق , وهي كالتالي:
    ob_ start تخبر بي اتش بي بعدم ارسال المحتوى الى المتصفح بشكل مباشر.
    ob_get_contents تعيد لك المحتوى الذي من المفترض ارساله الى المتصفح وتضعه انت في متغيره او تطبعه .
    ob-clean تنظيف المحتوى من الذاكره لاننا استخدمناه او قمنا بتخزينه في متغير .

    راجع الدوال السابقه على موقع php.net
    نجحت
    واخذت الفكرة من القالب السهل
    جزاك الله كل خير اخي ضيف
    ولا انسى ان اشكر الاخوة الذين حاولوا المساعدة





    التعديل الأخير تم بواسطة مهندس مصرى ; 09-04-2009 الساعة 04:15 AM
    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض