| @@ -76,13 +76,25 @@ | ||
| 76 | 76 | { |
| 77 | 77 | $menu = [ |
| 78 | 78 | 'label' => __('Products', 'fluent-cart'), |
| 79 | 79 | 'link' => $baseUrl . 'products', |
| 80 | - 'permission' => ['products/view'] | |
| 80 | + // Any-of: a reviews-only role (reviews/manage without | |
| 81 | + // products/view) must still see the parent, or its authorized | |
| 82 | + // Reviews child could never render. Children gate individually — | |
| 83 | + // including on the reviews module being switched on at all. | |
| 84 | + 'permission' => ['products/view', 'reviews/manage'] | |
| 81 | 85 | ]; |
| 82 | 86 | |
| 83 | 87 | $children = []; |
| 84 | 88 | |
| 89 | + // The parent link is not reachable on touch (the tap opens the dropdown), | |
| 90 | + // and the off-canvas menu renders children only — so list it as a child too. | |
| 91 | + $children['all_products'] = [ | |
| 92 | + 'label' => __('All Products', 'fluent-cart'), | |
| 93 | + 'link' => $baseUrl . 'products', | |
| 94 | + 'permission' => ['products/view'] | |
| 95 | + ]; | |
| 96 | + | |
| 85 | 97 | // Attributes power the advanced-variations feature. |
| 86 | 98 | $children['product_attributes'] = [ |
| 87 | 99 | 'label' => __('Attributes', 'fluent-cart'), |
| 88 | 100 | 'link' => $baseUrl . 'products/attributes', |
| @@ -95,8 +107,19 @@ | ||
| 95 | 107 | $children['product_inventory'] = [ |
| 96 | 108 | 'label' => __('Inventory', 'fluent-cart'), |
| 97 | 109 | 'link' => $baseUrl . 'products/inventory', |
| 98 | 110 | 'permission' => ['products/view'] |
| 111 | + ]; | |
| 112 | + } | |
| 113 | + | |
| 114 | + // Only while the store has reviews switched on. The screen behind it | |
| 115 | + // already redirects to the dashboard when the module is off, so an | |
| 116 | + // entry here would be a menu item that bounces whoever clicks it. | |
| 117 | + if (ModuleSettings::isActive('reviews')) { | |
| 118 | + $children['reviews'] = [ | |
| 119 | + 'label' => __('Reviews', 'fluent-cart'), | |
| 120 | + 'link' => $baseUrl . 'reviews', | |
| 121 | + 'permission' => ['reviews/manage'] | |
| 99 | 122 | ]; |
| 100 | 123 | } |
| 101 | 124 | |
| 102 | 125 | $menu['children'] = $children; |