|
|
|
Category nested tree สำหรับ codeigniter (php5 codeigniter mysql) |
|
|
|
|
|
|
|
Category tree ตัวนี้สำหรับผู้ใช้ codeigniter 2 นะครับ จะใช้ version 1.7.* ก็คงได้มั้ง ไม่แน่ใจ ลองดูก็แล้วกันครับ
เป็นแบบกึ่งสำเร็จนะครับ ไม่ใช่แค่โค้ดตัวอย่าง สามารถ insert/update/delete ได้
หลักการที่ใช้ นำมาจาก:
http://articles.sitepoint.com/article/hierarchical-data-database
http://www.phpriot.com/articles/nested-trees-1
และโค้ดในส่วนของการสร้าง left/right และการเรียกข้อมูลออกมาเป็น array นำมาจาก:
http://www.phpriot.com/articles/nested-trees-2
ตย.
เอามาเรียงแบบซ้อนกันด้วย ul li แจ่มไปเลยครับ
รายละเอียด โชว์ว่ามันทำงานเรียงแบบไล่ขึ้น และแบบ breadcrumb ได้ด้วย
หน้า admin ครับ
การปรับนำไปใช้จริง
สำหรับการใช้ทั้งแบบ nested unorderlist (ul li) หรือแบบ new line ธรรมดา ขอให้ดูตัวอย่างจาก controllers/category/index.php และการแสดงผลใน views/category/index_view.php
การแก้ไข link ไปยัง category ให้เข้าไปแก้ไขได้ที่ models/category_model.php ภายใน method show_category_nested และ show_category_newline
โดยเปลี่ยนจาก ".site_url("category/view/".urlencode($item->category_uri))." ไปเป็น url ตามที่ต้องการ เช่น
".base_url()."category/?id=".$key." ซึ่ง $key คือ category_id
".base_url()."category/".$key."-".urlencode($item->category_uri)."
"/category/".urlencode($item->category_uri)."
การปรับแต่งค่า database เพื่อนำไปใช้
สามารถกำหนดค่าต่างๆของ database ใน codeigniter config/database.php ได้เลย
จากนั้นให้ลบค่า $config ต่างๆภายใน controller และเปลี่ยนจาก $this->load->database($config); เป็น $this->load->database();
นำ sql ไปสร้างตารางในฐานข้อมูลที่กำหนดใน config/database
Code
CREATE TABLE IF NOT EXISTS `pre_categories` (
`category_id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) NOT NULL DEFAULT '0',
`category_name` varchar(255) DEFAULT NULL,
`category_description` text,
`category_uri` varchar(255) DEFAULT NULL,
`nleft` int(10) DEFAULT NULL,
`nright` int(10) DEFAULT NULL,
`nlevel` int(10) DEFAULT NULL,
PRIMARY KEY (`category_id`),
KEY `parent_id` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
นอกจากนี้ ในส่วนของการเรียกใช้ method เพื่อการแสดงผลแบบต่างๆ ขอให้ดูตัวอย่างจากไฟล์ controllers/category/view.php และ views/category/view_view.php
ดูบทความเต็ม http://www.okvee.net/2011/03/15/category-nested-tree-for-ci2/
ดาวน์โหลดโค้ด http://www.okvee.net/wp-content/plugins/download-monitor/download.php?id=10
อ่าน license.txt นิดหนึ่งนะครับ ขอแค่นิดเดียวเท่านั้น นอกนั้นฟรี อิสระเลยครับ
ไม่รู้คุณ win จะว่าไรไหมนี่ มาโพสต์บ่อยๆ
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2011-03-15 01:05:03
|
|
|
|
|
Date :
2011-03-15 01:03:20 |
By :
mr.v |
View :
2278 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|