Tip Yii Framework (Yii1)

wave
ทั้งหมด 44 ผลลัพธ์
กรณีตัวอย่าง การสร้าง Drop Down List เลือกจังหวัดโชว์อำเภอ เลือกอำเภอโชว์ตำบล แบบ Dependence (AJAX)

การเลือกจังหวัดโชว์อำเภอ เลือกอำเภอโชว์ตำบล เป็นการเลือกลักษณะที่เป็น Dependence Drop Down List โดยใช้คุณสมบัติ AJAX ซึ่งจะไม่ทำให้หน้าเว็บไซต์ Refresh เพื่อป้องกันข้อมูลหายในขณะที่กรอกฟอร์ม โดยในตัวอย่างนี้เป็นการเลือกจังหวัด แล้วจะมีรายการอำเภอในจังหวัดนั้นแสดงใน Drop Down List ของอำเภอ และเมื่อเร...

20,334
การสร้างกราฟด้วย Google Chart Extension

  สำหรับ Google Chart นั้นก็มีผู้ทำ Extension ไว้โดยตั้งชื่อว่า googlechart ซึ่งสามารถดาวน์โหลดได้ที่ http://www.yiiframework.com/extension/googlechart/ หลังจากดาวน์โหลดเสร็จเรียบร้อยแล้วให้นำไปวางใน protected/extensions/Hzl/   Pie Chart       &nbs...

13,007
การสร้างกราฟด้วย RGraph Extension

RGraph Extension เป็นส่วนเสริมที่สร้างขึ้นเพื่อการแสดงผลกราฟ โดยมีรูปแบบให้เลือกมากมายเช่นกัน โดยมีรูปแบบให้เลือกดังนี้  สามารถดาวโหลด Extension นี้ได้จาก URL http://www.yiiframework.com/extension/rgraph  เมื่อดาวโหลดเรียบร้อยแล้วให้นำไปวางไว้ที่ protected/extensions/rgraph/...

9,313
การ Export ข้อมูลแบบ CSV

การ Export หรือส่งออกข้อมูลจากหน้า admin นั้นจะใช้ Extension เสริมของ Yii Framework ที่ชื่อว่า ExportTableGridBehavior เป็นตัวช่วย โดยสามารถดาวโหลดได้ที่ http://www.yiiframework.com/extension/exportablegridbehavior/           สำหรับการติดตั้งและตั้งค่า...

7,633
การแสดงกราฟด้วย Highcharts JS

Highcharts JS ก็เป็น JavaScript อีกตัวหนึ่งที่น่าสนใจในการทำแผนภูมิรูปแบบต่างๆ โดยสามารถทดลองใช้โดยการคลิ๊กที่เมนู Demo ในส่วนของ Controller ทดลองสร้างกราฟแท่งโดยสร้าง Action ใน Controller protected/controllers/SiteController.php โดยสร้าง actionChart2() ในส่วนของ View สร้างไฟล์ protect...

9,651
การแสดงผลกราฟจากข้อมูลแบบ JSON ด้วย jQWidgets

