Hero

Cómo validar los paths usando Drupal 7

Julio 13, 2013

estebanvalerioh
Drupal
Desarrollo de Modulos

Si hemos trabajado con el sistema de bloques de Drupal, recordaremos que al final de la página de configuración del bloque es posible configurar que nuestro bloque se muestre solo en ciertas páginas, y en las indicaciones nos dicen de ingresar una regla en cada línea con la opción de usar el comodín *.

Es muy probable que necesitemos hacer algo así en nuestros módulos personalizados para realizar alguna acción especifica es caso de que la validación sera satisfactoria.

Primero definiremos una función para que pueda ser llamada en cualquier circunstancia requerida por nuestro sitio web. A continuación el listado de la implementación.

function pruebas_validar_path_alias() {
  // Defino los paths a los que el usuario va a tener acceso.
  $paths = "mi-path/*\n";
  $paths .= "mis-otros-paths/*\n";
  $paths .= "usuarios/*";

  // Obtengo el path alias de la página actual
  $alias = drupal_get_path_alias();

  if (!drupal_match_path($alias, $paths)) {
    // El usuario NO está en un path con acceso
  }
  else {
    // El usuario está en un path con acceso.
  }
} 

En la función genero 3 rutas distintas una por linea y es posible usar el comodín ’*’, y con estos se validaran las rutas a los que el usuario tiene acceso.

Seguidamente hago la validación usando la función drupal_match_path e indico indico el lugar para colocar el código a ejecutarse en caso que la ruta tenga acceso o no.

Espero les sea de utilidad,

Saludos.

Recibe consejos y oportunidades de trabajo 100% remotas y en dólares de weKnow Inc.