我正在使用 joomla 2.5 开发我的组件,我需要通过我的代码动态创建用户组。

据我所知,在 2.5 joomla 中使用嵌套集来维护层次结构,因此当我们插入任何新条目时它可能会影响整个表。

joomla有没有提供可以直接用来创建用户组的功能? 我们可以在其中指定父组和新组的东西将在其下创建。

请您参考如下方法:

我自己解决的

在我的例子中,我需要将子组插入到特定组的正下方(在下面的代码中称为 $parent_id)

// get max right from all the child under parent id 
    $child_query = "SELECT max(`rgt`) FROM `#__usergroups` WHERE `id` = ".$parent_id; 
$db->setQuery($child_query); 
$max_rgt = $db->loadResult(); 
 
 
// calculate left and rgt for new entry 
$new_lft = $max_rgt; 
$new_rgt = $max_rgt + 1; 
 
// update lft and rgt of all entries having lft , rgt greater than max_rgt 
$upd1 = "UPDATE `#__usergroups` SET `lft` = `lft` + 2 WHERE `lft` > ".$max_rgt; 
$upd2 = "UPDATE `#__usergroups` SET `rgt` = `rgt` + 2 WHERE `rgt` >= ".$max_rgt; 
 
 
// insert new  child 
$insert = "INSERT INTO `#__usergroups`(`parent_id`,`lft`,`rgt`,`title`) VALUES(".$matrix_parent.",".$new_lft.",".$new_rgt.",'".$title."')"; 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!