intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lập trình Joomla! 1.5-Chương 1: Phân tích & xây dựng hệ thống Back-End

Chia sẻ: Pham Long | Ngày: | Loại File: PDF | Số trang:11

180
lượt xem
20
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

SQL query: CREATE TABLE IF NOT EXISTS `jos_book_category` ( `id` int(11) NOT NULL AUTO_INCREMENT, `category` varchar(200) NOT NULL, `created_by` int(11) NOT NULL, `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `modified_by` int(11) NOT NULL, `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `ordering` int(11) NOT NULL, `hits` int(11) NOT NULL, `published` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Chủ đề:
Lưu

Nội dung Text: Lập trình Joomla! 1.5-Chương 1: Phân tích & xây dựng hệ thống Back-End

  1. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 1: Phân tích & xây d ng h th ng Back-End http://www.zend.vn Joomla! Programming Book shopping component Chương 1: Phân tích & xây d ng h th ng Back-End 1. Phân tích Database 2. Xây d ng c u trúc MVC trong Back-End c a Joomla ăng ký com_book trong h th ng joomla 3. 4. T o các controller cho component 5. T o submenu cho com_book T o l nh i u hư ng n các Controller 6. Xây d ng các class nh nghĩa các b ng d li u có trong component 7. Giáo trình: Joomla! Programming Chuyên : Book shopping component Biên so n: Ph m Vũ Khánh Email: vukhanh2212@gmail.com i n tho i: 0908.893326 Website: www.zend.vn Tháng 08-2010 1 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  2. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 1: Phân tích & xây d ng h th ng Back-End http://www.zend.vn 1. Phân tích Database B ng jos_book_category B ng ch a các danh m c sách (VD: PHP, ASP, Joomla!, Drupal …) Fields Type Decription id Khóa chính int(11) category Tên c a category varchar(200) ID ngư i t o category created_by int(11) created Ngày t o datetime ID ngư i ch nh s a category modified_by int(11) modified Ngày modify datetime ordering S p x p th t int(11) hits S l n xem int(11) published Cho phép hi n th tinyint(1) SQL query: CREATE TABLE IF NOT EXISTS `jos_book_category` ( `id` int(11) NOT NULL AUTO_INCREMENT, `category` varchar(200) NOT NULL, `created_by` int(11) NOT NULL, `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `modified_by` int(11) NOT NULL, `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `ordering` int(11) NOT NULL, `hits` int(11) NOT NULL, `published` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; B ng jos_book B ng ch a thông tin c a sách theo t ng các danh m c Fields Type Decription id Khóa chính int(11) title Tiêu quy n sách varchar(200) picture Hình nh quy n sách varchar(50) publish_date Ngày xu t b n datetime synopsis Tóm t t n i dung text author Tác gi varchar(150) price Giá b n varchar(50) publisher Nhà xu t b n varchar(255) content N i dung chính mediumtext ID ngư i t o (Khóa ngo i) created_by int(11) created Ngày t o datetime ID ngư i ch nh s a (Khóa ngo i) modified_by int(11) modified Ngày ch nh s a datetime hits S l n xem int(11) published Cho phép hi n th tinyint(1) 2 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  3. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 1: Phân tích & xây d ng h th ng Back-End http://www.zend.vn catid ID c a category (Khóa ngo i) int(11) SQL query: CREATE TABLE IF NOT EXISTS `jos_book` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(200) NOT NULL, `picture` varchar(50) NOT NULL, `publish_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `synopsis` text, `author` varchar(150) DEFAULT NULL, `price` varchar(50) NOT NULL, `publisher` varchar(255) DEFAULT NULL, `content` mediumtext NOT NULL, `created_by` int(11) NOT NULL, `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `modified_by` int(11) NOT NULL DEFAULT '0', `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `hits` int(11) NOT NULL, `published` tinyint(1) NOT NULL DEFAULT '0', `catid` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; B ng jos_book_bill B ng ch a thông tin khách hàng Fields Type Decription id Khóa chính int(11) Ngày t o ra ơn t hàng created datetime Tên ngư i mua full_name varchar(255) a ch ngư i mua address text shipping a ch giao hàng text phone S i n tho i varchar(20) mobi S i n tho i di ng varchar(20) comment Thông tin text status Tr ng thái (pending – accept) varchar(20) SQL query: CREATE TABLE IF NOT EXISTS `jos_book_bill` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `full_name` varchar(255) NOT NULL, `address` text NOT NULL, `shipping` text NOT NULL, `phone` varchar(20) NOT NULL, `mobi` varchar(20) NOT NULL, `comment` text NOT NULL, `status` varchar(20) NOT NULL DEFAULT 'pending', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; B ng jos_book_order B ng ch a thông tin danh sách các cu n sách ư c t hàng Fields Type Decription id Khóa chính c a b ng int(11) bill_id ID c a jos_book_bill int(11) book_id ID c a cu n sách int(11) 3 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  4. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 1: Phân tích & xây d ng h th ng Back-End http://www.zend.vn S lư ng sách t mua quantity int(11) price Giá c a m t cu n sách varchar(20) SQL query: CREATE TABLE IF NOT EXISTS `jos_book_order` ( `id` int(11) NOT NULL AUTO_INCREMENT, `bill_id` int(11) NOT NULL, `book_id` int(11) NOT NULL, `quantity` int(11) NOT NULL, `price` varchar(20) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 4 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  5. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 1: Phân tích & xây d ng h th ng Back-End http://www.zend.vn 2. Xây d ng c u trúc MVC cho Back-End c a Joomla T o thư m c \com_book trong thư m c \joomla\administrator\components\ có c u trúc như sau: Thư m c Gi i thích Thư m c ch a hình nh nh ng cu n sách \com_book\books Thư m c ch a các controller c a component \com_book\controllers Thư m c ch a các t p tin h tr cho component (vd: nhưng \com_book\helper Upload class, Image functions…) Thư m c ch a các t p tin nh nghĩa cho các Table c a \com_book\tables component Thư m c ch các t p tin VIEW theo mô hình MVC c a \com_book\views Joomla admin.book.php T p tin ch y chính c a component trong ph n Back-End 3. ăng ký com_book trong h th ng joomla Vào phpMyAdmin truy c p database c a Joomla M b ng jos_components. Nh n nút Insert, sau ó thêm vào d li u như sau 5 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  6. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 1: Phân tích & xây d ng h th ng Back-End http://www.zend.vn Thêm cho Menu chính (Components menu | Book) Thêm cho Menu ph (Components menu | Book | Categories) Thêm cho Menu ph (Components menu | Book | Books) 6 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  7. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 1: Phân tích & xây d ng h th ng Back-End http://www.zend.vn Thêm cho Menu ph (Components menu | Book | Orders) 4. T o các controller cho component T o controller qu n lý category: T o t p tin category.php trong \joomla\administrator\components\com_book\controllers\ v i n i dung sau: T o controller qu n lý book: T o t p tin book.php trong \joomla\administrator\components\com_book\controllers\ v i n i dung sau: T o controller qu n lý các hóa ơn t hàng: T o t p tin order.php trong \joomla\administrator\components\com_book\controllers\ v i n i dung sau: 7 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  8. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 1: Phân tích & xây d ng h th ng Back-End http://www.zend.vn truy c p vào các controller c a com_book chúng ta quy ư c ư ng d n như sau: Truy c p category controller: http://localhost/joomla/administrator/index.php?option=com_book Truy c p book controller: http://localhost/joomla/administrator/index.php?option=com_book&c=Book Truy c p order controller: http://localhost/joomla/administrator/index.php?option=com_book&c=Order 5. T o submenu cho com_book M t p tin admin.book.php Back-End com_book thêm vào n i dung:
  9. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 1: Phân tích & xây d ng h th ng Back-End http://www.zend.vn JSubMenuHelper::addEntry(JText::_('Books'), 'index.php?option=com_book&c=Book'); JSubMenuHelper::addEntry(JText::_('Order'), '',true ); } ?> 6. T o l nh i u hư ng n các Controller M t p tin admin.book.php Back-End com_book thêm vào n i dung: ng th i thêm vào các class BookControllerBook – BookControllerCategory – BookControllerOrder m t phương th c m i có n i dung sau: function display(){ echo __FUNCTION__ . ' in ' . __CLASS__; } 7. Xây d ng các class nh nghĩa các b ng d li u có trong component a. T o t p tin category.php T o t p tin category.php trong thư m c \joomla\administrator\components\com_book\tables\. T p tin này ch a c u trúc c a b ng jos_book_category và nh ng giá tr m c nh khi chúng ta s d ng các field trong b ng v i n i dung như sau: defined('_JEXEC') or die('Restricted Access'); class TableCategory extends JTable{ var $id = null; var $category = null; var $created_by = null; var $created = null; var $modified_by = null; var $modified = null; var $ordering = null; var $hits = null; var $published = 0; function __construct(&$db) { parent::__construct( '#__book_category', 'id', $db ); } } 9 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  10. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 1: Phân tích & xây d ng h th ng Back-End http://www.zend.vn b. T o t p tin book.php T o t p tin book.php trong thư m c \joomla\administrator\components\com_book\tables\. T p tin này ch a c u trúc c a b ng jos_book và nh ng giá tr m c nh khi chúng ta s d ng các field trong b ng v i n i dung như sau: defined('_JEXEC') or die('Restricted Access'); class TableBook extends JTable{ var $id = null; var $title = null; var $picture = null; var $publish_date = null; var $synopsis = null; var $author = null; var $price = null; var $publisher = null; var $content = null; var $created_by = null; var $created = null; var $modified_by = null; var $modified = null; var $hits = null; var $published = null; var $catid = 0; function __construct(&$db) { parent::__construct( '#__book', 'id', $db ); } } c. T o t p tin bill.php T o t p tin bill.php trong thư m c \joomla\administrator\components\com_book\tables\. T p tin này ch a c u trúc c a b ng jos_book_bill và nh ng giá tr m c nh khi chúng ta s d ng các field trong b ng v i n i dung như sau: defined('_JEXEC') or die('Restricted Access'); class TableBill extends JTable{ var $id = null; var $created = null; var $full_name = null; var $address = null; var $shipping = null; var $phone = null; var $mobi = null; var $comment = null; var $status = 'pendding'; function __construct(&$db) { parent::__construct( '#__book_bill', 'id', $db ); } } d. T o t p tin order.php 10 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  11. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 1: Phân tích & xây d ng h th ng Back-End http://www.zend.vn T o t p tin order.php trong thư m c \joomla\administrator\components\com_book\tables\. T p tin này ch a c u trúc c a b ng jos_book_order và nh ng giá tr m c nh khi chúng ta s d ng các field trong b ng v i n i dung như sau: defined('_JEXEC') or die('Restricted Access'); class TableOrder extends JTable{ var $id = null; var $bill_id = null; var $book_id = null; var $quantity = null; var $price = null; function __construct(&$db) { parent::__construct( '#__book_order', 'id', $db ); } } 11 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
8=>2