Şimdi Ara

Siteye kullanıcı tarafında yeni sayfa eklenmesi?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
8
Cevap
0
Favori
518
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar Yönetim panelinden kullanıcıya yeni sayfa (view) ekletmek istiyorum ve sayfa bilgilerini db ye kaydediyorum.Fakat bu sayfa controller da ve view lerde olmadığı için üretilmiyor.Acaba sadece db üzerinden okuyarak nasıl view oluşturabilirim?View e db de kayıtlı olan url üzerinden erişilebilecek.



  • seo compatible bir routingin olduğunu var sayıyorum ve prototip olarak yazıyorum.

    array kayitlı_sayfalar['index','hakkimizda',...]
    www.falan.com/falanyum.

    bu falanyum u request uri den söktürebilmen lazım.

    eğer falanyum kayitli sayfalar içinde yoksa. git bir de database deki sayfaları kontrol et varsa render et yoksa 404
  • @Delifisek.Tux cevabın için teşekkür ederim.Bu konuyla ilgili örnek bulamadığım için buraya yazdım.Senin tarif ettiğin gibi yapmaya çalışacağım ama bu konuda bilgim çok az.Elinde varsa örnek paylaşabilir misin acaba?Ben falanyum'u sökebilirim diye düşünüyorum.Ama bende gerisi yok :(
  • Aslında sayfa üretmiyorsun. Eklediğin her bir "sayfa" db kayit ediliyor ve örneğin id ile veya title ile databaseden getirilip gösteriliyor. Örneğin
    "Internet nedir?" icerik.aspx?Id=5
    "Dış mihrak kimdir?" icerik.aspx?id=98
    gibi ilerliyor. Eğer site asp.net Mvc ise /icerik/6 veya /icerik/98 dir.

    Böylece her biri için gidip View klasörü altına "sayfa" koymazsın. Yazılımın amacı tekrar eden işleri otomatiz etmektir o yüzden tek tek view açmak mantıklı olmayabilir.

    Burada ikinci durum ise "SEO" için linklerin icerik/5 gibi görünmeisni değil icerik/internet-netir-5 diye görünmeisni ama icerik/5 e gitmesini isteyebilirsin işte buna da "url rewrite" deniyor. Delifisek.Tux un anlatmak istediği de bu.
  • Kardeşim eğer mvc ile çalışıyorsan senin için ufak bir örnek verebilirim;

    Sadece bir tane action result oluşturcaksın

    Ondan sonra diyelim ki sayfalar diye bir url kısmın olsun yani
    omer.com/sayfalar

    Senin gidip hakkımızda diye sayfa eklediğinde
    omer.com/sayfalar/hakkimizda url ni yazınca sayfa action'unu tetikleyip sayfa ismine göre database deki verileri view'e yazdirsin.
    Yani bir tane action olsun sayfa diye, istersen 1000 tane sayfa ekle alayı 1 action dan yönetilsin.

    Onu da böyle yaparsın.
    Bu seo url routing kısmında mvc 5'in getirmiş olduğu bir kıyak var bizim için.
    Routing olayı yani sayfalar/?
    O '?' işaretinden sonraki yazılan metni sana string veya istediğin variable da tutabiliyor senin için.
    Bu olay mvc 5 route attribute diye geçiyor araştır. Türkçe kaynaklar da var.

    Örnek;

    [Route("sayfalar/{sayfa-ismi}")]
    public ActionResult Sayfa(sayfa-ismi)
    {
    return(getirSayfa(sayfa-ismi));
    }




  • kodu yazardım ama onun yerine sana şöyle bir yol göstereyim.

    sayfaları dinamik oluşturacaksın. O zaman google de şöyle bir arama ile anında bulabilirsin.
    www.google.com ====> asp.net dinamik sayfa oluşturma ve çağırma :)

    şimdi kullanıcı bunu nasıl yapacak peki ?

    işte onuda o kullanıcı yetkisine sahip olanların admin mantısı gibi yeni dinamik sayfa oluşturmasına if else koşulu ile koşullu izin oluşturarak ( yani db ye kayıt edebilmesini izinleyerek )

    iyi forumlar
  • Kullanıcının eklediği her sayfayı dinamik olarak projeye gömme gibi bir durum söz konusu değil.
    Sayfaları göstermek için bir tane ana view'in olur, kullanıcının db'ye eklediği içerikleri o view'da gösterirsin.
    Sayfa adının da dinamik olarak değişmesi için url routing'i araştırmanı tavsiye ederim.
    Kolay gelsin
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.