การใช้งาน Template กับเว็บไซต์ (ตอนที่ 4)

แบบที่ 3 แบบสุดท้ายที่มักพบเห็นกันในระบบ Blog หรือ ไดอารี่ ที่เป็นแบบ HTML ล้วน

เหตุผลของการใช้ Template แบบนี้ก็เพื่อให้ user สามารถแก้ไข Template เองได้บนเว็บไซต์ เนื่องจากการแก้ไขโดยบุคคลทั่วไป เราไม่สามารถให้ user สามารถใช้ PHP ได้เนื่องจากไม่ปลอดภัย ผมลองยกตัวอย่างเช่น user อาจแก้ไข Template โดยการใส่คำสั่ง SQL เพื่อขอดูรหัสผ่านของ Admin เป็นต้น ทำให้ Template แบบนี้เหมาะที่จะให้ user สามารถแก้ไขได้เอง

Template แบบนี้เป็นแบบที่ผมใช้อยู่บน Blog และ CMS ครับ

หลักการก็คือการออกแบบ Template ด้วย HTML ล้วน โดยในส่วนที่เคยเป็นตัวแปร PHP ในบทก่อนๆ เราจะใช้ตัวอักษรที่เป็นคีย์เวิร์ดแทน

<div style="border: 1px solid green; margin: 10px auto; display: table; float: none;">
<div style="padding: 2px; width: 100px; background-color: rgb(240, 240, 240); color: rgb(102, 102, 102);">{TITLE}</div>
<div style="padding: 10px 2px; width: 100px;">{HEADER}</div>
</div>

คีย์เวิร์ด ในที่นี้ก็คือ {TITLE} และ {HEADER} ที่ใช้แทนตัวแปร PHP ในบทก่อนๆ ความจริงแล้วเราอาจพบตัวอักษรที่เป็นคีย์เวิร์ดในรูปแบบต่างจากนี้ก็ได้นะครับ แล้วแต่ผู้ออกแบบ เช่น <{TITLE}>

การใช้งานเมื่อต้องการแทนที่ข้อมูลลงบน Template

<?php
  // อ่าน skin
  $skin = file_get_contents( 'template.php' );
  // กำหนด pattern ที่เป็นไปได้
  $patt = array( '{TITLE}' , '{HEADER}' );

  // กำหนดค่าที่จะแสดง
  $replace[0] = 'AJAX CMS';
  $replace[1] = 'Goragod.com';
  // แทนที่ลงใน skin และแสดงผล
  echo str_replace( $patt , $replace , $skin );

  $replace[0] = 'GCMS';
  $replace[1] = 'AJAX CMS';
  echo str_replace( $patt , $replace , $skin );
?>

ผลลัพท์ก็เหมือนกับในบทก่อนหน้าแหละครับ

^