Foros del Web » Programando para Internet » PHP »

Cómo hacer las rutas: home>juegos>guerra>counter

Estas en el tema de Cómo hacer las rutas: home>juegos>guerra>counter en el foro de PHP en Foros del Web. Buenas a todos, Estoy acabando mi primer site en PHP y me encuentro con este problema. No se como hacer el sistema de navegación típico ...
  #1 (permalink)  
Antiguo 30/06/2003, 01:51
 
Fecha de Ingreso: marzo-2002
Mensajes: 9
Antigüedad: 22 años, 1 mes
Puntos: 0
Pregunta Cómo hacer las rutas: home>juegos>guerra>counter

Buenas a todos,

Estoy acabando mi primer site en PHP y me encuentro con este problema. No se como hacer el sistema de navegación típico de ...home>juegos>guerra>counter.

Es decir, es fácil ir añadiendo a una variable el nombre de la nueva sección, pero cómo hacer que al pulsar en uno de ellos (por ejemplo 'guerra' en mi ejemplo) reconozca todo lo que le precede? home y juegos?--- la idea es no tener que utilizar la BBDD ya que ralentizaria mucho el site.

Alguien sabria explicarme cómo se cera este tipo de navegación?

Muchas gracias!!

Marcos
  #2 (permalink)  
Antiguo 30/06/2003, 02:40
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 20 años, 10 meses
Puntos: 0
Conforme vas añadiendo la opcion ademas mete tambien el enlace.

Código PHP:
$menu .= "<A href=\"guerra.php\">Guerra</A> 
Es lo mas simple que se me ocurre.
__________________
CLUB ESPORTIU UNIVERSITAT DE VALENCIA

Visita la pagina de la UV-O



  #3 (permalink)  
Antiguo 30/06/2003, 16:26
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Alguien puede postear algun codigo al respecto???

Me parece muy interesante

saludos
  #4 (permalink)  
Antiguo 30/06/2003, 17:05
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Revisa esta clase http://spunge.mirrors.phpclasses.org...ckage/447.html

Hace exactamente lo que pides. Ya sea que quieras usarla o bien leer el código y pescar alguna idea.

Saludos!
__________________
Manoloweb
  #5 (permalink)  
Antiguo 30/06/2003, 20:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La classe que comenta Manoloweb (si mal no recuerdo) .. se trata de tener tu sitio estructurado en directorios (tantos como rámas veras en tu link de ese tipo) .. El "script" lo único que hace es leer el dirname() de la variable de servidor "PHP_SELF" (que es el nombre y ruta del script que lo está ejecutando) para quedarse con el nombre del directorio en el que estamos.

(bueno si no hace eso esa classe .. jeje .. esta es una opción muy simple de implementar)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 30/06/2003, 21:10
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
Cluster, yo tambien crei eso al principio porque nos leimos el demo (o algo asi...), pero despues averigue bien y en el primer enlace se encuentra la respuesta ;)

Salu2


PD: Cluster,, te me estas despistando ultimamente..xDD
__________________
http://www.chorcha.com
  #7 (permalink)  
Antiguo 01/07/2003, 09:07
 
Fecha de Ingreso: marzo-2002
Mensajes: 9
Antigüedad: 22 años, 1 mes
Puntos: 0
Existe otro problema!

Hola atodos y sobre todo agradecer vuestras repuestas, estaba desquiciado por este tema.

Estoy probando la clase que comentais, y claro, uno no domina estpo de las clases y por eso queria dar otro dato.

Las paginas por las que el futuro usuario navegará son dinamicas, es la misma plantilla para todas, peor a través de una variable cargo el contenido correcto.

Lo que no se es como "meter" el nombre de esta nueva variable (seccion) en esta clase que me indicais.

Yo empiezo en Portada, por ejemplo paso a Ocio y paso la variable $nombre=Ocio y la pagina carga el contenido de Ocio y asi sucesibamente.

