Я пытаюсь создать навигационную систему, где категории и подкатегории хранятся в массиве.
Это массив:
$navigation = array(
'users' => array(
'view' => 1,
'edit' => 1,
'delete' => 1,
'list' => 1
),
'profiles' => array(
'view' => 4,
'edit' => 4,
),
'projects' => array(
'new' => 3,
'edit' => 3,
'delete' => 1,
'list' => 2,
'mylist' => 3
)
);
С помощью этого массива я хотел бы пройти через каждый элемент, и если ранг пользователей равен или меньше значений (1, 2, 3), они показывают соответствующие ссылки. Но я не знаю, как начать с этого.
Надеюсь, это достаточно ясно!
foreach ($navigation as $category) {
// need to track if main categories have been output already
$category_already_output = false;
foreach ($category as $subcategory => $permission) {
if ($current_user_permission_level <= $permission) {
if ( ! $category_already_output ) {
// output your html for this main category nav here
$category_already_output = true;
}
// output your html for this subcategory here
}
}
}
EDIT: Вышеупомянутое предполагает, что вы не хотите показывать основную категорию, если у пользователя нет разрешений для любой из его подкатегорий. Если вы хотите показывать каждую основную категорию все время, вы можете упростить это:
foreach ($navigation as $category) {
// output main category html here
foreach ($category as $subcategory => $permission) {
if ($current_user_permission_level <= $permission) {
// output your html for this subcategory here
}
}
}
$category_already_output = false
и $category_already_output = true
? Спасибо!
if the users' rank is equal or lower than the values (1, 2, 3)
то какой рейтинг пользователей равен?