ผมเคยอ่านเจอกระทู้เก่าๆ เกี่ยวกับการแสดง title ให้แตกต่างกันโดยใช้โครง maxsite นี้ ซึ่งถ้าจำไม่ผิด จะต้องเพิ่มไฟล์อีกหลายๆ ไฟล์ และต้องมีการปรับยกใหญ่เลย
ก็เลยเกิดไอเดียว่าน่าจะมีวิธีที่ง่ายกว่านั้น จนเกิดเป็นการปรับแต่งดังที่ผมจะบอกเล่าต่อไปนี้ครับ
ไอเดียผมก็คือว่า ปรับแค่ไฟล์เดียวเลย คือ index.php ที่ path หลักแต่อาศัยดึงข้อมูลจากฐานข้อมูลมาแสดงเพื่อให้ title กับเนื้อหาสัมพันธ์กัน โดยใช้ id และ name เป็นตัวแปรในการเชื่อมโยง
มาเริ่มวิธีการกันเลยครับ
1. เปิดไฟล์ index.php ที่ path หลักนะครับ ซึ่งเป็นไฟล์ที่คลุมหน้าโมดูลต่างๆ เอาไว้
2. เพิ่มโค้ดดังบรรทัดข้างล่างนี้เข้าไป
เอาไว้้ต่อจากบรรทัด GETMODULE($_GET[name],$_GET[file]);
01 | if ( $_GET [ 'name' ]== 'index' ) { $showtitle = 'Narongrit.net [ปี2] : หน้าแรก' ;} |
02 | elseif ( $_GET [ 'name' ]== 'knowledge' ) { $showtitle = 'Narongrit.net : บทความ' ; |
03 | //ดึงข้อมูลกระทู้ |
04 | $db ->connectdb(DB_NAME,DB_USERNAME,DB_PASSWORD); |
05 | $Explainselect = $db ->fetch( $db ->select_query( "SELECT * FROM " .TB_KNOWLEDGE. " WHERE id = '" . $_GET [id]. "' " )); |
06 | $db ->closedb (); |
07 | if ( $_GET [id]){ |
08 | $explain = " เรื่อง " . $Explainselect [topic]. "" ; } |
09 | else { $explain = '' ;} |
10 | } |
11 | elseif ( $_GET [ 'name' ]== 'webboard' ) { $showtitle = 'Narongrit.net [ปี2] : เวบบอร์ด' ; |
12 | $db ->connectdb(DB_NAME,DB_USERNAME,DB_PASSWORD); |
13 | $Explainselect = $db ->fetch( $db ->select_query( "SELECT * FROM " .TB_WEBBOARD. " WHERE id = '" . $_GET [id]. "' " )); |
14 | $db ->closedb (); |
15 | if ( $_GET [id]){ |
16 | $explain = " เรื่อง " . $Explainselect [topic]. "" ; } |
17 | else { $explain = '' ;} |
18 | } |
19 | elseif ( $_GET [name]== "aboutus" ) { $showtitle = "ข้อความเกี่ยวกับเรา" ;} |
20 | elseif ( $_GET [name]== "calendar" ) { $showtitle = "ปฏิทินกิจกรรม" ;} |
21 | else { $showtitle = "ข้อความอื่นๆ ที่ไม่เข้าเงื่อนไขใดๆ" ; } |
1 | elseif ( $_GET [ 'name' ]== 'webboard' ) { $showtitle = "ข้อความหรือชื่อโมดูล" '; |
2 | $db ->connectdb(DB_NAME,DB_USERNAME,DB_PASSWORD); |
3 | $Explainselect = $db ->fetch( $db ->select_query( "SELECT * FROM " .ชื่อตารางที่อ้างอิง. " WHERE id = '" . $_GET [id]. "' " )); |
4 | $db ->closedb (); |
5 | if ( $_GET [id]){ |
6 | $explain = " เรื่อง " . $Explainselect [topic]. "" ; } |
7 | else { $explain = '' ;} |
8 | } |
3. ยังไม่จบครับ สำหรับการแสดงผลในส่วนของ title เวบนั้น ก็ต้องเพิ่มโค้ดนี้เข้าไป จากเดิมคือ <TITLE><?=WEB_TITLE;?></TITLE>
ก็แก้ให้เป็นดังนี้ครับ
1 | <title><? echo "" . $showtitle . "" . $explain . "" ;?></title> |
ลองสังเกตุจากตัวอย่างเวบผมนี้นะครับ แต่ละหน้าแต่ละโมดูล ข้อความที่ title จะแตกต่างกัน และถ้าคลิกเข้าไปดูบทความหรือกระทู้ต่างๆ ก็จะมีการแสดงหัวข้อของกระทู้หรือบทความนั้นๆ บน web title ด้วย
หวังว่าบทความนี้คงเป็นประโยชน์ต่อหลายๆ ท่านนะครับ มีข้อสงสัย สอบถามได้ที่เวบบอร์ดนะครับ
เขียนและเรียบเรียงโดย
คุณฉุย เว็บ http://www.narongrit.net/
ปรับปรุงเมื่อ 25/2/2552
ไม่มีความคิดเห็น:
แสดงความคิดเห็น