locked
hierarchy Category Yapımı RRS feed

  • Soru

  • merhaba arkadaşlar

    hierarchy Category  menu yapmaya calısıyorum fakat yapamadım bu konuda yardımlarını bekliyorum

    örnek aşağıdaki gibidir

    teşekkürler 

    22 Ağustos 2016 Pazartesi 12:39

Tüm Yanıtlar

  • Bence bu sorunun yeri burası değil, bir çok sitede hali hazırda bunun için projeler var internetten aratıp önce onlara ulaş sonra takıldığın bir yer olursa burada sor. Belki bana kızacaksın veya bir başkası kızacak ama bunu ararken bir çok yöntem görüp algoritma mantığın gelişir. Sana tavsiyem budur.

    Fullstack Developer

    22 Ağustos 2016 Pazartesi 17:40
  • selam 

    örneklere baktım tam olarak anlayamadım ondan dolayı konu actım 

    teşekkürler

    22 Ağustos 2016 Pazartesi 17:49
  • Ozman bir örnek verde dostum millet şenlensin :) nerede takıldın ki

    Fullstack Developer

    22 Ağustos 2016 Pazartesi 22:38
  • Yapamadım demenin neresini anlamıyorsun ? Madem yardım etmeyeceksin niye karakterini bu kadar düşürüyorsun  (sen hariç)

    1) Alttakilere tıklarken üsttekiler nasıl gelecek ?

    2) Seçtğimiz kategori nasıl kalıp alttakiler sıralanıcak?

     var lang = ControllerContext.Controller.ValueProvider.GetValue("lang").RawValue.ToString();
                hierarchycategory dd = new hierarchycategory();
                List<string> element = new List<string>(); //1. Kategori için
                List<string> bravo = new List<string>(); //2.kategori için
                List<string> charli = new List<string>(); //3.kategori için
                List<string> hunter = new List<string>(); //4.kategori için
                var alfa = db.KategoriDilResource.Where(x => x.Kategori.Id == id && x.Dil.DilAdi == lang && x.Kategori.AnaMenuId == null).ToList();
                if (alfa.Count() == 0)
                {
    
                    var isim = db.Kategori.Find(id);
    
                    var yakala = db.KategoriDilResource.Where(x => x.Kategori.Id == isim.KatMenuIkiId && x.Dil.DilAdi == lang).ToList();
                    dd.AnaKategori = yakala[0].KategoriAdi;
                    var a = db.KategoriDilResource.Where(x => x.Dil.DilAdi == lang).ToList();
    
    
    
                    foreach (var itemIki in a.Where(x => x.Kategori.KatMenuUcId == id).ToList())
                    {
                        bravo.Add(itemIki.KategoriAdi);
                        foreach (var itemUc in a.Where(x => x.Kategori.KatMenuDortId == itemIki.Kategori.Id).ToList())
                        {
                            charli.Add(itemUc.KategoriAdi);
                            foreach (var itemDort in a.Where(x => x.Kategori.KatMenuBesId == itemUc.Kategori.Id).ToList())
                            {
                                hunter.Add(itemDort.KategoriAdi);
                            }
                        }
                    }
                }else 
    {
    return view();
    }


    23 Ağustos 2016 Salı 06:32
  • Şimdi güzel bir soru sormuşsun burayı nasıl editleriz ona bakalım. örneğin bravo kategorisinden bir item seçmişsen querystringde bravo=3 gönderebilirsin. Bu durumda bravo kısmı şu şekilde olur 
    
    var lang = ControllerContext.Controller.ValueProvider.GetValue("lang").RawValue.ToString();
                hierarchycategory dd = new hierarchycategory();
                List<string> element = new List<string>(); //1. Kategori için
                List<string> bravo = new List<string>(); //2.kategori için
                List<string> charli = new List<string>(); //3.kategori için
                List<string> hunter = new List<string>(); //4.kategori için
                var alfa = db.KategoriDilResource.Where(x => x.Kategori.Id == id && x.Dil.DilAdi == lang && x.Kategori.AnaMenuId == null).ToList();
                if (alfa.Count() == 0)
                {
    
                    var isim = db.Kategori.Find(id);
    
                    var yakala = db.KategoriDilResource.Where(x => x.Kategori.Id == isim.KatMenuIkiId && x.Dil.DilAdi == lang).ToList();
                    dd.AnaKategori = yakala[0].KategoriAdi;
                    var a = db.KategoriDilResource.Where(x => x.Dil.DilAdi == lang).ToList();
    
    
    
                    foreach (var itemIki in a.Where(x => x.Kategori.KatMenuUcId == id).ToList())
                    {
    					if (Request.Querystring["bravo"] != null && itemIki.id == Request.Querystring["bravo"]) {
    						bravo.Add(itemIki.KategoriAdi);
    					} else if (Request.Querystring["bravo"] != null) {
    						continue;
    					} else {                                        }
    						bravo.Add(itemIki.KategoriAdi);
    					}
                        foreach (var itemUc in a.Where(x => x.Kategori.KatMenuDortId == itemIki.Kategori.Id).ToList())
                        {
                            charli.Add(itemUc.KategoriAdi);
                            foreach (var itemDort in a.Where(x => x.Kategori.KatMenuBesId == itemUc.Kategori.Id).ToList())
                            {
                                hunter.Add(itemDort.KategoriAdi);
                            }
                        }
                    }
                }else 
    {
    return view();
    }
    
    Burada ki döngüye eklediğim if le eğer bravo querystringden gelmişse ve id si for dan gelen kategorinin id sine eşitse bu kategoriyi ekleyecek ve alt kategorilerini de ekleyecek. Eğer gelmiş ancak id ler uyuşmuyor ise bu durumda continue ile başa dönüp bir sonraki for adımına geçecek. else de ise hiç tanımlanmamış ise bu durumda hepsini ekleyerek ağacı tamamlayacak. Bunu tüm seviyeler için uyumlarsan çalışır.


    Fullstack Developer

    23 Ağustos 2016 Salı 07:16
  • model? context? breadcrumb? treelist? ...

    etraflıca düşünmeden ı-ıh!


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    23 Ağustos 2016 Salı 07:33
    Moderatör
  • Kod uyduruk ama iş görür gibime geldi ;)

    Fullstack Developer

    23 Ağustos 2016 Salı 07:34
  • "uyduruk" hmm...

    bu kelimeyi en son kullandığımda çarmıha germişlerdi.


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    23 Ağustos 2016 Salı 07:39
    Moderatör
  • konu kilit
    23 Ağustos 2016 Salı 10:47