การแสดงข้อมูลแบบ JSON นิยมในการสร้างข้อมูลเพื่อทำกราฟ หรือแม้แต่การทำ Web Service ในที่นี้จะเป็นการแสดงข้อมูลแบบ JSON เพื่อส่งให้ jqWidgets นำไปแสดงผลเป็นกราฟ โดยสร้าง action Json() เพื่อแสดงผลข้อมูลดังนี้ เมื่อเรียก URL mycontroller/json ก็จะปรากฏข้อมูลดังนี้ {"data":[{"money":"30000","...

8,613
การสร้าง Facebook Like Button

สำหรับ Application ที่ต้องการให้สมาชิกหรือบุคคลทั่วไปให้สามารถกดปุ่ม Like หรือชอบหน้านี้แล้วให้ไปแสดงสถานะใน Facebook ของคนๆ นั้น เราเรียกว่าการกดไลค์ โดยเราสามารถนำมาแสดงผลใน View ของเราได้ดังนี้ สร้าง Application ใน Facebook            &...

6,852
การสร้าง AJAX Link

ได้เห็น Concept ของ AJAX Button กันแล้วคราวนี้มาลองกับ Link กันบ้างนะครับ โดย Concept ก็จะยังคงคล้ายๆ กันอยู่ครับ แต่จะเปลี่ยนการส่งเป็นแบบ POST แทนนะครับ สร้าง actionAjaxLink() ใน Controller สำหรับสร้างฟอร์ม สร้าง View สำหรับสร้างฟอร์มชื่อ ajaxlink.php พร้อม Link สำหรับกดโดยจะใช้ Class ขอ...

8,384
การสร้าง AJAX Button

AJAX หรือเรียกว่า Asynchronous JavaScript and XML เป็นลักษณะของการเขียนโปรแกรมแบบใหม่โดยใช้คุณสมบัติของ JavaScript ที่ทำงานในฝั่ง Client แล้ว Request ไปประมวลผลกับ Script ในฝั่ง Server แล้วนำข้อมูลที่ได้หลังจากการประมวลผลมา Update บริเวณที่ต้องการได้ โดยที่หน้าเว็บไซต์ไม่ Refresh ใหม่ ทำให้มีความรวด...

8,833
การสร้างและแสดง Flash Message สำหรับ Yii Booster Extension

Flash Message คือข้อความที่แสดงเมื่อมีการกระทำใน Action ตัวอย่างเช่น หากมีการเข้าสู่ระบบสำเร็จก็แสดงข้อความบอกว่าเข้าสู่ระบบเรียบร้อย แต่หากว่ากรอก Username หรือ Password ผิดก็ให้แสดงข้อความแจ้งว่า Username หรือ Password ไม่ถูกต้อง เป็นต้น          &nb...

5,752
การแก้ไขหน้า Error สำหรับ Yi Framework

สำหนับหน้า Error นั้นเราสามารถแก้ไขให้อยู่ในรูปของ Bootstrap ได้โดยการเรียกใช้ Class ที่แสดงเป็น Error ในที่นี้คือ class=”alert alert-danger" โดยเราสามารถกำหนด path ได้โดยเข้าไปดูใน protected/config/main.php ในส่วนของ errorHandler จะเห็นว่าไฟล์ View ของ Error จะอยู่ที่ views/site/e...

7,010
การแสดงผลวันเวลาภาษาไทยจากฐานข้อมูล

เราจะเรียกใช้ Object จาก Class CDateFormatter มาดูตัวอย่างในการแสดงผลดังนี้ ไปดู Code กันเลยนะครับ ในส่วนของ View ที่ต้องการแสดงผล เราจะส่งวันเวลาเข้าไป โดยหากต้องการการแสดงผลเพิ่มเติมสามารถดูเพิ่มเติมได้ที่ http://www.yiiframework.com/doc/api/1.1/CDateFormatter

4,864
การสร้าง Date Picker สำหรับเก็บลง Field DATE ใน MySQL

สำหรับ Field เก็บข้อมูลแบบ DATE นั้นจะอยู่ในรูปของ ปีค.ศ.-เดือน-วัน เช่น 2014-01-20 เป็นต้น ดังนั้นใน Yii Booster Extension จะมีส่วนเสริมของ Bootstrap นั่นคือ bootstrap.datepicker.js ซึ่งสามารถ เรียกใช้งานผ่าน Widget ของ Yii Booster Extension ได้ โดยกำหนดในฟอร์มสำหรับรับข้อมูลวันที่ พร้อมจัดรูปแบบให...

10,662
การแสดงข้อมูลจากตารางอื่นในความสัมพันธ์แบบ BelongsTo

                การนำข้อมูลจากตารางอื่นมาแสดงนั้นเกิดขึ้นจากที่เราสร้างความสัมพันธ์แบบ BelongsTo ไว้ ตัวอย่างเช่น ในการแสดงผลรายการสินค้า จะมีการดึงประเภทสินค้ามาแสดงด้วยจะต้องมีการตั้งค่าดังต่อไปนี้ ในส่วนของ Products Mod...

6,464
การสร้างฟอร์มแบบ Horizontal สำหรับ Yii Booster Extension

มีบางครั้งที่เราต้องการให้การแสดงผลฟอร์มอยู่ในแนวเดียวกันกับ Object ของฟอร์มแบบแนวนอน ซึ่งเราสามารถกำหนดรูปแบบการแสดงผลของฟอร์มสำหรับ Yii Booster Extension โดยกำหนดที่ไฟล์ _form.php โดยเพิ่มตัวแปร ดังนี้ 'type'=>'horizontal'   จากนั้นเรียกการแสดงผลได้ลักษณะดังนี้

4,900
การสร้าง Captcha ให้กับฟอร์มด้วย CCaptcha

    บ่อยครั้งที่เราจะสังเกตเห็นว่าเวลาที่มีการกรอกข้อมูลในฟอร์ม เช่น แบบฟอร์มสมัครสมาชิกจะมีช่องให้กรอกตัวอักษรที่อ่านไม่ค่อยออกหรืออ่านค่อนข้างยาก ตัวอักษรเหล่านั้นเรียกว่า Captcha ซึ่งสร้างขึ้นเพื่อป้องกันการกรอกข้อมูลอัตโนมัติของ Bot หรือ Script ที่จะมีการ Boom เข้ามาในเว็บหรือใน A...

6,938
การซ่อนไฟล์ index.php เมื่อเรียก URL

    การเรียก URL โดยปกติจะเรียก index.php เป็นไฟล์แรกที่ Run เราสามารถซ่อนไฟล์ index.php ได้ โดยใช้คุณสมบัติของ urlManager() โดยจะทำให้สามารถเรียก http://yourweb.com/controller/action เป็นต้น โดยมีการตั้งค่าดังนี้ เพิ่ม 'showScriptName'=>false และ 'caseSensitive'=>...

14,027
การเปลี่ยน site/index เป็น home ใน URL

    สำหรับการเปลี่ยน URL ที่เรียกหน้าหลักของเว็บไซต์นั้นจะช่วยให้สามารถจดจำหน้าหลักได้ง่ายยิ่งขึ้น เช่น ก่อนเปลี่ยนจะเรียกเป็น index.php/site/index ให้เปลี่ยนเป็น index.php/home โดยเปิดไฟล์ protected/config/main.php จากนั้นตั้งค่าดังนี้ เพิ่ม ‘home’=>’site/index&...

7,736
การดึงข้อมูลจากตารางอื่นมาแสดงเป็น Drop Down List

    การนำข้อมูลจากตารางอื่นมาแสดงเป็น Drop Down List นั้นจะค่อนข้างใช้บ่อย เช่น การเพิ่มสินค้าที่ดึงประเภทสินค้ามาเป็นรายการให้เลือก เป็นต้น โดยจะแก้ไขที่ไฟล์ _form.php จากนั้นแสดงผลข้อมูลจะเห็นเป็น Drop Down List ดังนี้

11,195
การสร้าง CKEditor สำหรับ TextArea

    ในการเพิ่มข้อมูล Field ที่เก็บข้อมูลแบบ Text ควรที่จะมี Editor สำหรับเป็นตัวช่วยเขียนเนื้อหา ตัวอย่างเช่นการเขียนบันทึก (Weblog) หากเรามีการกำหนดรูปแบบตัวหนา ตัวเอง ตัวขีดเส้นใต้ หรืออื่นๆ แล้วบันทึกลงในฐานข้อมูล เมื่อมีการดึงข้อมูลมาแสดงผล รูปแบบต่างๆ ที่ได้มีการกำหนดไว้ก็จะแสดงผ...

10,234
การสร้าง Drop Down List สำหรับการเก็บข้อมูลแบบ ENUM

    ชนิดข้อมูลแบบ ENUM เป็นการเก็บข้อมูลลักษณะที่กำหนดค่าของข้อมูลไว้ล่วงหน้า อย่างเช่น รายชื่อจังหวัด ชนิดของผู้ใช้งาน เป็นต้น โดยมีการกำหนดลักษณะดังนี้ สร้างไฟล์ protected/components/ZHtml.php class ZHtml extends CHtml { public static function enumItem($mod...

8,592
การปรับ Breadcumb ให้อยู่ในรูปแบบของ Tag ul และ li

    โดยส่วนใหญ่แล้ว Theme ที่มีการพัฒนาขึ้นมานั้นในส่วนของ Breadcumb นั้นจะมีการแสดงผลในแบบ Tag ul และ li โดยปกติแล้วถ้าไม่มีการกำหนดจะแสดงเป็น Tag div ซึ่งจะไม่สามารถใช้กับ Theme ได้ดังนั้นเราสามารถเปลี่ยนมาใช้ Tag ul และ li ได้ดังนี้ <?php if(isset($this->breadcrumbs)):...

5,264
การเปลี่ยนข้อความ “Home” ใน Breadcumb เป็น “หน้าหลัก”

    Breadcumb หรือเรียกอีกอย่างหนึ่งว่าป้ายนำทาง โดยการใช้งาน Breadcumb นั้นค่าเริ่มต้นของหน้าหลักของ Application เรานั้นก็คือคำว่า Home ซึ่งเราจะสามารถเปลี่ยนเป็นภาษาไทยได้ โดยแทนที่คำว่า Home เป็นคำว่าหน้าหลัก โดยเปิดไฟล์ที่เป็น Layout ของ Application เรา ในที่นี้จะใช้ Layout พื้นฐา...

4,960
การ Register Script ที่เป็น JavaScript แบบ Inline

    การ Register Script ลักษณะนี้เรียกว่าเป็นการ Register แบบ Inline โดยหลังจากประมวลผลแล้วจะมีการเขียน Script ลงบนหน้า Application โดยตรงโดยที่ไม่ได้ Link มาเหมือนแบบอื่นๆ โดยมีตัวอย่างดังต่อไปนี้ <?php Yii::app()->clientScript->registerScript('JS'," $('#lo...

8,645
การ Register ไฟล์ JavaScript และ CSS

    เราสามารถ Register ไฟล์ JavaScript และ CSS ในหน้า Layout และหน้าเว็บของเราได้โดยใช้ Script ดังนี้ การ Register Core Script     เป็นการโหลด Script พื้นฐานโดยตัว Script จะถูกบรรจุอยู่ที่  yii/framework/web/js/source หากต้องการดูว่าสามารถ Register Scrip...

9,885
การสร้างระบบ User Login จากฐานข้อมูล

    สำหรับการสร้างระบบ User นั้นโดยทั่วไปแล้ว User จะถูกเก็บไว้ในตารางในที่นี้คือตาราง users โดยจะมี Model Users เป็นส่วนทำงานกับตาราง users นั่นเอง     การสร้างระบบ Login โดยตรวจสอบข้อมูลจากฟอร์มว่าตรงกันกับฐานข้อมูลนั้นเราจะทำการปรับแก้ไข Class UserIdentity ที่อยู่ใน...

13,406
การสร้าง Criteria ในการ Select ข้อมูล

    Criteria ถือว่าเป็นพระเอกของการ Select ข้อมูลเลยก็ว่าได้ครับ เราสามารถสร้าง Criteria ได้หลายแบบ มาดูตัวอย่างบางส่วนที่จะช่วยให้เราสามารถเข้าใจเรื่องของ Criteria มากยิ่งขึ้นครับ โดยปกติ เราจะสร้าง Criteria ดังนี้ เป็นการสร้างเงื่อนไข WHERE price > 20 นั่นเอง   $crite...

8,532
TAGABLE

ในเรื่องของ Tag นั้นก็ค่อนข้างทำยากหน่อยครับ เพราะต้องตรวจสอบหลายส่วน เช่นเมื่อโพส Tag เข้ามาถ้ายังไม่มีให้เพิ่มในตาราง แต่ถ้ามีแล้วให้บวกจำนวนเพิ่มขึ้น และถ้ามีการลบโพสอออกก็ให้ลบ Tag ออกด้วยดังนั้นการเขียนโปรแกรมจึงค่อนข้างซับซ้อนหน่อย แต่ว่าก็สามารถเรียนรู้และทำได้จากตัวอย่างนี้ครับ  &nbs...

5,319
SLUG

การทำ URL ให้เหมาะกับ Search Engine หรือที่เรียกกันคุ้นหูคุ้นตาว่า Search Engine Optimization หรือ SEO ส่วนหนึ่งก็คือเรื่องของ URL โดยจะมีลักษณะดังต่อไปนี้ http://www.programmerthailand.com/vdos/1-yii-framework-คืออะไร จะเห็นว่า 1-yii-framework-คืออะไร จะมีความหมายดังต่อไปนี้ 1 คือ ต...

8,473
ว่าด้วยเรื่องของ Model

Database Active Record     มาเรียนรู้กันนะครับว่าการ Create Read Update และ Delete ใน Model นั้นสามารถเขียน Code แบบไหนได้บ้างครับไปดูกันเลยครับ Create $post = new Post; $post->title = "หัวข้อ"; $post->content = "เนื้อหา"; $post->save(); Read ตัวอย่างที่ 1...

7,802
การส่ง Email ด้วย SMTP Extension

ในการส่ง Email ให้ถึงผู้รับแบบชัวร์ๆ นั้นเราควรส่งด้วย SMTP Server โดยใช้ Extension ที่มีชื่อว่า smtp-mail ซึ่งสามารถดาวโหลดได้ที่นี่ http://www.yiiframework.com/extension/smtp-mail/ การติดตั้ง     ดาวโหลด smpt-mail มาไว้ใน protected/extensions/smtpmail/ จากนั้นเปิดไฟล์ pr...

7,955
การใช้งาน User และ Rights Extension เบื้องต้น

หลังจาก Login เข้าระบบเป็น admin เรียบร้อยแล้ว แล้วเข้าเมนู Rights จากนั้น กด Permissions แล้วคลิ๊ก Link Generate items for controller actions เพื่อสร้าง Item ก่อนการกำหนดสิทธิ์ จากนั้นเลื่อนลงมาล่างสุดกด Select All แล้วกดปุ่ม Generate ก็จะปรากฏรายการ Permissions ต่างๆ จากนั้นทด...

5,801
การติดตั้ง Rights Extension

Yii Rights Extension เป็นระบบบริหารจัดการการเข้าถึงข้อมูลระดับ Action โดยกำหนดได้ว่า Action ไหนให้ใครเข้าถึงได้     โดยสามารถดาวน์โหลดได้ที่เว็บไซต์ http://www.yiiframework.com/extension/rights/ หรือ https://code.google.com/p/yii-rights/  หลังจากดาวน์โหลดเรียบร้อยแล้วทำมาวางที่...

6,292
การติดตั้ง User Extension

การติดตั้ง User Extension     Yii User Extension เป็นระบบบริหารจัดการผู้ใช้งาน โดยมีระบบสมัครสมาชิก ระบบลืมรหัสผ่าน ระบบที่เกี่ยวข้องกับการจัดการสมาชิกซึ่งทำให้เรามีความสะดวกในการจัดการสมาชิกนั่นเอง  โดยสามารถดาวน์โหลดได้ที่เว็บไซต์ http://www.yiiframework.com/extension/yii-use...

7,232
การติดตั้ง Yii Booster Extension

Bootstrap เป็น CSS Framework ที่พัฒนาโดย Twitter จากนั้นมีผู้นำมาพัฒนาต่อเป็น Extension ให้สามารถใช้ได้กับ Yii Framework โดยรวบรวมทำเป็น Widget ไว้เรียบร้อย แล้วตั้งชื่อใหม่ว่า Yii Booster โดยสามารถดาวโหลดได้ที่เว็บไซต์ http://yiibooster.clevertech.biz/ หรือ https://github.com/clevertech/yiibooster...

7,817
Extension - การตัดคำด้วย XReadmore

การตัดคำด้วย XReadmore  บ่อยครั้งเวลาที่เราเขียน Weblog นั้นการตัดคำเป็นเรื่องสำคัญมาก ในหน้า Application ที่รวม Blog ไว้ เช่นหน้าแรกซึ่งมี Blog รวมกันหลายๆ Blog หากมีการแสดงข้อมูล Blog ทั้งหน้าหน้า Application เราคงยืดยาวเป็นแน่ การตัดคำจึงเป็นส่วนสำคัญของทางแก้ของปัญหานี้ ซึ่งก็มีหลากหลา...

6,425
การใช้งาน Link

    อีกส่วนที่สำคัญนั่นก็คือการทำ Link โดยใน Application ค่อนข้างมีการใช้งานบ่อยซึ่ง Link นั้นก็มี Helper ที่ทำงานเฉพาะ นั่นก็คือ CHtml::link() สามารถดูเพิ่มเติมได้ที่ http://www.yiiframework.com/doc/api/1.1/CHtml#link-detail      สำหรับการใช้งานนั้นจะมี Class Ref...

9,416
การใช้งานรูปภาพ

บ่อยครั้งใน Application เราได้มีการใช้งานรูปภาพดังนั้นเราควรที่จะมาเรียนรู้ในเรื่องของการใช้งานรูปภาพกันนะครับ ซึ่งรูปภาพนั้นเป็นส่วนหนึ่งของ Helper CHtml::image() โดยเป็นตัวช่วยที่จะ Generate ออกมาให้อยู่ในรูป HTML ที่เป็น Tag img โดยสามารถดูเพิ่มเติมได้ที่ http://www.yiiframework.com/doc/api/...

10,486
การกำหนด Yii Message ให้เป็นภาษาไทย

ในการพัฒนา Application นั้นคงหลีกหนีไม่พ้นเรื่องของ Localization หรือการใช้งานภาษาในแต่ละท้องถิ่นนั่นเอง ส่วนหนึ่ง Yii Framework ก็ได้รวบรวมและมีการแปลไว้แล้วหลายภาษาหนึ่งในนั้นก็คือภาษาไทยของเรานั่นเอง     การตั้งค่าภาษานั่นทำได้ง่ายดายมากเพียงเปิดไฟล์ protected/config/main.php แล้ว...

7,288
การสร้าง Attribute Label ให้เป็นภาษาไทยโดยอัตโนมัติ

หลังจากที่มีการออกแบบ ER Diagram และทำการ Forward Engineering เรียบร้อยแล้วขั้นตอนถัดมาจะเป็นเรื่องของการ Generate Code ด้วย Gii Generator โดยเข้า URL index.php?r=gii จะปรากฏช่องสำหรับกรอก Password ให้ทำการกรอก Password ตามที่ได้ตั้งไว้ใน protected/config/main.php ไปที่เมนู Model Generator...

6,853
การออกแบบ ER Diagram และการ Forward Engineering

    สำหรับการออกแบบ ER Diagram หรือ Entity Relationship Diagram นั้นเป็นการออกแบบ Entity หรือตารางในการเก็บข้อมูลในฐานข้อมูล MySQL นั่นเองโดยจะใช้โปรแกรมของ MySQL ที่มีชื่อว่า MySQL Workbench ซึ่งสามารถดาวโหลดได้ที่ http://www.mysql.com/products/workbench/ โดยสามารถดาวโหลดและติดตั้งได้ฟรี...

31,121
การติดตั้ง Yii Eclipse PlugIn

Eclipse ก็เป็น IDE ตัวหนึ่งที่เราสามารถนำมาเขียน PHP ได้ แต่ต้องติดตั้ง Eclipse PDT PlugIn เข้าไปด้วย โดยสามารถดาวโหลดได้จากเว็บไซต์ www.eclipse.org     สำหรับการติดตั้ง Eclipse PDT PlugIn นั้นเมื่อติดตั้ง Eclipse เสร็จเรียบร้อย เปิด Eclipse แล้วไปที่เมนู Help->Install New Softwar...

8,548
การติดตั้ง Yii Snippets ใน Sublime Text 3

การติดตั้ง Yii Snippets ใน Sublime Text 3 ใน Sublime Text 3 จะมี Code ลักษณะ Auto Complete ที่เรียกว่า Snippet อยู่ สำหรับวิธีการใช้งาน เช่นพิมพ์ hlink แล้วกด tab ก็จะปรากฏ Code <?php echo CHtml::link('text', array(), array('optionName'=>optionValue)); ?>  ขึ้นมา...

9,071
การสร้าง Project ใน Netbeans IDE

Netbean IDE เป็น Software ที่เป็น Integrated Development Environment หรือสภาพแวดล้อมของการพัฒนา Application เราโดยสามารถดาวโหลดได้ที่ http://www.netbeans.org การสร้าง Project ใน Netbean นั้นไปที่ File->New Project   จากนั้นเลือก PHP Application with Existing Sources  ...

10,690