サブメニューをチェックするかどうかを判断する際のコードに問題があります
<input type="checkbox" name="menu[{$vo.mid}]"lay-skin =" プライマリ" タイトル="{$vo.title}" {:isset($role['rights']) && $role['rights'] && in_array($vo.mid,$role['rights']) ?' チェック済み':''}>
これは in_array($vo.mid,$role['rights']) から in_array($cvo.mid,$role['rights']) に変更されるはずです
それ以外の場合はすべてがチェックされます