Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/11/2013, 06:52
JUMASOL
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 6 meses
Puntos: 8
Problema en selección de niveles url

Hola a todos.

Tengo esta función para inserción de un css a partir de un número determinado de niveles en el url.

Código:
<?php
if (substr_count($_SERVER['REQUEST_URI'], '/') === 4) {
   echo '<link href="/css/archivo.css" rel="stylesheet" type="text/css" />'; 
}  
?>
Funciona perfectamente.

El problema es que he instalado idiomas y ahora la cosa se ha complicado.

Imaginemos esta url:

www. el sitio .com/nivel1/nivel2/nivel3/nivel4

El css se insertaría cuando estemos en "nivel4" sin problemas.

Pero al instalar idioma inglés (necesito el sufijo en el url por otro tema), queda así:

www. el sitio .com/en/nivel1/nivel2/nivel3/nivel4

Y ya no funciona, así que tendrías que instalar otra función:


Código:
<?php
if (substr_count($_SERVER['REQUEST_URI'], '/') === 5) {
   echo '<link href="/css/archivo.css" rel="stylesheet" type="text/css" />'; 
}  
?>
Y solucionado.

Pero lo que ocurre es que ahora la primera función afectaría a "nivel3" en la versión en inglés, ya que es el cuarto nivel en tal url.

No voy a cambiar este sistema porque ya he realizado múltiples cambios y adaptaciones.

Se trata de encontrar la fórmula de articular esto para que la primera función hasta el cuarto nivel no funcione en la versión lingüística. Introducir una excepción o articularlas de alguna forma en que esto no ocurra.

¿Me podéis orientar de alguna forma?

Gracias.