Jump to content


Photo

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


  • Please log in to reply
3 replies to this topic

#1 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 28 April 2015 - 11:23 AM

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
  • 14448 posts
  • LocationMéxico

Posted 28 April 2015 - 11:53 AM

*-)

 

Olvidenlo amigos.

 

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

 

Saludos


  • 0

#3 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3486 posts
  • LocationMexico City

Posted 28 April 2015 - 04:55 PM

*-)

 

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 posts
  • LocationMy House @ México

Posted 14 May 2015 - 12:47 PM

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.