Konuyu Oyla:
  • Toplam: 1 Oy - Ortalama: 4
  • 1
  • 2
  • 3
  • 4
  • 5
MyBB header'da özel mesajlar gösterme [Modifikasyon]
#1
Lightbulb 
Bu modifikasyon sayesinde eklentiye ihtiyaç duymadan header'a içerisinde gelen özel mesajlarınızın bulunduğu açılır-kapanr menü ekleyeceksiniz.
Farklı bir sitede paylaşırken yapımcı ismi belirtmenizi rica ediyorum, örn: Modifikasyon Yapımcısı: Novruz.

Admin KP » Temalar ve şablonlar » Şablonlar » Kullandığınız temanın şablon seti » Header Şablonlar » header_welcomeblock_member_pms içeriğini aşağıdaki kodlar ile değiştirin.

PHP Kod:
<span style="display:inline-block;position: relative"><li><a href="{$mybb->settings['bburl']}/private.php">{$lang->welcome_pms}</a> {$lang->welcome_pms_usage} <span class="icontoggle"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 320 512"  ><path d="M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"/></svg></span></li>
<
div class="popups_menu pm_header">
<
div class="pm_show_head"><span class="pm_show_title">Gelen kutusu</span></div>
<
ul class="pm_show" ></ul></div>
</
span>
<
script>let show document.getElementsByClassName("pm_show")[0];
fetch('private.php')
 
 .then(res => res.text())
 
 .then((responseText) => {
 
   const doc = new DOMParser().parseFromString(responseText'text/html');
    const 
elms = Array.from(doc.getElementsByClassName("pm_source"));
    
show.innerHTML += elms.reduce((ael) => += el.innerHTML'')
 
 });
    
document.getElementsByClassName("icontoggle")[0].onclick = function(){
document.getElementsByClassName("pm_header")[0].classList.toggle("toggle");
};
    
document.body.onclick = function(e){
if(
e.target.classList.contains("icontoggle") != true && e.target.parentElement.classList.contains("icontoggle") != true && e.target.parentElement.parentElement.classList.contains("icontoggle") != true) {
    
document.getElementsByClassName("pm_header")[0].classList.remove("toggle")};
};
</
script



Admin KP » Temalar ve şablonlar » Şablonlar » Kullandığınız temanın şablon seti » Özel Mesajlaşma Şablonlar » private_messagebit aşağıdaki kodları en alta ekleyin.
PHP Kod:
<div class="pm_source">
    <
div class="pm_source_wrap">
        <
div class="pm_source_icon"><span class="pm_icon {$msgstatus}"><img src="{$theme['imgdir']}/{$msgstatus}.png" alt="{$msgalt}title="{$msgalt}/></span></div>
        <
div class="pm_source_info">
<
div class="pm_source_info_item"><class="{$msgstatus}href="private.php?action=read&amp;pmid={$message['pmid']}">{$message['subject']}</a></div>
<
div class="pm_source_info_item">{$tofromusername} {$senddate}</div>
        </
div>
    </
div>
</
div

Admin KP » Temalar ve şablonlar » Kullandığınız tema » global.css » Gelişmiş düzenleme » aşağıdaki kodları en alta ekleyin.
PHP Kod:
.icontoggle{
    
cursor:pointer;
    -
webkit-user-selectnone;
    
user-selectnone;
}

.
pm_header{
    
background:white;
    
opacity:0;
    
transformtranslateY(45px);
    
visibility:hidden;
    
transition:150ms ease;
    
positionabsolute;
    
z-index2;
    
top:0;
    
border-radius:5px;
    
padding10px 0;
    -
webkit-pointer-eventsnone;
    
pointer-eventsnone;
    
box-shadow:0 1px 8px 0px rgba(0,0,0,.3);
    
width:100%;
}

.
pm_header.toggle{
    
opacity:1!important;
    
transformtranslateY(30px)!important;
    
visibility:visible!important;
    
pointer-events: unset;
}

.
pm_header ul{
    
margin-top2%;
    
padding:0;
    
width100%;
    
max-height:15em;
    
overflow-yauto;
}

.
pm_show_head{
    
display:flex;
    
justify-contentcenter;
    
border-bottom:1px solid #ddd;
}

.
pm_show_title{
    
background:dodgerblue;
    
color:white;
    
font-size:15px;
    
padding4px 16px;
    
border-radius:3px;
    
margin-bottom:8px;
}

.
pm_source_wrap{
    
displaynone;
}

.
pm_show .pm_source_wrap{
    
display:flex;
    
align-items:center;
    
padding5px;
}

