Ir al contenido


Foto

Como indicar que un enlace se muestre en otra ventana/pestaña


  • Por favor identifícate para responder
3 respuestas en este tema

#1 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 28 abril 2015 - 11:23

Pues eso, estoy dando mis primeros pasos en éste tema y me topé con un detalle que no he podido encontrar surfeando en la red.

 

El punto es, como dice el título, en el siguiente código, como le indico que el enlace lo abra en otra ventana/pestaña.


php
  1. <!--Manual de PHP-->
  2. <html>
  3. <head>
  4. <title>Manual de PHP.</title>
  5. </head>
  6. <body>
  7. <?php
  8. $menu=array(
  9. 'titulo' => 'Pagina 1',
  10. 'enlace' => 'primero.php'
  11. ),
  12. 'titulo' => 'Pagina 2',
  13. 'enlace' => 'segundo.php'
  14. ),
  15. 'titulo' => 'Pagina 3',
  16. 'enlace' => 'http://www.delphiaccess.com'
  17. )
  18. );
  19.  
  20. function mostrarEnlace($menu,$class)
  21. {
  22. if($menu['enlace'])
  23. {
  24. echo "<a href='".$menu['enlace']."'>";
  25. }
  26.  
  27. echo "<li class='".$class."'>";
  28. echo $menu['titulo'];
  29. echo "</li>";
  30.  
  31. if($menu['enlace'])
  32. {
  33. echo "</a>";
  34. }
  35. }
  36.  
  37. echo "<nav>";
  38. echo "<ul>";
  39.  
  40. for($i = 0; $i < count($menu); $i++)
  41. {
  42. mostrarEnlace($menu[$i], "menu");
  43. }
  44. echo "<ul>";
  45. echo "</nav>";
  46. ?>
  47. </body>
  48. </html>

Según mi poco entendimiento, debo utilizar la etiqueta target, y la he puesto en la siguiente línea:


php
  1. echo "<a href='".$menu['enlace']."'target="_blank">";

Pues nada, sigue abriendo el enlace en la misma ventana/pestaña

 

Alguien que me pueda orientar :)

 

Saludos


  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 28 abril 2015 - 11:53

*-)

 

Olvidenlo amigos.

 

Se me olvidó que había que presionar la tecla F5.  :embarrassed:  :lipsrsealed:

 

Saludos


  • 0

#3 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 28 abril 2015 - 04:55

*-)

 

Olvidenlo amigos.

 

Se me olvidó que había que presionar la tecla F5.  :embarrassed:  :lipsrsealed:

 

Saludos

 

La maldita costumbre amigo :p

 

Saludox ! :)


  • 0

#4 porfi.dev

porfi.dev

    Advanced Member

  • Miembros
  • PipPipPip
  • 183 mensajes
  • LocationMy House @ México

Escrito 14 mayo 2015 - 12:47

Ouch !!! :( men aquí te paso el refactor de tu código.

 

Intenta no meter tanto "echo" y que las estructura HTML se hagan por fuera.


php
  1. <?php
  2. $menu = [
  3. [
  4. 'titulo' => 'Pagina 1',
  5. 'enlace' => 'primero.php'
  6. ],
  7. [
  8. 'titulo' => 'Pagina 2',
  9. 'enlace' => 'segundo.php'
  10. ],
  11. [
  12. 'titulo' => 'Pagina 3',
  13. 'enlace' => 'http://www.delphiaccess.com'
  14. ]
  15. ];
  16.  
  17. function mostrarEnlace($menu, $class){
  18. $temp = "";
  19. $temp .= "<li class='" . $class . "'>";
  20. $temp .= $menu['titulo'];
  21. $temp .= "</li>";
  22.  
  23. if (isset($menu['enlace']) && $menu['enlace'] != "") {
  24. return "<a href='" . $menu['enlace'] . "'>" . $temp . "</a>";
  25. }
  26.  
  27. return $temp;
  28. }
  29.  
  30. for ($i = 0; $i < count($menu); $i++) {
  31. $elementosLista .= mostrarEnlace($menu[$i], "menu");
  32. }
  33. $lista .= "<ul>" . $elementosLista . "</ul>";
  34.  
  35. ?>
  36.  
  37. <!--Manual de PHP-->
  38. <html>
  39. <head>
  40. <title>Manual de PHP.</title>
  41. </head>
  42. <body>
  43. <nav>
  44. <?php echo $lista; ?>
  45. </nav>
  46. </body>
  47. </html>


  • 0




IP.Board spam blocked by CleanTalk.