La classe que veo muestra desde el dominio donde se aloja y eso no me interesa.

No se , es que estoy bastante pez con esto de las clases y no me aclaro y no se utilizar esta clase, si es que es lo que necesito. Alguien podria ser un poco mas explicativo! solo me falta esto para acabar mi primer site en PHP

Gracias a todos!!
Marcos
[email protected]
  #8 (permalink)  
Antiguo 01/07/2003, 09:23
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Bueno, ahi el tema se simplifica...

Entiendo que tu estructura debe ser algo así...

Código:
www.dominio.com/index.php?seccion=ocio&parte=chistes&zona=borrachos&chiste=14
Por lo tanto, tu solución puede ser mucho más fácil (si es que has estructurado uniformemente)

Código PHP:
$liga="";
$liga.=(isset($_GET["seccion"])) ? "<a href=\"index.php?seccion=".$_GET["seccion"]."\">".$_GET["seccion"]."</a>" "";
$liga.=(isset($_GET["parte"])) ? "&gt;<a href=\"index.php?seccion=".$_GET["seccion"]."&parte=".$_GET["parte"]."\">".$_GET["parte"]."</a>" "";
$liga.=(isset($_GET["zona"])) ? "&gt;<a href=\"index.php?seccion=".$_GET["seccion"]."&parte=".$_GET["parte"]."&zona=".$_GET["zona"]."\">".$_GET["zona"]."</a>" ""
Bueno, algo así se me ocurre.

Esto te daría como resultado algo como esto:

ocio>chistes>borrachos

Saludos!
__________________
Manoloweb

Última edición por Manoloweb; 01/07/2003 a las 09:26
  #9 (permalink)  
Antiguo 01/07/2003, 10:03
 
Fecha de Ingreso: marzo-2002
Mensajes: 9
Antigüedad: 22 años, 1 mes
Puntos: 0
Manoloweb, gracias por tu pronta respuesta!

con el codigo que me pasas creo que no resuelvo mi problema.

Todas las 'Secciones' que tengo estan en la misma tabla en la BBDD Secciones y subsecciones . Estas tienen un campo donde inserto a que seccion pertenecen, por ejempo si Viajes pertenece a Ocio Viajes en el campo 'asignado' de la BBDD podra Ocio.

Te explico esto para que entiendas que no tengo directorios y subdirectorios, todo est'a en el mismo 'paquete'.

Te escribo el c'odigo que me he inventado con el que muestro la ruta correcta tal y como yo quiero, pero con el que aun no se como, al pulsar encima de un link de una seccion que precede a la que estoy, muestre a su vez lassecciones anteriores en la navegaci'on:

___________________________________
//para la primera seccion donde ingresamos, no hay antecedentes , venimos de Principal
if (!isset($ruta)) {

//imprimo el valor principal por defecto que es Principal
echo "<a href=\"portada.php\">Principal</a>$nombre";

//Guardo en la variable 'ruta' el nombre de la seccion a la qeue se acaba de acceder
$ruta="<a href=\"sub.php?nombre=$nombre\">$nombre</a>";
}

//para las sigientes voy anadiendo lo anterior
else {

// creo una nueva variable con el hist'orico que tengo mas el valor del nombre de
//la seccion donde hemos accedido
$ruta2 = "$ruta > $nombre ";

//creo la variable con el link a la pagina correcta de la seccion
// esta variable es la que paso a traves del link cuando acceden a otra seccion
$ruta = "$ruta > <a href=\"sub.php?nombre=$nombre\">$nombre</a>";

//imprimo todo
echo "<a href=\"portada.php\" class=\"txtrut\">Principal</a> $ruta2";
}



// en los links para acceder paso el nombre de la seccion a la que quiero acceder y el historico de $ruta
<a href='sub.php?nombre=$registro[nombre]&ruta=$ruta>link</a>
________________________________________________
Creo que con estos datos te podras hacer una mejor idea de cual es mi problema.