.
pm_show .pm_source_icon{
    
displayinline-flex;
 
   flex0 0 2.5rem;
 
   align-itemscenter;
 
   justify-contentcenter;
}

.
pm_show .pm_source_info{
    
display:flex;
    
flex-direction:column
}

.
pm_show .pm_source_info_item:first-child{
    
font-size:15px;
}

.
pm_show .pm_source_info_item:last-child{
    
font-size:13px;


10TR.NET siteleri için fetch api kullanmadan yapım;
Admin KP » Temalar ve şablonlar » Şablonlar » Kullandığınız temanın şablon seti » Header Şablonlar » header_welcomeblock_member_pms içeriğini aşağıdaki kodlar ile değiştirin.
PHP Kod:
<span style="display:inline-block;position: relative"><li><a href="{$mybb->settings['bburl']}/private.php">{$lang->welcome_pms}</a> {$lang->welcome_pms_usage} <span class="icontoggle"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 320 512"  ><path d="M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"/></svg></span></li>
<
div class="popups_menu pm_header">
<
div class="pm_show_head"><span class="pm_show_title">Gelen kutusu</span></div>
<
ul class="pm_show" ></ul></div>
</
span>
<
script>
window.onload = function(){
if(
document.readyState === "complete"){

    for(
0privatemessages.lengthi++){
document.getElementsByClassName("pm_show")[0].innerHTML +=  '<div class="pm_source_wrap"><div class="pm_source_icon"><span class="pm_icon"></span></div><div class="pm_source_info"><div class="pm_source_info_item"><a href="private.php?action=read&amp;pmid=' privatemessages[i].pmid '">' privatemessages[i].subject '</a></div><div class="pm_source_info_item">' '<a href="member.php?action=profile&uid=' privatemessages[i].fromid '">' privatemessages[i].fromusername '</a>' ' ' privatemessages[i].tarihzaman.replace("T"" ") + '</div></div></div></div>';

var 
pr privatemessages[i].readtime;     
var 
zr Math.round(new Date().getTime() / 1000);
var 
fark Math.abs(zr pr );    
if(
pr === 0){
document.getElementsByClassName("pm_source_wrap")[i].getElementsByClassName("pm_source_icon")[0].classList.add("new");
        }    
else{
    
document.getElementsByClassName("pm_source_wrap")[i].getElementsByClassName("pm_source_icon")[0].classList.add("old");
}            
    }
    }
};
<
script

Admin KP » Temalar ve şablonlar » Kullandığınız tema » global.css » Gelişmiş düzenleme » aşağıdaki kodları en alta ekleyin.
PHP Kod:
.icontoggle{
    
cursor:pointer;
    -
webkit-user-selectnone;
    
user-selectnone;
}

.
pm_header{
    
background:white;
    
opacity:0;
    
transformtranslateY(45px);
    
visibility:hidden;
    
transition:150ms ease;
    
positionabsolute;
    
z-index2;
    
top:0;
    
border-radius:5px;
    
padding10px 0;
    -
webkit-pointer-eventsnone;
    
pointer-eventsnone;
    
box-shadow:0 1px 8px 0px rgba(0,0,0,.3);
    
width:100%;
}

.
pm_header.toggle{
    
opacity:1!important;
    
transformtranslateY(30px)!important;
    
visibility:visible!important;
    
pointer-events: unset;
}

.
pm_header ul{
    
margin-top2%;
    
padding:0;
    
width100%;
    
max-height:15em;
    
overflow-yauto;
}

.
pm_show_head{
    
display:flex;
    
justify-contentcenter;
    
border-bottom:1px solid #ddd;
}

.
pm_show_title{
    
background:dodgerblue;
    
color:white;
    
font-size:15px;
    
padding4px 16px;
    
border-radius:3px;
    
margin-bottom:8px;
}

.
pm_source_wrap{
    
displaynone;
}

.
pm_show .pm_source_wrap{
    
display:flex;
    
align-items:center;
    
padding5px;
}

.
pm_show .pm_source_icon{
    
displayinline-flex;
 
   flex0 0 2.5rem;
 
   align-itemscenter;
 
   justify-contentcenter;
}

.
pm_source_icon.old > .pm_icon{
    
background:url(/images/old_pm.png);
    
width16px;
    
height16px;
}

.
pm_source_icon.new > .pm_icon{
    
background:url(/images/new_pm.png);
    
width16px;
    
height16px;
}

.
pm_show .pm_source_info{
    
display:flex;
    
flex-direction:column
}

.
pm_show .pm_source_info_item:first-child{
    
font-size:15px;
}

.
pm_show .pm_source_info_item:last-child{
    
font-size:13px;


Önizleme :
YdJvda.png

Not : Modifikasyon default tema baz alınarak yapılmıştır, farklı temalarda küçük sorunlar oluşa bilir, oluşa bilecek sorunlar için işlemleri yapmadan önce yedek almayı unutmayın.
Ara
Cevapla PGM
#2
Elinize sağlık, çok güzel görünüyor.
Ara
Cevapla PGM
Teşekkür verenler:
#3
Bu gerçekten çok harika ve bir o kadar da kullanışlı bir şey. Sen çok yetenekli birisisin Novruz. Yeteneğini sınayabileceğin bir şeyler yapman dileğiyle.
5bo0ov6.png
HTML CSS Javascript jQuery PHP Dart Flutter

"Son Tema Ekibi Lideri"
1
Cevapla PGM
Teşekkür verenler: kaRanLık-61
#4
hocam kodları ekledimde : forumbull.10tl.net bi bakarmısınız default temada bile çalışmadı
Ara
Cevapla PGM
Teşekkür verenler:
#5
_pms  şablonuna eklenen js de problem var. ben düzelttim, destekte uyguladım, çalıştı. Yukarıdaki kodu da düzeltiyorum.
Ama tüm browser/js cache yenilemek gerekiyor. (ctrl f5 ya da, yeni özel pencerede aç).
Güzel görünüyor. Teşekkürler.. Rep+SP verdim.

Kod:
<span style="display:inline-block;position: relative"><li><a href="{$mybb->settings['bburl']}/private.php">{$lang->welcome_pms}</a> {$lang->welcome_pms_usage} <i class="fas fa-caret-down icontoggle"></i></li>
<div class="pm_header">
<div class="pm_show_head"><span class="pm_show_title">Gelen kutusu</span></div>
<ul class="pm_show" ></ul></div>
</span>
<script>document.getElementsByClassName("icontoggle")[0].onclick = function(){
document.getElementsByClassName("pm_header")[0].classList.toggle("toggle"); };
document.body.onclick = function(e){
    if(e.target.classList.contains("icontoggle") != true) {
           document.getElementsByClassName("pm_header")[0].classList.remove("toggle");
        };
    };
    
let show = document.getElementsByClassName("pm_show")[0];
fetch('private.php')
 .then(res => res.text())
 .then((responseText) => {
   const doc = new DOMParser().parseFromString(responseText, 'text/html');
   const elms = Array.from(doc.getElementsByClassName("pm_source"));
   console.log(elms);
   show.innerHTML += elms.reduce((a, el) => a += el.innerHTML, '')
 });
</script>
----------------
"Ana prensibimiz insana saygı" dedik, kimileri bunu yanlış anladı, sürekli tepemize çıktı. 
Bundan sonra ana prensibim: "isteyen istediği yere gitsin". Forumda sürekli negatif enerji yayanları, hakaret edenleri ya da hakaretimsi yazanları dahi banlayacağım. Forumda etkileşim azalacakmış umuruda değil. Yıllarca negatif enerjili insanlara katlandığım yeter.. 

Sonra duymadım, bilmiyordum yok.. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
10tl.net Geneli (Forum açma v.b.) Kurallar: https://destek.10tl.net/showthread.php?tid=25433

twitter.png https://twitter.com/10tlnet
discord.png https://discord.gg/fUC7A2W
email.png  info (at.) 10tl.net
Ara
Cevapla PGM
Teşekkür verenler: kaRanLık-61
#6
Normal ÖM okumadaki ÖM listesi bozuldu, önceki haline döndürüyorum.
----------------
"Ana prensibimiz insana saygı" dedik, kimileri bunu yanlış anladı, sürekli tepemize çıktı. 
Bundan sonra ana prensibim: "isteyen istediği yere gitsin". Forumda sürekli negatif enerji yayanları, hakaret edenleri ya da hakaretimsi yazanları dahi banlayacağım. Forumda etkileşim azalacakmış umuruda değil. Yıllarca negatif enerjili insanlara katlandığım yeter.. 

Sonra duymadım, bilmiyordum yok.. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
10tl.net Geneli (Forum açma v.b.) Kurallar: https://destek.10tl.net/showthread.php?tid=25433

twitter.png https://twitter.com/10tlnet
discord.png https://discord.gg/fUC7A2W
email.png  info (at.) 10tl.net
Ara
Cevapla PGM
Teşekkür verenler:
#7
(30-06-2019 Saat: 01:12)admin Nickli Kullanıcıdan Alıntı: _pms  şablonuna eklenen js de problem var. ben düzelttim, destekte uyguladım, çalıştı.  Yukarıdaki kodu da düzeltiyorum.
Ama tüm browser/js cache yenilemek gerekiyor. (ctrl f5 ya da, yeni özel pencerede aç).
Güzel görünüyor. Teşekkürler.. Rep+SP verdim.

Kod:
<span style="display:inline-block;position: relative"><li><a href="{$mybb->settings['bburl']}/private.php">{$lang->welcome_pms}</a> {$lang->welcome_pms_usage} <i class="fas fa-caret-down icontoggle"></i></li>
<div class="pm_header">
<div class="pm_show_head"><span class="pm_show_title">Gelen kutusu</span></div>
<ul class="pm_show" ></ul></div>
</span>
<script>document.getElementsByClassName("icontoggle")[0].onclick = function(){
document.getElementsByClassName("pm_header")[0].classList.toggle("toggle"); };
document.body.onclick = function(e){
    if(e.target.classList.contains("icontoggle") != true) {
           document.getElementsByClassName("pm_header")[0].classList.remove("toggle");
        };
    };
    
let show = document.getElementsByClassName("pm_show")[0];
fetch('private.php')
 .then(res => res.text())
 .then((responseText) => {
   const doc = new DOMParser().parseFromString(responseText, 'text/html');
   const elms = Array.from(doc.getElementsByClassName("pm_source"));
   console.log(elms);
   show.innerHTML += elms.reduce((a, el) => a += el.innerHTML, '')
 });
</script>

Kodlarda sorun yoktu default temada sorunsuz çalışıyordu, hangi değişikliği yaptığınızı anlayamadım fakat.

(30-06-2019 Saat: 03:41)admin Nickli Kullanıcıdan Alıntı: Normal ÖM okumadaki ÖM listesi bozuldu, önceki haline döndürüyorum.

Herhangi bir sorun oluşmaması gerekiyor. CSS kodlarının işlemesi için CTRL+F5 yaptınız mı hocam?


Kodlar güncellendi, Font Awesome kullanılarak eklenen icon svg versiyonu ile değiştirildi ek kütüphane çekmeye gerek yok. Şuan için default yapılı temalarda sorunsuz çalışması gerekiyor. Tekrar deneye bilirsiniz. @admin

Diğer yorumlar için de teşekkür ederim.
Ara
Cevapla PGM
Teşekkür verenler: NextWorld , kaRanLık-61 , admin
#8
Hocam eline sağlık , böyle şeylerden bahsediyordum , işte bunlar ... Özgün içerik...
-ARCH
Lütfen "Rep Verbutonuna tıklayarak bizi değerlendirin.
Forum Organizatörü
1
Ara
Cevapla PGM
Teşekkür verenler:
#9
Bizim burada kullandığımız tema default değil.
Aynı zamanda, /private.php sayfasındaki ÖM listesinde hem tablo yapısı var, hem de mesajları seçerek silme falan var. Bunda ise onlar olmayınca, private_messagebit şablonunu da yukardaki gibi değiştirince, normal ÖM listesinin yapısı, mesaj seçip silme falan bozuluyor. o nedenle buraya şuan uygulayamıyorum.
Normal ÖM listesi ile, headerda gösterilen listenin messagebit şablonları bağımsız ve ayrı olmalı sanki.
----------------
"Ana prensibimiz insana saygı" dedik, kimileri bunu yanlış anladı, sürekli tepemize çıktı. 
Bundan sonra ana prensibim: "isteyen istediği yere gitsin". Forumda sürekli negatif enerji yayanları, hakaret edenleri ya da hakaretimsi yazanları dahi banlayacağım. Forumda etkileşim azalacakmış umuruda değil. Yıllarca negatif enerjili insanlara katlandığım yeter.. 

Sonra duymadım, bilmiyordum yok.. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
10tl.net Geneli (Forum açma v.b.) Kurallar: https://destek.10tl.net/showthread.php?tid=25433

twitter.png https://twitter.com/10tlnet
discord.png https://discord.gg/fUC7A2W
email.png  info (at.) 10tl.net
Ara
Cevapla PGM
Teşekkür verenler:
#10
(30-06-2019 Saat: 14:12)admin Nickli Kullanıcıdan Alıntı: Bizim burada kullandığımız tema default değil.
Aynı zamanda, /private.php sayfasındaki ÖM listesinde hem tablo yapısı var, hem de mesajları seçerek silme falan var. Bunda ise onlar olmayınca, private_messagebit şablonunu da yukardaki gibi değiştirince, normal ÖM listesinin yapısı, mesaj seçip silme falan bozuluyor. o nedenle buraya şuan uygulayamıyorum.
Normal ÖM listesi ile,  headerda gösterilen listenin messagebit şablonları bağımsız ve ayrı olmalı sanki.

Hocam düzenlenen kodlarda tablo yapısına herhangi bir düzenleme yapılmıyor, sadece gözükmeyecek şekilde bir takım kodlar ekleniyor. Header'da gösterilen listeni sadece messagebit şablonundan alına biliniyor, değişkenler başka şablonlarda çalışmıyor çünkü. Son düzenlediğim kodlar da mı aynı hatayı veriyor? Eğer öyle ise bir süreliğine aktif bırakırsanız kodları inceleyip tekrar düzenleye bilirim.
Ara
Cevapla PGM
Teşekkür verenler:
#11
Problem şu;
https://destek.10tl.net/private.php
burada görünen ÖM listesi, tablo yapısı ile çalışıyor. Zira orada, belli mesajları seçip silme/taşıma v.b. var.

Oradaki normalde olan private_messagebit şablonkodu şöyle:

PHP Kod:
<tr>
<
td align="center" class="trow1" width="1%"><img src="{$theme['imgdir']}/old_pm.png" alt="{$msgalt}title="{$msgalt}/></td>
<
td align="center" class="trow2" width="1%">{$icon}</td>
<
td class="trow1" width="35%">{$msgprefix}<a href="private.php?action=read&amp;pmid={$message['pmid']}">{$message['subject']}</a>{$msgsuffix}{$denyreceipt}</td>
<
td align="center" class="trow2">{$tofromusername}</td>
<
td class="trow1" align="right" style="white-space: nowrap"><span class="smalltext">{$senddate}</span></td>
<
td class="trow2" align="center"><input type="checkbox" class="checkbox" name="check[{$message['pmid']}]" value="1" /></td>
</
tr

Gördüğünüz üzere, tablo yapısı var.
Bunu, sizin yaptığınız hale getirince, ozaman header'daki açılır menü çalışıyor, ama busefer https://destek.10tl.net/private.php adresindeki normal Öm okuma yeri çalışmıyor. Orası da, mesajları okumak, silmek, taşımak v.b. için lazım.

Sizin yeni kod şöyle, yani tablo yapısı (silme, checkbox) v.b yok:
PHP Kod:
<div class="pm_source">
 
   <div class="pm_source_wrap">
 
       <div class="pm_source_icon"><span class="pm_icon {$msgstatus}"><img src="{$theme['imgdir']}/{$msgstatus}.png" alt="{$msgalt}title="{$msgalt}/></span></div>
 
       <div class="pm_source_info">
<
div class="pm_source_info_item"><class="{$msgstatus}href="private.php?action=read&amp;pmid={$message['pmid']}">{$message['subject']}</a></div>
<
div class="pm_source_info_item">{$tofromusername} {$senddate}</div>
 
       </div>
 
   </div>
</
div

bunu şuan destek'te aktif ediyorum tekrar, bakın görün durumu, /private.php ye girerek görün.
Tüm denemelerimi zaten herşeyi refresh ederek yapıyorum. yani js/css v.b. cache problemi olmaz.

Galiba bunu düzeltmek için, php koduna müdahale gerekecek.
----------------
"Ana prensibimiz insana saygı" dedik, kimileri bunu yanlış anladı, sürekli tepemize çıktı. 
Bundan sonra ana prensibim: "isteyen istediği yere gitsin". Forumda sürekli negatif enerji yayanları, hakaret edenleri ya da hakaretimsi yazanları dahi banlayacağım. Forumda etkileşim azalacakmış umuruda değil. Yıllarca negatif enerjili insanlara katlandığım yeter.. 

Sonra duymadım, bilmiyordum yok.. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
10tl.net Geneli (Forum açma v.b.) Kurallar: https://destek.10tl.net/showthread.php?tid=25433

twitter.png https://twitter.com/10tlnet
discord.png https://discord.gg/fUC7A2W
email.png  info (at.) 10tl.net
Ara
Cevapla PGM
Teşekkür verenler:
#12
(30-06-2019 Saat: 18:22)admin Nickli Kullanıcıdan Alıntı: Problem şu;
https://destek.10tl.net/private.php
burada görünen ÖM listesi, tablo yapısı ile çalışıyor. Zira orada, belli mesajları seçip silme/taşıma v.b. var.

Oradaki normalde olan private_messagebit şablonkodu şöyle:

PHP Kod:
<tr>
<
td align="center" class="trow1" width="1%"><img src="{$theme['imgdir']}/old_pm.png" alt="{$msgalt}title="{$msgalt}/></td>
<
td align="center" class="trow2" width="1%">{$icon}</td>
<
td class="trow1" width="35%">{$msgprefix}<a href="private.php?action=read&amp;pmid={$message['pmid']}">{$message['subject']}</a>{$msgsuffix}{$denyreceipt}</td>
<
td align="center" class="trow2">{$tofromusername}</td>
<
td class="trow1" align="right" style="white-space: nowrap"><span class="smalltext">{$senddate}</span></td>
<
td class="trow2" align="center"><input type="checkbox" class="checkbox" name="check[{$message['pmid']}]" value="1" /></td>
</
tr

Gördüğünüz üzere, tablo yapısı var.
Bunu, sizin yaptığınız hale getirince, ozaman header'daki açılır menü çalışıyor, ama busefer https://destek.10tl.net/private.php adresindeki normal Öm okuma yeri çalışmıyor. Orası da, mesajları okumak, silmek, taşımak v.b. için lazım.

Sizin yeni kod şöyle, yani tablo yapısı (silme, checkbox) v.b yok:
PHP Kod:
<div class="pm_source">
 
   <div class="pm_source_wrap">
 
       <div class="pm_source_icon"><span class="pm_icon {$msgstatus}"><img src="{$theme['imgdir']}/{$msgstatus}.png" alt="{$msgalt}title="{$msgalt}/></span></div>
 
       <div class="pm_source_info">
<
div class="pm_source_info_item"><class="{$msgstatus}href="private.php?action=read&amp;pmid={$message['pmid']}">{$message['subject']}</a></div>
<
div class="pm_source_info_item">{$tofromusername} {$senddate}</div>
 
       </div>
 
   </div>
</
div

bunu şuan destek'te aktif ediyorum tekrar, bakın görün durumu, /private.php ye girerek görün.
Tüm denemelerimi zaten herşeyi refresh ederek yapıyorum. yani js/css v.b. cache problemi olmaz.

Galiba bunu düzeltmek için, php koduna müdahale gerekecek.

private_messagebit içerisindeki kodları konuda kodlarla değiştirmişsiniz fakat verilen kodları şablonun en altına eklemeniz gerekli, diğer kodlar kalacak.
Ara
Cevapla PGM
Teşekkür verenler:
#13
şuan ben farklı denemeler yapıyorum, stabil değil, sizin uğraşmanıza gerek yok destek sitesi ile ilgili
----------------
"Ana prensibimiz insana saygı" dedik, kimileri bunu yanlış anladı, sürekli tepemize çıktı. 
Bundan sonra ana prensibim: "isteyen istediği yere gitsin". Forumda sürekli negatif enerji yayanları, hakaret edenleri ya da hakaretimsi yazanları dahi banlayacağım. Forumda etkileşim azalacakmış umuruda değil. Yıllarca negatif enerjili insanlara katlandığım yeter.. 

Sonra duymadım, bilmiyordum yok.. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
10tl.net Geneli (Forum açma v.b.) Kurallar: https://destek.10tl.net/showthread.php?tid=25433

twitter.png https://twitter.com/10tlnet
discord.png https://discord.gg/fUC7A2W
email.png  info (at.) 10tl.net
Ara
Cevapla PGM
Teşekkür verenler:
#14
Tamamdır niyahet oldu.
Ben orada kodları alta eklemiyordum, onu yanlış anlamışım (iyi okumamışım).
Sorun şimdi anlaşıldı. destekte de aynen çalışıyor.
Teşekkürler.

Bence burada asıl güzel olan, kullanılan yöntem. Kullandığın yöntemi de biraz yazabilirsen, güzel olur.
Ben biraz anladım.. header'daki kodla, private.php yi jquery ile tekrar çağırıyorsun, içinden css class'larına göre mesajları seçiyorsun ve gösteriyorsun. Orijinal güzel bir yöntem. ben daha önce farketmemiştim böyle bir yöntem. Yani şu kısım:
Kod:
fetch('private.php')
  .then(res => res.text())
  .then((responseText) => {
    const doc = new DOMParser().parseFromString(responseText, 'text/html');
    const elms = Array.from(doc.getElementsByClassName("pm_source"));
    show.innerHTML += elms.reduce((a, el) => a += el.innerHTML, '')
  });
----------------
"Ana prensibimiz insana saygı" dedik, kimileri bunu yanlış anladı, sürekli tepemize çıktı. 
Bundan sonra ana prensibim: "isteyen istediği yere gitsin". Forumda sürekli negatif enerji yayanları, hakaret edenleri ya da hakaretimsi yazanları dahi banlayacağım. Forumda etkileşim azalacakmış umuruda değil. Yıllarca negatif enerjili insanlara katlandığım yeter.. 

Sonra duymadım, bilmiyordum yok.. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
10tl.net Geneli (Forum açma v.b.) Kurallar: https://destek.10tl.net/showthread.php?tid=25433

twitter.png https://twitter.com/10tlnet
discord.png https://discord.gg/fUC7A2W
email.png  info (at.) 10tl.net
1
Ara
Cevapla PGM
Teşekkür verenler:
#15
(30-06-2019 Saat: 18:48)admin Nickli Kullanıcıdan Alıntı: Tamamdır niyahet oldu.
Ben orada kodları alta eklemiyordum, onu yanlış anlamışım (iyi okumamışım).
Sorun şimdi anlaşıldı. destekte de aynen çalışıyor.
Teşekkürler.

Bence burada asıl güzel olan, kullanılan yöntem. Kullandığın yöntemi de biraz yazabilirsen, güzel olur.
Ben biraz anladım.. header'daki kodla, private.php yi jquery ile tekrar çağırıyorsun, içinden css class'larına göre mesajları seçiyorsun ve gösteriyorsun. Orijinal güzel bir yöntem. ben daha önce farketmemiştim böyle bir yöntem.  Yani şu kısım:
Kod:
fetch('private.php')
 .then(res => res.text())
 .then((responseText) => {
   const doc = new DOMParser().parseFromString(responseText, 'text/html');
   const elms = Array.from(doc.getElementsByClassName("pm_source"));
   show.innerHTML += elms.reduce((a, el) => a += el.innerHTML, '')
 });

Aslında javascripti yeni-yeni öğrendiğim için pek açıklayıcı bilgi veremem, fetch yeni bir html istemcisi, yani dış sayfa çağırıcısı. jQuery'deki .load() fonksiyonu ile aynı işlevi görüyor(farkl özellikleri ola bilir). Tek kusuru şu ki, özel mesaj sayfasını çağırdığı zaman sistem sizi o sayfayı ziyaret etmiş gibi algılıyor ve kimler çevrim içi kısmında sizi özel mesaj sayfasında gösteriyor. Sorunun çözümünü bula bilirsem kodları düzenleyeceğim.
Ara
Cevapla PGM
Teşekkür verenler:
#16
Bence ona ugrasmana gerek yok.
Sistem illaki oyle algilayacak.
Bence asil mevzu, her sayfada, ekstradan private.php yi cagirmasi. Hafif yuku artirir ama ona da cozum zor gibi.
----------------
"Ana prensibimiz insana saygı" dedik, kimileri bunu yanlış anladı, sürekli tepemize çıktı. 
Bundan sonra ana prensibim: "isteyen istediği yere gitsin". Forumda sürekli negatif enerji yayanları, hakaret edenleri ya da hakaretimsi yazanları dahi banlayacağım. Forumda etkileşim azalacakmış umuruda değil. Yıllarca negatif enerjili insanlara katlandığım yeter.. 

Sonra duymadım, bilmiyordum yok.. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
10tl.net Geneli (Forum açma v.b.) Kurallar: https://destek.10tl.net/showthread.php?tid=25433

twitter.png https://twitter.com/10tlnet
discord.png https://discord.gg/fUC7A2W
email.png  info (at.) 10tl.net
Ara
Cevapla PGM
Teşekkür verenler:
#17
(01-07-2019 Saat: 01:13)admin Nickli Kullanıcıdan Alıntı: Bence ona ugrasmana gerek yok.
Sistem illaki oyle algilayacak.
Bence asil mevzu, her sayfada, ekstradan private.php yi cagirmasi. Hafif yuku artirir ama ona da cozum zor gibi.

Sistem dosyalarını değişmeden sadece sayfayı çağırmayla yapıla bilinecek bir işlem maalesef.
Ara
Cevapla PGM
Teşekkür verenler:
#18
Senin bu son sorununla ilgili şöyle birşey yaptım, bunu kullanarak o sorunlara çözüm bulabilirsin:
https://destek.10tl.net/index2.php

Burayı çağır şimdilik, hazır olunca index.php üzerinde yaparım.
Özel mesajları direk js içinde "privatemessages" diye bir değişkene atıyor, dokuman tamamen yüklenince, js konsola bakarsan görürsün.
Yani, ekstradan private.php çağırmadan, direk index2.php içinde js ile hazır vaziyette özel mesajlar geliyor.
senin yapman gereken, bunu istediğin yerde, js ile göstermek.
Yani, şuanda fetch ile yaptığın iş, jsde bir değişkende hazır vaziyette var.

Tabi, doküman tamamen yüklendikten sonra çağırmalısın, ondocumentload ya da complete miydi neydi.

Anlatabildim mi? anlaşılmayan biryer var mı ?

Bu sayede, 2 soruna çözüm oluyor:
- kullanıcı öm okuyor diye görünmüyor,
- ayrıca private.php çağrılmamış oluyor.
----------------
"Ana prensibimiz insana saygı" dedik, kimileri bunu yanlış anladı, sürekli tepemize çıktı. 
Bundan sonra ana prensibim: "isteyen istediği yere gitsin". Forumda sürekli negatif enerji yayanları, hakaret edenleri ya da hakaretimsi yazanları dahi banlayacağım. Forumda etkileşim azalacakmış umuruda değil. Yıllarca negatif enerjili insanlara katlandığım yeter.. 

Sonra duymadım, bilmiyordum yok.. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
10tl.net Geneli (Forum açma v.b.) Kurallar: https://destek.10tl.net/showthread.php?tid=25433

twitter.png https://twitter.com/10tlnet
discord.png https://discord.gg/fUC7A2W
email.png  info (at.) 10tl.net
Ara
Cevapla PGM
Teşekkür verenler:
#19
header_welcomeblock_member_pms şablonunda artık aşağıdaki kodu kullanırsanız, kullanıcı private.php de görünmeyecektir.. Yani yeri doğru görünecektir, üstelik biraz daha hızlı çalışır:

PHP Kod:
<span style="display:inline-block;position: relative"><li><a href="{$mybb->settings['bburl']}/private.php">{$lang->welcome_pms}</a> {$lang->welcome_pms_usage} <span class="icontoggle"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 320 512"  ><path d="M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"/></svg></span></li>
<
div class="popups_menu pm_header">
<
div class="pm_show_head"><span class="pm_show_title">Gelen kutusu</span></div>
<
ul class="pm_show" ></ul></div>
</
span>

<
script>    
    
window.onload = function(){ 
    if(
document.readyState === "complete"){
     
   for(0privatemessages.lengthi++){
     
       pr=privatemessages[i];
     
       document.getElementsByClassName("pm_show")[0].innerHTML +=  '<div class="pm_source_wrap"><div class="pm_source_icon"><span class="pm_icon {$msgstatus}"></span></div><div class="pm_source_info"><div class="pm_source_info_item"><a class="{$msgstatus}" href="private.php?action=read&amp;pmid=' pr.pmid '">' pr.subject '</a></div><div class="pm_source_info_item">' '<a href="member.php?action=profile&uid=' pr.fromid '">' pr.fromusername '</a>' ' ' pr.tarihzaman.replace("T"" ") + '</div></div></div></div>';
     
   }
    }
}; 
 
   
document
.getElementsByClassName("icontoggle")[0].onclick = function(){
document.getElementsByClassName("pm_header")[0].classList.toggle("toggle");
};
 
   
document
.body.onclick = function(e){
if(
e.target.classList.contains("icontoggle") != true && e.target.parentElement.classList.contains("icontoggle") != true && e.target.parentElement.parentElement.classList.contains("icontoggle") != true) {
 
   document.getElementsByClassName("pm_header")[0].classList.remove("toggle")};
};
</
script

Bu sistemi geliştiren @Novruz a tekrar teşekkürler.

Bu yöntemle, ÖM leri sayfanızda istediğiniz yerde gösterebilirsiniz, hatta başka şekiller de verebilirsiniz..
----------------
"Ana prensibimiz insana saygı" dedik, kimileri bunu yanlış anladı, sürekli tepemize çıktı. 
Bundan sonra ana prensibim: "isteyen istediği yere gitsin". Forumda sürekli negatif enerji yayanları, hakaret edenleri ya da hakaretimsi yazanları dahi banlayacağım. Forumda etkileşim azalacakmış umuruda değil. Yıllarca negatif enerjili insanlara katlandığım yeter.. 

Sonra duymadım, bilmiyordum yok.. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
10tl.net Geneli (Forum açma v.b.) Kurallar: https://destek.10tl.net/showthread.php?tid=25433

twitter.png https://twitter.com/10tlnet
discord.png https://discord.gg/fUC7A2W
email.png  info (at.) 10tl.net
Ara
Cevapla PGM
Teşekkür verenler: Novruz , NextWorld
#20
Konu güncellenmiştir, 10TR.NET siteleri için @admin 'in oluşturduğu değişken sayesinde fetch api kullanmadan(ek sayfa çağırmadan) yapımı eklenmiştir.
Ara
Cevapla PGM
Teşekkür verenler:


Hızlı Menü:


Şu anda bu konuyu okuyanlar: 3 Ziyaretçi



***

Online Shopping App
Online Shopping - E-Commerce Platform
Online Shopping - E-Commerce Platform
Feinunze Schmuck Jewelery Online Shopping