|
|
|
| Sevgini paylaşmak için bir neden yeterli 💗 - Yeni mesaj yok..! | |
| | LinkBack | Seçenekler | Arama |
| | #1 |
| Çevrimiçi ![]() ![]() | Vbulletin 3.x - Sayfa Navigasyonu (Pagenav) Güncelleme Sayfa Navigasyonu Altyapı Güncellemesi Forumumuzun sayfa navigasyon sistemi yeniden yazıldı. Eski HTML tablo tabanlı yapı, sayfa sayısı arttıkça ekrandan taşıyor ve mobil cihazlarda layout bozuluyordu. Tablo mimarisi tamamen kaldırılarak yerine CSS Flexbox ve JavaScript gruplama motoru getirildi. Artık kaç sayfa olursa olsun navigasyon çubuğu ekranda sabit ve düzgün kalıyor, mobilde de masaüstünde de sorunsuz çalışıyor. Eski yapı — HTML tablo tabanlı Sorunlu [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Yeni yapı — CSS Flex + JS gruplama Güncel [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Mobil görünüm karşılaştırması [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Nerede Yapılacak? İngilizce ; AdminCP → Styles & Templates → Search in Templates Türkçe ; Admin Panel → Stiller & Temalar → Temalarda Ara 1. pagenav Ne değişti: Eski <table> yapısı kaldırıldı, yerine CSS Flexbox getirildi. Sayfa bilgisi (X/Y) ayrı satıra alındı. Taşma sorunu ortadan kalktı. Tüm içeriği sil, şununla değiştir: Kod:
<div class="pagenav" style="width:100%;display:block;">
<div style="display:flex;font-size:11px;color:#666;padding:3px 0;margin-bottom:3px;justify-content:flex-end;"><phrase 1="$pagenumber" 2="$totalpages">$vbphrase[page_x_of_y]</phrase></div>
<div class="pnav_wrap" style="display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:2px;align-items:center;padding:2px;max-width:100%;overflow:hidden;">
<if condition="$show['first']"><a rel="start" class="smallfont" style="padding:3px 7px;background:#4a7aba;color:#fff;border-radius:3px;text-decoration:none;font-size:11px;flex-shrink:0;" href="$address$address2<if condition="$anchor">#$anchor</if>">« $vbphrase[pagenav_first]</a></if>
<a class="pnav_gbtn_prev smallfont" style="padding:3px 7px;background:#4a7aba;color:#fff;border-radius:3px;font-size:11px;cursor:pointer;flex-shrink:0;display:none;"><</a>
<span class="pnav_pages" style="display:flex;flex-wrap:nowrap;gap:2px;">$pagenav</span>
<a class="pnav_gbtn_next smallfont" style="padding:3px 7px;background:#4a7aba;color:#fff;border-radius:3px;font-size:11px;cursor:pointer;flex-shrink:0;display:none;">></a>
<if condition="$show['last']"><a class="smallfont" style="padding:3px 7px;background:#4a7aba;color:#fff;border-radius:3px;text-decoration:none;font-size:11px;flex-shrink:0;" href="$address$address2&page=$totalpages<if condition="$anchor">#$anchor</if>">$vbphrase[pagenav_last] »</a></if>
<if condition="$show['popups']"><span title="$address$address2"><a name="PageNav"></a></span></if>
</div>
</div>
<script>
(function(){
var wraps = document.querySelectorAll('.pnav_wrap');
wraps.forEach(function(wrap){
var container = wrap.querySelector('.pnav_pages');
if (!container) return;
var links = container.querySelectorAll('a, span');
if (links.length <= 11) return;
var groupSize = 11;
var currentGroup = 0;
var totalGroups = Math.ceil(links.length / groupSize);
var btnPrev = wrap.querySelector('.pnav_gbtn_prev');
var btnNext = wrap.querySelector('.pnav_gbtn_next');
links.forEach(function(el, i){
if (el.tagName === 'SPAN') {
currentGroup = Math.floor(i / groupSize);
}
});
function showGroup(g){
currentGroup = g;
links.forEach(function(el, i){
el.style.display = (Math.floor(i / groupSize) === g) ? '' : 'none';
});
btnPrev.style.display = g > 0 ? '' : 'none';
btnNext.style.display = g < totalGroups - 1 ? '' : 'none';
}
btnPrev.onclick = function(){ showGroup(currentGroup - 1); };
btnNext.onclick = function(){ showGroup(currentGroup + 1); };
showGroup(currentGroup);
});
})();
</script> Ne değişti: Aktif sayfa <td> hücresinden çıkarıldı, <span> ile inline-block yapıldı. Koyu mavi renk ve bold yazı ile aktif sayfa belirginleştirildi. Tüm içeriği sil, şununla değiştir: Kod: <span class="smallfont" style="padding:3px 7px; background:#2d5a9e; color:#fff; border-radius:3px; font-size:11px; display:inline-block; font-weight:bold;" title="<phrase 1="$numbers[first]" 2="$numbers[last]" 3="$total">$vbphrase[showing_results_x_to_y_of_z]</phrase>">$curpage</span> 3. pagenav_pagelink Ne değişti: Her sayfa numarasındaki <td> kaldırıldı, doğrudan <a> etiketi inline-block yapıldı. Açık gri arka plan eklendi. Tüm içeriği sil, şununla değiştir: Kod: <a class="smallfont" style="padding:3px 7px; background:#e8e8e8; color:#333; border-radius:3px; text-decoration:none; font-size:11px; display:inline-block;" href="$address$address2<if condition="$curpage != 1">&page=$curpage</if><if condition="$anchor">#$anchor</if>" title="<phrase 1="$pagenumbers[first]" 2="$pagenumbers[last]" 3="$total">$vbphrase[show_results_x_to_y_of_z]</phrase>">$curpage</a> Ne değişti: pagenav_pagelink ile aynı yapıya getirildi, <td> kaldırıldı, inline-block <a> yapıldı. Tüm içeriği sil, şununla değiştir: Kod: <a class="smallfont" style="padding:3px 7px; background:#e8e8e8; color:#333; border-radius:3px; text-decoration:none; font-size:11px; display:inline-block;" href="$address$address2<if condition="$curpage != 1">&page=$curpage</if><if condition="$anchor">#$anchor</if>" title="<phrase 1="$pagenumbers[first]" 2="$pagenumbers[last]" 3="$total">$vbphrase[show_results_x_to_y_of_z]</phrase>"><!--$relpage-->$curpage</a> Tüm değişiklikler yapıldıktan sonra tarayıcı önbelleğini temizleyerek (Ctrl+Shift+R) test ediniz. Üçüncü taraf yazılım veya çerez kullanıyorsanız ( Cloudflare ) vb cache geçmişini temizleyin. Not ; Bu değişiklik sadece kategorilerdeki görünümler için değil tüm sayfalarda mesela üye listesi , özel mesaj ( pm ) gibi alanlardada geçerli olacaktır. css ve js de değişiklik yapabilir ve renkleri mevcut temanızın renklerine göre ayarlayabilir veya benim verdiğim renkleri kullanabilirsiniz. Bu tarz paylaşımların devamı için yorum yapmayı unutmayın... Bilgi paylaştıkça güzeldir :) Keyifli Forumlar.. |
|
![]() |
| Etiketler |
| 3x, guncelleme, navigasyonu, pagenav, sayfa, vbulletin |
| |