ข้ามไปยังเนื้อหาหลัก
ProgrammerThailand

Tip Yii Framework (Yii1)

TAGABLE

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

ติดปัญหาตอนทำตาม? ถามในชุมชน

ความคิดเห็น (0)

ยังไม่มีความคิดเห็น — เริ่มคุยเป็นคนแรก ถามสิ่งที่สงสัย หรือแชร์ประสบการณ์ของคุณ