Код: Выделить всё
CREATE TABLE IF NOT EXISTS `tbl_products_category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`parent` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=10 ;
INSERT INTO `tbl_products_category` (`id`, `name`, `parent`) VALUES
(1, 'test1', 0),
(2, 'test2', 0),
(3, 'test3', 0),
(4, 'test4', 0),
(5, 'test10', 1),
(6, 'test12', 1),
(7, 'test13', 1),
(8, 'test14', 1),
(9, 'test15', 1);
Для первого варианта все просто :
Код: Выделить всё
$c = CHtml::listData(Category::model()->findAll('parent != 0'), 'id','name', 'parent');
echo $form->dropDownList($product, 'cid', $c);
Если рассматривать второй вариант - то пока в замешательстве, может есть готовые решения?