หน้าเว็บ

วันพฤหัสบดีที่ 9 มิถุนายน พ.ศ. 2554

เมื่อ Smarty template 3 ไม่ยอมรัน code php ในหน้า template

ไม่ขอกล่าวว่า Smarty template คืออะไรไปหาอ่านเอาเองมีเยอะมาก เรียวใช้ Smarty มาตั้งแต่เวอร์ชั่น 2.6 หลังจากนั้นพึ่งมาอัพเดทเป็นเวอร์ชั่น 3 เมื่อไม่นานมานี้

ปกติเวลาเราจะรัน code php ในหน้า template นั้นเราจะเขียนได้ดังนี้

{php} include "module/menu.php"; {/php}

ก็คือเขียนไว้ใน {php} {/php } นั่่นเอง

ทีนี้พอเรียวอัพเดทเป็นเวอร์ชั่น 3 ปุ๊บ Error ทันทีบอกไม่สามารถรัน code php ได้

Fatal error: Uncaught exception 'SmartyException' with message '{php} is deprecated, set allow_php_tag = true to enable' in ..................บลา ๆๆๆๆๆ

เนื่องจากเวอร์ชั่น 3 ค่า Default ของ allow_php_tag นั้นจะเป็นค่า FALSE นั่นหมายความว่ามันจะไม่ยอมให้ไปรัน code php ในหน้า template

ดังนั้นเราจะจัดการกำหนดค่าให้มันใหม่

$smarty = new Smarty(); // instance object ของ Smarty ขึ้นมาก่อน
$smarty->allow_php_tag = true; // กำหนดค่าพร็อพเพอร์ตี้ allow_php_tag ให้เป็น TRUE ซะ

แค่นี้ก็สามารถรัน code php ใน Smarty template 3 ได้แล้วเจ้าค่ะ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น