TAGABLE

15 เม.ย. 2016, 13:27:03

1,640

ในเรื่องของ 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,
    ));
?>

ความคิดเห็น

หากบทเรียนรู้มีความผิดพลาดประการใด หรือมีข้อเสนอแนะกรุณาแจ้ง contact@programmerthailand.com