Página 1 de 1

Abrir enlaces en ventana nueva  Tema Solucionado

Publicado: 19 Oct 2014, 10:51
por Carlos Murillo
Links Opening New Windows
Artículo ID: 145
Escrito por: zeroK
Escrito el: dom 13 de enero 2008 2:32 pm
Descripción: Hace que los enlaces se abran en una ventana nueva.

En comparación con phpBB3, los vínculos de phpBB2 tenido un comportamiento ligeramente diferente: Cuando se les hace clic, se abre una nueva ventana con la página solicitada. Esto cambió en phpBB3 por un par de razones, pero una de las más importantes fue el objetivo de lograr XHTML 1.0 Strict la validación de todo el tablero.

Si usted todavía desea tener el mismo comportamiento en su nueva placa phpBB3, hay un par de pequeñas modificaciones tienen que hacer, que ojalá esta guía debe explicar en detalle suficiente.

Modificar, detecta automáticamente los enlaces

En primer lugar, que detecta automáticamente los enlaces (los que no se envuelva con la url-BBCode) abrir nuevas ventanas al conseguir hacer clic. Ello abre la includes/functions_content.php y buscar la siguiente línea (que debe ser alrededor de la línea 592):

Código: Seleccionar todo

        $html    = "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";
Y remplazarla por la siguiente línea:

Código: Seleccionar todo

        if ($type == MAGIC_URL_EMAIL)
        {
            $html    = "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";    
        }
        else 
        {
            $html    = "$whitespace<!-- $tag --><a$class href=\"$url\" onclick=\"window.open(this.href);return false;\">$text</a><!-- $tag -->$append";
        }
BBCode URLs

A continuación abrir bbcode.html de su estilo (si estás utilizando prosilver, este sería styles/prosilver/template/bbcode.html) y buscar la siguiente línea:

Código: Seleccionar todo

    <!-- BEGIN url --><a href="{URL}" class="postlink">{DESCRIPTION}</a><!-- END url -->
Reemplazarlo con esta línea:

Código: Seleccionar todo

<!-- BEGIN url --><a href="{URL}" onclick="window.open(this.href);return false;" class="postlink">{DESCRIPTION}</a><!-- END url -->
Ayuda phpBB leer la salida de nuevo

Por último, pero no menos importante, también debe hacer el siguiente cambio que permitirá la salida de HTML creado para ser analizado de nuevo por phpBB:
Abra: includes/functions.php y reemplazar este segmento que usted debe encontrar alrededor de la línea 2740 ...

Código: Seleccionar todo

          case 'bbcode_htm':
             return array(
                '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
                '#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&|\?)sid=[0-9a-f]{32})?">.*?</a><!\-\- l \-\->#',
                '#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
                '#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
                '#<!\-\- .*? \-\->#s',
                '#<.*?>#s',
             );
... con esto:

Código: Seleccionar todo

          case 'bbcode_htm':
             return array(
                '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
                '#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&|\?)sid=[0-9a-f]{32})?" onclick="window\.open\(this\.href\);return false;">.*?</a><!\-\- l \-\->#',
                '#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)" onclick="window\.open\(this\.href\);return false;">.*?</a><!\-\- \1 \-\->#',
                '#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
                '#<!\-\- .*? \-\->#s',
                '#<.*?>#s',
             );
Y ya por ultimo se tiene que actualizar la plantilla y purgar el cache del foro

Nota: El cambio no afectará a los puestos existentes, se deben modificar para que puedan ser reprocesados.

Traducción por mi si no le entienden en algunas partes es que yo ando con el ingles un 90% :D

Fuente http://www.phpbb.com/kb/article/links-o ... w-windows/