version 4.1.0

วิธีการสร้าง Custom Widgit ไว้ใช้งานเอง

  อังคารที่ 27 มกราคม พ.ศ. 2558 เวลา 08:57:59 น.      2,022 ครั้ง


วิธีการสร้าง Custom Widgit ไว้ใช้งานเอง

แนะนำ

เนื่องจากโครงสร้างไดเรคทอรี่ของ Yii Framework ได้แบ่งส่วนการทำงานออกเป็น 2 ส่วนหลัก คือส่วนที่เป็นระบบ Yii Framework (โฟลเดอร์ yii/framework) และอีกส่วนจะเป็นระบบของเว็บแอพพลิเคชั่นเราเอง (โฟลเดอร์ protected) ซึ่งถ้าเราจะมาสร้าง Widget ขึ้นมา แต่ตัว Widget ตัวนี้จะใช้แค่ภายในเว็บแอพพลิเคชั่นของเรานี้ได้เท่านั้น เราจะไม่สามารถเรียกใช้งาน Widget ทีเราสร้างตัวนี้ได้ในเว็บแอพพลิเคชั่นตัวอื่น ๆ ได้

บทนี้มีอะไรบ้าง

  1. ตอนที่ 1 สร้าง Widget ชื่อว่า "scrollNews"
  2. ตอนที่ 2 เรียกใช้งาน Widget ชื่อว่า "scrollNews"

รูปภาพตัวอย่าง

รูปภาพตัวอย่าง

รูปภาพที่ 1 | รูปภาพตัวอย่าง

1. สร้างโฟลเดอร์ "scrollNews" ภายในไดเรครอรี่ [skeleton]\protected\extensions\ ดังภาพ

สร้างไฟล์ "scrollNews.php"

 class scrollNews extends CWidget
{

    public $sNews = '';     // ประกาศตัวแปรเพื่อรับข้อมูลข่าวสารที่ส่งมาแสดง
  
    // ฟังก์ชั่น ที่ถูกเรียกใช้เมื่อใช้งาน Widget ต้องการแสดงผล
    public function run()
    {      
        echo '';
            echo $this->sNews;
        echo '';
        return parent::run();       // <-- ส่งการทำงานกลักบไปยังโปรแกรมหลัก (หน้าเว็บที่เรียกใช้ Widget นี้)
    }
  
}

2. สร้างไฟล์ "scrollNews.php" เก็บไว้ในไดเรคทอรี่ [skeleton]\protected\extensions\scrollNews\ ดังคำสั่งตัวอย่าง

คลาส Widget มีฟังก์ชั่นหลัก คือ run() ถ้า Widget ไม่ซับซ้อน คือว่าไม่ได้ใช้ JavaScript หรือ Jquery เราโอเวอร์ไรท์ run() เพื่อแสดงผลก็พอครับ



ตัวอย่างคำสั่ง

 <h1>Widget ชื่อว่า "scrollNews"</h1>
<fieldset>
    <?php
        $this->widget('application.extensions.scrollNews.scrollNews', array(
            'sNews' => 'Test Scroll News'
        ));
    ?>
</fieldset>

เรียกใช้ URL http://localhost/yii_tutorial/index/php?r=example ดังนี้

แสดงผล Widget "scrollNews"

แสดงผล Widget

รูปภาพที่ 2 | แสดงผล Widget "scrollNews"

แสดงผล Widget "scrollNews"

แสดงผล Widget

รูปภาพที่ 3 | แสดงผล Widget "scrollNews"



แท็ก


Credit

  ขอบคุณข้อมูลจากเว็บไซต์ yii.in.th


นักแปล / นักเขียน / เรียบเรียง

author

เอกบิณ ใจแก้วมา (แม็ก)

"โปรแกรมเมอร์ตัวเล็ก ๆ" สะสมประสบการณ์ด้านการพัฒนาซอฟแวร์มามากกว่า 11 ปี
# ติดตามผลงานได้ที่ | พบกับเราที่ Google+ | Facebook






Comment