Web sayfamız sadece phpBB 3.0.x sürümlerine destek vermektedir. Konu açmadan, ileti yazmadan önce lütfen site kuralları sayfamıza göz atınız.

[FIX] Linklerin Yeni Pencerede Açılması

[FIX] Linklerin Yeni Pencerede Açılması

İleti Scorpion 10 Tem 2007 10:16

phpBB3'ün bence en büyük eksikliği mesajlardaki linklerin yeni pencere açılmaması bir çok düzenleme baktım test ettim hepsinde bazı hatalar mevcut.

Gerçi Firefox tarayıcında linke farenin orta tuşuna basınca linkler yeni pencerede açılıyorya, hala IE kullanan çok.

Bu bir mod değil basit bir düzenleme ama herkesin soracağı bir konu olduğundan şimdilik mod duyurularında olması uygun olur.

bu düzenlemeyi kurduğumuzda yanlızca [url]link[/url] ve [url=link]Metin[/url] içine almadığımız direk linki yapıştırdığımız site içi linklerimiz aynı pencere açılır, diğer tüm linkler ve site dışı linkler yeni pencerede açılır.

Düzenlemeyi yaptıktan sonra yönetimden zulaları temizlemeyi unutmayın ve bu uygulamayı yaptıktan sonraki linkleri kapsar, önceki mesajlarda çalışması için mesajı düzenleyip kaydetmemiz lazım

Kod: Tümünü seç
# ----- AÇ -----------
includes/functions.php

# ----- BUL -----------
      $class = ($static_class) ? ' class="' . $static_class . '"' : '';

# ----- BUNUNLA DEĞİŞTİR -----------
      $class = ($static_class) ? ' class="' . $static_class . '" target="_blank"' : '';

# ----- AÇ -----------
styles/prosilver/template/bbcode.html

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

# ----- BUNUNLA DEĞİŞTİR -----------
<!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url -->

# ----- KAYDET ve KAPAT -----------
Scorpion
kullanıcı
kullanıcı

İleti: 17
Kayıt: 01 Nis 2007 18:31
Konum: İstanbul
İsim: Furkan
HTML: İyi
CSS: Başlangıç
PHP: Orta
phpBB3: İyi
Sürüm: phpBB3 GOLD

Re: [FIX] Linklerin Yeni Pencerede Açılması

İleti ALEXIS 10 Tem 2007 13:50

Bunun ile ilgili up uzunnn bir çalışma var geliştirme bölümünde, hatta phpbb.com da yazımı bulabilirsin, önceki mesajlar için SQL REPLACE yazmıştım, ancak sonuç olarak bunun yapılamayacağını söyleyip durdular, oysa ben ufak bir tırnak hilesi ile bunu %100 başardım.

ALEXIS yazdı:Konu hakkında:

eklenti geliştirme forumuna taşındı, bir konudan bu konuya linmk vardı artık çalışmaz.


Eklenti hakkında:

Şimdi 3 tür link verilebiliyor, 2 si bbcode.html kodlarını kullanan URL etiketi ile verilen linkler, diğeri ise "magic url" dediğimiz olay.


bbcode.html yi görmezden gelmişsiniz.

Şu şekildeki kullanımlar bbcode.html den alıyor html kodları,

Kod: Tümünü seç
[url=http://www.canver.net]url-test[/url]
[url]http://www.canver.net[/url]


Bu ise magic url denen olaya tabi tutuluyor.

Kod: Tümünü seç
http://www.canver.net




İlk iletideki eklenti işe yaramıyor magic url için, ancak bbcode.html için aşağıdaki kod işe yarıyor:

Kod: Tümünü seç
<!-- BEGIN url --><a href="{URL}" class="postlink" target="_blank">{DESCRIPTION}</a><!-- END url -->


$class köısmına eklemek yerine, benim ilk yaptığım daha iyi bir yer, ancak eklediğim kodlar görünmüyor kaynak kodunda (eski linklerde görünmüyor, yenilerde ise görünüyor):

Kod: Tümünü seç
$html   = "$whitespace<!-- $tag --><a$class href=\"$url\" target=\"_blank\">$text</a><!-- $tag -->$append";



Eski iletilerdeki magic url türü linklere neden etki etmediğine gelince, ileti html olarak saklanıyor veritabanında, örneğin test veritabanımdaki url nin bulunduğu post_text alanı:

Kod: Tümünü seç
<!-- m --><a class="postlink" href="http://www.canver.net">http://www.canver.net</a><!-- m -->


Bunu gidermek içinde SQL REPLACE yapacağız.

Kod: Tümünü seç
UPDATE phpbb_posts SET post_text = REPLACE(post_text, '<a class=', '<a target="_blank" class=');


buraya kadar tamam, ancak RC2 de sadece magic url içeren bir konudan sonraki iletiler görünmüyor, nedeni ise kapatılmamış tırnak, yukarıdaki gibi bir uygulama sonucu aşağıdaki iletiyi yazmış oluyoruz:

Kod: Tümünü seç
http://www.canver.net" href="_blank


Bunun sebebi de çift tırnak bir yede tacize uğruyor, tek tırnak kullandığımızda istediğimiz sonucu alıyoruz oysa:

Kod: Tümünü seç
$html   = "$whitespace<!-- $tag --><a$class href=\"$url\" target='_blank'>$text</a><!-- $tag -->$append";


Tırnağı taciz eden yeri bulamadım...




Konu ile ilgili linkler:

Standards compliant external links
http://www.stsoftware.biz/forum/showthread.php?p=980

Links in New Window
http://www.easytutorials.org/phpbb3_pro ... indow.html

Make links open in new window?
http://www.phpbb.com/community/viewtopi ... 4&t=544729

Benim soru
http://www.phpbb.com/community/viewtopi ... 3#p3064173
ALEXIS
yönetici
yönetici

Kullanıcı avatarı

İleti: 3628
Kayıt: 03 Arl 2006 08:57
HTML: Çok iyi
CSS: İyi
PHP: İyi
phpBB3: Çok iyi
Sürüm: phpBB 3

Re: [FIX] Linklerin Yeni Pencerede Açılması

İleti Scorpion 11 Tem 2007 08:46

Senin yazdığın daha kolay gibi gözüktü bana. 8O

Bunu denedim %100 çalışıyor, şimdide seninkini deneyeceğim. :)

