 |
| Pomohol vám tento článok? |
| áno |
|
50% |
[ 3 ] |
| áno |
|
50% |
[ 3 ] |
| nie |
|
0% |
[ 0 ] |
|
| Celkom hlasov: 6 |
|
 |
Odkazy otvárajúce sa v novom okne
Návod určený pre: phpBB 3
ID Článku: 145
Preložil: drndos
Napísal: zeroK
Dňa: Ne Jan 13, 2008 14:32
Popis: Tento návod vám vysvetlí ako spraviť v phpBB3 to aby sa odkazy otvárali v novom okne.
Odkaz na originál článok:
Knowledge Base - Links Opening New Windows
________________________________________
V porovnaní s phpBB3 u phpBB2 mali odkazy trochu iný charakter: Ak ste na nejaký klikli tak sa otvoril v novom okne s požadovanou stránkou. Avšak u phpBB3 je táto funkcia zmenená a odkazy sa otvárajú v tom istom okne a to z viacerých dôvodov, jedným z najvážnejších dôvodov je aby sa dosiahla úplná kompatibilita pre celé fórum so štandardom XHTML 1.0 Strict.
Ak chcete využívať funkciu otvárania nového okna aj vo vašom phpBB3 fóre, je tu pár úprav, ktoré je potrebné spraviť, tento návod vám ukáže ako to máte spraviť.
Úprava automaticky zistených odkazov
Na začiatok musíme spraviť odkazy, ktoré sa v príspevku zisťujú automaticky tak aby sa otvárali v novom okne (to sú tie ktoré nedáte do značky URL) Takže si otvorte includes/functions_content.php a nájdite nasledujúci riadok (mal by byť okolo riadku 592 v nemodifikovanom fóre):
| kód: |
| $html = "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append"; |
a nahraďte to týmto riadkom:
| kód: |
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 adresy
V ďalšom kroku otvorte bbcode.html vo vašom štýle (ak používate prosilver tak súbor bude bude styles/prosilver/template/bbcode.html) a nájdite tento riadok:
| kód: |
| <!-- BEGIN url --><a href="{URL}" class="postlink">{DESCRIPTION}</a><!-- END url --> |
Ten nahraďte týmto riadkom:
| kód: |
| <!-- BEGIN url --><a href="{URL}" onclick="window.open(this.href);return false;" class="postlink">{DESCRIPTION}</a><!-- END url --> |
Úprava aby phpBB mohlo prečítať výstup
Posledný ale dosť dôležitý krok, mali by ste vykonať aj túto zmenu, ktorá umožní phpBB aby znovu rozobralo (parsovanie) HTML výstup (keď nechápete nevadí proste to spravte ): Otvorte includes/functions.php a nahraďte túto časť kódu, ktorý je okolo riadku 2740 (pri novo nainštalovanom fóre)...
| kód: |
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',
); |
... s touto časťou:
| kód: |
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',
); |
Ako náhle aktualizujete súbor z štýlu je potrebné prečistiť cache (vyrovnávaciu pamäť), je to uskutočniteľné pomocou tlačidla na prednej strane administračného panelu.
Preložil drndos |
Sikovna vec za ktoru dakujem. Podarilo sa mi to az na druhy krat, ked som si vsimol ze som upravoval nespravny template.
Potreboval by som mensiu upravu otvarania novych okien tak, aby sa pri kliku na link nove okno otvorilo, ale aktualne by zostalo povodne okno.
Za radu dakujem!
KajaK
btw.. v hlasovani je dva krat uvedene nie.. ale mne ten clanok pomohol  |
super návod, vďaka, ako úplnému začiatočníkovi sa mi to podarilo na prvý krát... dokonca aj na template som si dal pozor
tiež nehlasujem, lebo je tam dva krát "nie" |
| neviem nejaká chyba asi... |