ในเรื่องของ Tag นั้นก็ค่อนข้างทำยากหน่อยครับ เพราะต้องตรวจสอบหลายส่วน เช่นเมื่อโพส Tag เข้ามาถ้ายังไม่มีให้เพิ่มในตาราง แต่ถ้ามีแล้วให้บวกจำนวนเพิ่มขึ้น และถ้ามีการลบโพสอออกก็ให้ลบ Tag ออกด้วยดังนั้นการเขียนโปรแกรมจึงค่อนข้างซับซ้อนหน่อย แต่ว่าก็สามารถเรียนรู้และทำได้จากตัวอย่างนี้ครับ
มาดูในส่วนของตารางเก็บข้อมูลกันก่อนนะครับ ตัวอย่างนี้จะใช้ตาราง 2 ตารางนั่นคือ blog_post และ blog_tag ครับ
ตาราง blog_post
ตาราง blog_tag
ส่วนต่อมาเป็นส่วนของ Model นั้นมี 2 ไฟล์ครับ คือไฟล์ protected/models/Tag.php
และไฟล์ Model ไฟล์ protected/models/post.php
เพิ่ม actionSuggestTags เพื่อใช้ในการค้นหา Tag สำหรับ Post ต่างๆ ในไฟล์ protected/controllers/PostController.php
กำหนดการแสดงผล Tag ตามจำนวน ความถี่ของ Tag ในไฟล์ protected/components/TagCloud.php
เมื่อต้องการแสดงผล Tag ซึ่งเรียกว่า TagCloud ให้ทำการเรียก
<?php
$this->widget('TagCloud', array(
'maxTags' => 20,
));
?>
ความคิดเห็น