Home » , , » Hướng dẫn tạo menu đa cấp trong mã nguồn codeigniter tshop33

Hướng dẫn tạo menu đa cấp trong mã nguồn codeigniter tshop33

Đăng bởi: Code.Elite.Vn

Hôm nay hà minh hướng dẫn các bạn làm một menu đa cấp(đệ quy) trong codeigniter với những hướng dẫn cơ bản để chúng ta có một menu chuyên nghiệp trong trang website của mình nhé.

Ban đầu các bạn vào trong phpmyadmin(http://localhost/phpmyadmin).
Bôi đen toàn bộ mã nguồn bên dưới để tạo db cho menu đa cấp của mình

-- Database name: `menu`
-- Because I am modifing it to use this new menu
-- This will also work stand alone with the code below
-- Like I said this is not finished yet!
--
-- you may use it under the GPL v3 Licence.
-- --------------------------------------------------------
-- Table structure for table `dyn_menu`
--
DROP TABLE IF EXISTS `dyn_menu`;
 
CREATE TABLE IF NOT EXISTS `dyn_menu` (
  `id`                int(11)            NOT NULL    AUTO_INCREMENT,
  `title`            varchar(100)    NOT NULL    DEFAULT '',
  `link_type`        varchar(20)        NOT NULL    DEFAULT 'uri',
  `page_id`            int(11)            NOT NULL    DEFAULT '0',
  `module_name`        varchar(50)        NOT NULL    DEFAULT '',
  `url`                varchar(255)    NOT NULL    DEFAULT '',
  `uri`                varchar(255)    NOT NULL    DEFAULT '',
  `dyn_group_id`    int(11)            NOT NULL    DEFAULT '0',
  `position`        int(5)            NOT NULL    DEFAULT '0',
  `target`            varchar(10)                    DEFAULT NULL,
  `parent_id`        int(11)            NOT NULL    DEFAULT '0',
  `is_parent`        tinyint(1)        NOT NULL    DEFAULT '0',
  `show_menu`        enum('0','1')    NOT NULL    DEFAULT '1',
  PRIMARY KEY (`id`),
  KEY `dyn_group_id - normal` (`dyn_group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 
-- Dumping data for table `dyn_menu`
 
INSERT INTO `dyn_menu` (`id`, `title`, `link_type`, `page_id`, `module_name`, `url`, `uri`, `dyn_group_id`, `position`, `target`, `parent_id`, `is_parent`, `show_menu`) VALUES
(1,  'Category 1',             'page', 1,  '', 'http://www.category1.com',    '', 1, 0, '', 0, 1, '1'),
(2,  'Category 2',             'page', 2,  '', 'http://www.category2.com',    '', 1, 0, '', 0, 0, '1'),
(3,  'Category 3',             'page', 3,  '', 'http://www.category3.com',    '', 1, 0, '', 0, 0, '1'),
(4,  'Category 4',             'page', 4,  '', 'http://www.category4.com',    '', 1, 0, '', 0, 0, '1'),
(5,  'Category 1 - 1',         'page', 5,  '', 'http://www.category11.com',   '', 1, 0, '', 1, 0, '1'),
(6,  'Category 1 - 2',         'page', 6,  '', 'http://www.category12.com',   '', 1, 0, '', 1, 1, '1'),
(7,  'Category 1 - 2 - 1',     'page', 7,  '', 'http://www.category121.com',  '', 1, 0, '', 6, 0, '1'),
(8,  'Category 1 - 2 - 2',     'page', 8,  '', 'http://www.category122.com',  '', 1, 0, '', 6, 1, '1'),
(9,  'Category 1 - 2 - 2 - 1', 'page', 9,  '', 'http://www.category1221.com', '', 1, 0, '', 8, 0, '1'),
(10, 'Category 1 - 2 - 2 - 2', 'page', 10, '', 'http://www.category1222.com', '', 1, 0, '', 8, 0, '1'),
(11, 'Category 3 - 1',         'page', 11, '', 'http://www.category31.com',   '', 1, 0, '', 3, 1, '1'),
(12, 'Category 3 - 2',         'page', 12, '', 'http://www.category32.com',   '', 1, 0, '', 3, 0, '1'),
(13, 'Category 3 - 3',         'page', 13, '', 'http://www.category33.com',   '', 1, 0, '', 3, 0, '1'),
(14, 'Category 3 - 4',         'page', 14, '', 'http://www.category34.com',   '', 1, 0, '', 3, 0, '1'),
(15, 'Category 3 - 5',         'page', 15, '', 'http://www.category35.com',   '', 1, 0, '', 3, 0, '1'),
(16, 'Category 3 - 6',         'page', 16, '', 'http://www.category36.com',   '', 1, 0, '', 3, 0, '1');
 
-- --------------------------------------------------------
-- Table structure for table `dyn_groups`
 
CREATE TABLE IF NOT EXISTS `dyn_groups` (
  `id`        int(11)        NOT NULL    AUTO_INCREMENT,
  `title`    varchar(50)    NOT NULL,
  `abbrev`    varchar(20)    NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Navigation groupings. Eg, header, sidebar, footer, etc' ;
 
-- Dumping data for table `dyn_groups`
 
INSERT INTO `dyn_groups` (`id`, `title`, `abbrev`) VALUES
(1, 'Header',   'header'),
(2, 'Sidebar',  'sidebar'),
(3, 'Footer',   'footer'),
(4, 'Topbar',   'topbar'),
(5, 'Sidebar1', 'sidebar1'),
(6, 'Sidebar2', 'sidebar2');
Vào config/autoload.php sửa lại như sau:
$autoload['libraries'] = array('database', 'Dynamic_menu');
$autoload['helper'] = array('url', 'file');
Tiếp theo vào config/Database.php sửa lại các thông số phù hợp với mysql của bạn
$active_group = 'default';
$active_record = TRUE;
 
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'menu';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE

Dowload mã nguồn, source code web menu codeigniter:

Mật khẩu :  Mật khẩu giải nén 
Với mã nguồn code menu codeigniter tshop 33 bằng Codeigniter này hy vọng các bạn mới làm về codeigniter sẽ hiểu được bản chất cách làm một menu đa cấp như thế nào nhé.



0 comments:

Post a Comment