Skip to content

Navegación

La navegación le permite a usted o a su equipo mostrar enlaces dinámicos que se adaptan automáticamente a los permisos del usuario. Si bien esto se puede lograr de forma básica en Laravel usando directivas Blade, cuando se tienen estructuras de árbol complejas con nodos anidados, gestionar la navegación se vuelve un proceso tedioso.

Considere el siguiente escenario de estructura de módulos:

módulo_A
sub_módulo_A1
sub_módulo_A2
módulo_B
sub_módulo_B1
sub_módulo_B2

Para mostrar un enlace de navegación al módulo A, normalmente se apuntaría directamente a uno de sus sub-módulos. Sin embargo, si el usuario no tiene permiso para acceder al sub_módulo_A1, será redirigido a una ruta no autorizada.

Laravel Routing Kit resuelve este problema proporcionando navegación inteligente que:

  • Detecta automáticamente qué rutas están disponibles para el usuario
  • Redirige al primer sub-módulo accesible
  • Oculta enlaces completamente inaccesibles
  • Mantiene una estructura de navegación limpia y funcional

La configuración de navegación se encuentra en config/routingkit.php:

config/routingkit.php
'navigators_file_path' => [
'default_file' => 'headerDashboard',
'items' => [
'dashboard_navigators' => [
'path' => base_path('routingkit/Navigation/central/rkNavigation.php'),
'support_file' => "object_file_plain",
'only_string_support' => true,
],
]
]
  • default_file: Archivo de navegación usado por defecto cuando se inserta en la raíz
  • items: Array de configuraciones de archivos de navegación, donde la clave sirve como identificador único
  • path: Ubicación del archivo de navegación. Por defecto, el paquete genera un archivo en routingkit/Navigation/rkNavigation.php
  • support_file: Tipo de soporte del archivo (ver Conceptos Básicos)
  • only_string_support: Habilita soporte únicamente para cadenas (ver Conceptos Básicos)

El paquete crea automáticamente la estructura de carpetas necesaria:

routingkit/
└── Navigation/
└── rkNavigation.php
└── [otros archivos de navegación]

Puede crear archivos adicionales en esta carpeta o especificar rutas alternativas según sus necesidades.

Una vez configurada la navegación, puede utilizarla en sus vistas para mostrar menús dinámicos que respetan automáticamente los permisos del usuario actual.

La navegación se integra seamlessly con el sistema de permisos de Laravel Routing Kit, asegurando que los usuarios solo vean y puedan acceder a las secciones apropiadas de su aplicación.