Dinamik Sayfa Bağlantıları Oluşturma - Kullanıcılar için Navigasyonu Basitleştirme

Sayfa bağlantıları, forumlar veya galeriler gibi öğelerin listelendiği uygulamalarda navigasyonu geliştirmek için hayati öneme sahiptir. Kullanıcıların sayfalar arasında karışıklık olmadan geçiş yapmalarına yardımcı olan sorunsuz bir sayfa deneyimi oluşturmak önemlidir. Bu blog yazısında, dinamik sayfa bağlantılarını oluşturma sorununu keşfedecek ve sağlam bir çözüm sunacağız.

Sorun: Dinamik Sayfa Bağlantılarını Oluşturma

Birden fazla sayfada içerik görüntülemek için bir sistem tasarlanırken, ortaya çıkan merkezi soru şudur: Kullanıcıların bu sayfalar arasında etkili bir şekilde gezinebilmesi için bağlantıları nasıl oluşturmalıyız?

Örneğin, bir kullanıcı 593 sayfasından 7. sayfada bulunduğunda, sayfa bağlantıları nasıl yapılandırılmalı? Yaygın bir düzen şu şekilde olabilir:

1 ... 5 6 7 ... 593

Yukarıdaki düzen içinde kullanıcılar ilk sayfayı (1), mevcut sayfayı (7) ve son sayfayı (593), ayrıca bitişik sayfaları (5 ve 6) görebilir. Bu format, navigasyonu özlü ve kullanıcı dostu tutar.

Çözüm: Sayfa Bağlantılarına Adım Adım Yaklaşım

Aşağıda dinamik sayfa bağlantıları oluşturmak için yapılandırılmış bir yaklaşım sunulmaktadır. Öncelikle algoritmada dikkate alınması gereken özellikleri belirleyeceğiz ve ardından bunu uygulamanın nasıl gerçekleştirileceğini göstermek için pseudo-kod sağlayacağız.

Sayfa Algoritmasının Ana Özellikleri

  1. Kullanıcı ilk sayfada değilse önceki sayfaya (Prev) bir bağlantı gösterin.
  2. İlk sayfa numarasını her zaman gösterin.
  3. Mevcut sayfa numarasını gösterin.
  4. Mevcut sayfanın öncesindeki ve sonundaki sayfayı dahil edin.
  5. Son sayfa numarasını gösterin.
  6. Kullanıcı son sayfada değilse sonraki sayfaya (Next) bir bağlantı gösterin.

Sayfa Bağlantıları Algoritmasını Uygulama

İlk algoritma iyi bir başlangıç noktasını temsil eder. Çeşitli kenar durumlarını kontrol edecek ve bu durumlardan yola çıkarak yaklaşımı şekillendireceğiz.

İlk Deneme: Temel Sayfa Bağlantıları

function printPageLinksFirstTry(num totalPages, num currentPage)
  if (currentPage > 1)
    print "Prev"
  print "1"
  print "..."
  print currentPage - 1
  print currentPage
  print currentPage + 1
  print "..."
  print totalPages
  if (currentPage < totalPages)
    print "Next"
endFunction

Kenar Durumlarını Ele Alma: Mantığı Geliştirme

Mevcut sayfanın aralığın kenarlarına yakın olduğu durumu hesaba katmamız gerekiyor. Bunun için, önceki işlevi değiştirebiliriz:

function printPageLinksHandleCloseToEnds(num totalPages, num currentPage)
  if (currentPage > 1)
    print "Prev"
  print "1"
  if (currentPage > 2)
    print "..."
  if (currentPage > 2)
    print currentPage - 1
  print currentPage
  if (currentPage < totalPages - 1)
    print currentPage + 1
    print "..."
  print totalPages
  if (currentPage < totalPages)
    print "Next"
endFunction

Temizlik: Kodu İyileştirme

Daha fazla iyileştirme yaptıkça, kodda tekrarı azaltabiliriz:

function printPageLinksCleanedUp(num totalPages, num currentPage)
  if (currentPage > 1)
    print "Prev"
  print "1"
  if (currentPage > 2)
    print "..."
    print currentPage - 1
  print currentPage
  if (currentPage < totalPages - 1)
    print currentPage + 1
    print "..."
  print totalPages
  if (currentPage < totalPages)
    print "Next"
endFunction

Son Düzenlemeler: Tüm Senaryoları Kapsama

Son olarak, yalnızca birkaç sayfa olduğunda her şeyin düzgün çalıştığından emin olalım:

function printPageLinksFinal(num totalPages, num currentPage)
  if (totalPages == 1)
    return

  if (currentPage > 1)
    print "Prev"

  print "1"

  if (currentPage > 2)
    print "..."
    print currentPage - 1

  if (currentPage != 1 and currentPage != totalPages)
    print currentPage

  if (currentPage < totalPages - 1)
    print currentPage + 1
    print "..."

  print totalPages

  if (currentPage < totalPages)
    print "Next"
endFunction

Sonuç

Yukarıda belirtilen adımları izleyerek, web sitenizde kullanıcı navigasyonunu önemli ölçüde geliştirecek dinamik sayfa bağlantılarını oluşturmak için sağlam bir algoritma uygulayabilirsiniz. Böyle bir algoritmanın uygulanması, kullanıcıların içerik arasında sorunsuz bir şekilde geçiş yapmasını sağlayarak, çok daha keyifli bir göz atma deneyimi sunmaktadır.

Bu kılavuzun, uygulamanızda etkili sayfa bağlantıları oluşturmanıza yardımcı olmasını umuyoruz!