Senin yazdığınıda test ettim o da %100 sorunsuz çalışıyor.. 8) Ama gerçekten bana seninki daha kolay gibi göründü. :?
Scorpion
kullanıcı
kullanıcı

İleti: 17
Kayıt: 01 Nis 2007 18:31
Konum: İstanbul
İsim: Furkan
HTML: İyi
CSS: Başlangıç
PHP: Orta
phpBB3: İyi
Sürüm: phpBB3 GOLD

Re: [FIX] Linklerin Yeni Pencerede Açılması

İleti ALEXIS 11 Tem 2007 10:08

tek tırnak mı, çift tırnak mı kullandın

target='_blank'

target="_blank"


RC3'te denemedim, tüm testler RC2 ile yapıldı.
ALEXIS
yönetici
yönetici

Kullanıcı avatarı

İleti: 3628
Kayıt: 03 Arl 2006 08:57
HTML: Çok iyi
CSS: İyi
PHP: İyi
phpBB3: Çok iyi
Sürüm: phpBB 3

Re: [FIX] Linklerin Yeni Pencerede Açılması

İleti Scorpion 12 Tem 2007 08:21

target="_blank"

Sanırsam bunu kullanmıştım, bende RC 2'de test ettim bilgisayarımda sadece RC2 varmış. :?
Scorpion
kullanıcı
kullanıcı

İleti: 17
Kayıt: 01 Nis 2007 18:31
Konum: İstanbul
İsim: Furkan
HTML: İyi
CSS: Başlangıç
PHP: Orta
phpBB3: İyi
Sürüm: phpBB3 GOLD

Re: [FIX] Linklerin Yeni Pencerede Açılması

İleti ALEXIS 16 Tem 2007 00:09

Bu arada RC3 prosilver'ın doküman tipi strict olarak değiştirildi ve yanlış hatırlamıyorsam bu en katı XHTML dir, strict setinde target="_blank" kullanılamaz.

Doküman tipi değiştirilebilir veya js yardımı ile fix edilebilir.

Kod: Tümünü seç
onclick="this.target='_blank'"
ALEXIS
yönetici
yönetici

Kullanıcı avatarı

İleti: 3628
Kayıt: 03 Arl 2006 08:57
HTML: Çok iyi
CSS: İyi
PHP: İyi
phpBB3: Çok iyi
Sürüm: phpBB 3

Re: [FIX] Linklerin Yeni Pencerede Açılması

İleti Scorpion 25 Tem 2007 10:51

RC3 kullanmadığım için sorun yok. :mrgreen: Genede bilgilendirme için saol. :)
Scorpion
kullanıcı
kullanıcı

İleti: 17
Kayıt: 01 Nis 2007 18:31
Konum: İstanbul
İsim: Furkan
HTML: İyi
CSS: Başlangıç
PHP: Orta
phpBB3: İyi
Sürüm: phpBB3 GOLD

Re: [FIX] Linklerin Yeni Pencerede Açılması

İleti saka 01 Ağu 2007 21:44

Merhaba,
İlk mesajda yazan halini denedim. Subsilver 2 de ve rc4 de sorunsuz çalışıyor.
Bir sorum olacak. Linki yeni bir tab ta açıyor ve açtığı tab ön plana çıkıyor.
Oysa ben aynı linke sağ tıklayıp yeni tab da aç dersem. Açılan tab arka planda kalabiliyor.

Acaba linke tıklayınca gelen sayfanın arka planda kalması nasıl sağlanır?
saka
kullanıcı
kullanıcı

İleti: 203
Kayıt: 29 Tem 2007 15:36
HTML: Orta
CSS: Başlangıç
PHP: Başlangıç
phpBB3: Başlangıç
Sürüm: phpbb3

Re: [FIX] Linklerin Yeni Pencerede Açılması

İleti ceyar 04 Ağu 2007 20:58

saka yazdı:Merhaba,
İlk mesajda yazan halini denedim. Subsilver 2 de ve rc4 de sorunsuz çalışıyor.
Bir sorum olacak. Linki yeni bir tab ta açıyor ve açtığı tab ön plana çıkıyor.
Oysa ben aynı linke sağ tıklayıp yeni tab da aç dersem. Açılan tab arka planda kalabiliyor.

Acaba linke tıklayınca gelen sayfanın arka planda kalması nasıl sağlanır?


Browserinle Alakalı bir durum hangi browseri kullanıyorsun
ceyar
kullanıcı
kullanıcı

İleti: 6
Kayıt: 10 Nis 2007 15:26
HTML: İyi
CSS: Başlangıç
PHP: Başlangıç
phpBB3: Orta
Sürüm: phpBB3.Rc5

Re: [FIX] Linklerin Yeni Pencerede Açılması

İleti saka 11 Ağu 2007 09:33

internet explorer 7.0 kullanıyorum.
saka
kullanıcı
kullanıcı

İleti: 203
Kayıt: 29 Tem 2007 15:36
HTML: Orta
CSS: Başlangıç
PHP: Başlangıç
phpBB3: Başlangıç
Sürüm: phpbb3

Sonraki

Eklenti Tanıtımları, Duyurular, Güncellemeler


Kimler çevrimiçi

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

cron