No se.. pero la solucion puede ser ir metiendo los nombres de las secciones a las que accedo en un Array y al imprimir recorra el array añadiendo la url a la pagina con un IF que si la seecion pasada (al apretar encima de los botones de navegacion que estamos creando Principal : Ocio : viajes : jamaica) sea igual a la que hay en el array, entonces hacemos un exit(); ??

Si crees que esto es uns posible solución, pues lo cieryto que que tampoco sabria como escribirla... no se, se te ocurre algo Manoloweb!

Gracias , de verdad por tu ayuda y paciencia!!!

Saludos
Marcos
  #10 (permalink)  
Antiguo 03/07/2003, 09:57
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Hola a todos:

Con relacion a este mensaje me gustaria saber si existe algun script o alguna forma sencilla de crear los enlaces con la forma que se explica en el asunto del mensaje.

Gracias a todos
  #11 (permalink)  
Antiguo 03/07/2003, 10:43
 
Fecha de Ingreso: marzo-2002
Mensajes: 9
Antigüedad: 22 años, 1 mes
Puntos: 0
A ver Operadormail.. al final lo he conseguido a traves de este codigo:

<?php
// al entrar en la primera página no tenemos antecedentes
if (!isset($ruta)) {

echo "<a href=\"portada.php\">Principal</a> > $nombre";

$ruta ="$nombre" ;
}
else {

// si ya hemos entrado en una segunda página
$ruta = "$ruta;$nombre" ;// añado al nombre de la seccion que tengo el de la nueva seccion


// encontramos el valor de ruta hasta la seccion activa
$toFind = "$nombre";
$result = strrev($result);
$result = str_replace( strchr($ruta, $toFind), "", $ruta);
$text_len = strlen($result);
$result = substr($result,0,$text_len-1);

// si $result esta vacio solo tendrña el valor de la seccion donde estamos
if ($result==""){
$ruta = "$nombre";
}
else{

$ruta = "$result;$nombre";
}
// en mi caso Pportada es la principal y es fija en todas las páginas, por lo tanto lo meto manualmente
echo "<a href=\"portada.php\">Portada </a>";

// como se van sumando las secciones, imprimimos hasta la seccion activa y no imprimimos el resto
$menu = split(";", $ruta);
$count = count($menu);
for ($i=0; $i<=$count; $i++)
{
if ($menu[$i]==$nombre) // si dentro de la cadena encuentra el mismo nombre de la seccion activa, nos vamos
{
break;
}
//imprimo cada seccion separado por el signo '>'
echo "<b>></b> <a href=\"sub.php?nombre=$menu[$i]&ruta=$ruta\">$menu[$i]</a>";

}
// despues imprimo la seccion activa
echo " > $nombre";
}
?>

Las urls dentro de la pagina deben ser asi:

<a href='compara.php?nombre=$nombre_de_la_nueva_secci ona_adonde_vas&ruta=$ruta'>tu link</a>
  #12 (permalink)  
Antiguo 03/09/2007, 16:38
 
Fecha de Ingreso: diciembre-2006
Mensajes: 5
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Cómo hacer las rutas: home>juegos>guerra>counter

y para poner las direcciones asi ej: pagina.com/ocio/chistes/borrachos/14/

que se usa?
  #13 (permalink)  
Antiguo 03/09/2007, 16:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Cómo hacer las rutas: home>juegos>guerra>counter

Porfavor no revivas temas tan viejos, es preferible iniciar un tema nuevo y mas cuando el tema es algo difernte.

Para contestar a tu pregunta lo que haces es utilizar mod_rewrite de Apache para reescribir las URLs.

Saludos.
  #14 (permalink)  
Antiguo 03/09/2007, 17:05
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: Cómo hacer las rutas: home>juegos>guerra>counter

Juas. Pensé que Cluster había vuelto, ¡qué cosas!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:09.