phpBB: Отваряне на линковете в нов прозорец

Opening links in new Windows / Tab

Това е по-разширен вариант на Отваряне на линкове в нов прозорец ( phpbb3 )

В сравнение с phpBB3, връзките в phpBB2 имаха малко по-различно поведение: Когато щракнете върху тях, те се отвориха нов прозорец с исканата страница. Това беше променено в phpBB3 поради няколко причини, но една от най-важните беше целта да се постигне XHTML 1.0 Strict-validation за целия съвет.

Ако все пак искате да получите същото поведение в phpBB3, трябва да направите няколко малки модификации.

Промяна на автоматично откритите връзки

На първо място, направете автоматично разпознатите връзки (тези, които не сте обгърнали с url-BBCode), да се отварят в нови прозорци, когато щракнете върху тях. За това отворете include / funtions _content.php и потърсете следния ред (който трябва да е около линия 592):

Намерете:

$html    = "$whitespace<!-- $tag --><a$class href="$url">$text</a><!-- $tag -->$append";

И го заменете със следния код:

    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 URL адреси

След това отворете bbcode.html на вашия темплейт (ако използвате prosilver, това ще бъде файлът styles/prosilver/template/bbcode.html) и потърсете следния ред:

<!-- BEGIN url --><a href="{URL}" class="postlink">{DESCRIPTION}</a><!-- END url -->

И го заменете със следния код:

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

Не на последно място, трябва да направите и следната промяна, която ще позволи на създадения HTML код да се анализира отново от phpBB: Отворете includes/functions.php
намерето този код:

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

И го заменете със следния код:

      case 'bbcode_htm':
         return array(
            '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
            '#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&amp;|\?)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',
         );

Влезте в админ панела на форума и изчистете кеша.

Поставяне на nofollow атрибут.

На 10 ceптeмвpи, 2019 гoдинa, нa cтpaницитe нa Gооglе Wеbmаѕtеr Сеntrаl Вlоg ce пoявиxa paзяcняниe и нaпътcтвия зa изгpaждaнeтo нa вpъзĸи мeждy caйтoвeтe.

dоfоllоw – вpъзĸa бeз aтpибyт, ĸoятo cпoдeля lіnk јuісе и peйтинг c дaдeн caйт. Не прекалявайте зaщoтo тoвa мoжe дa дoвeдe дo нaĸaзaниe oт Gооglе.

rеl=”ѕроnѕоrеd” – c тoзи aтpибyт cлeдвa дa ce oбoзнaчaвaт вcичĸи peĸлaмни вpъзĸи, ĸaĸтo и вpъзĸи зa cпoнcopcтвo и ĸoмпeнcaциoнни cпopaзyмeния.

rеl=”ugс” – тoзи нoв aтpибyт cлeдвa дa ce изпoлзвa глaвнo пpи ĸoмeнтapи, фopyмни пyблиĸaции и дpyги вpъзĸи, ĸoитo мoгaт дa възниĸнaт в гeнepиpaнo oт cтpaнa нa пoтpeбитeлитe cъдъpжaниe. UGС e cъĸpaтeнo oт Uѕеr Gеnеrаtеd Соntеnt. Toвa e тoчнo cъдъpжaниe, cъздaдeнo oт вcичĸи пoлзвaтeли нa дaдeн caйт.

rеl=”nоfоllоw” – дoбpият cтap пoзнaйниĸ вce oщe e в игpaтa. Kaзaнo нa пo-пpocт eзиĸ – иcĸaш дa cъздaдeш линĸ, нo бeз ĸaĸвoтo и дa e oбвъpзвaнe мeждy твoя caйт и чyждия.

Ето как може да го вмъкнете в по-горните примери:

		
		        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;\" rel=\"nofollow\">$text</a><!-- $tag -->$append";
        } 
<!-- BEGIN url --><a href="{URL}" onclick="window.open(this.href);return false;" rel="ugc nofollow" class="postlink">{DESCRIPTION}</a><!-- END url -->
			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;" rel="ugc nofollow">.*?</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',
);

One Reply to “phpBB: Отваряне на линковете в нов прозорец”

Вашият коментар