Makale Özeti

Bu makalemde sizlere ASP.NET 2,0 ile gelen SiteMapPath nesnesinin kullanımından bahsedeceğim. SiteMapPath web Sitelerimizde site haritaları oluşturmamızı sağlar. Sitemizi ziyaret eden kullanıcıların sitenin neresinde olduklarını görebilmelerini sağlayan site haritaları oldukça kullanışlıdır. Hiç şüphesiz ki gelişmiş internet sitelerin içerisinde pek çok web sayfaları bulunmaktadır. Sitemizi ziyaret eden bir ziyaretçi sayfalar arasında hangi sayfadan hangi sayfaya gittiğini ve hangi sayfayı incelediğini bilmek isteyecektir.

Makale

ASP.NET SiteMapPath Kullanımı
Merhaba Sevgili Programcılar;
   Bu makalemde sizlere ASP.NET 2,0 ile gelen SiteMapPath nesnesinin kullanımından bahsedeceğim. SiteMapPath web Sitelerimizde site haritaları oluşturmamızı sağlar. Sitemizi ziyaret eden kullanıcıların sitenin neresinde olduklarını görebilmelerini sağlayan site haritaları oldukça kullanışlıdır. Hiç şüphesiz ki gelişmiş internet sitelerin içerisinde pek çok web sayfaları bulunmaktadır. Sitemizi ziyaret eden bir ziyaretçi sayfalar arasında hangi sayfadan hangi sayfaya gittiğini ve hangi sayfayı incelediğini bilmek isteyecektir. Örnek vermek gerekirse mimarizm.com da, gaziantepkultur.gov.tr gibi sitelerde görmemiz mümkündür





Bu iş için ASP.NET 2,0 SiteMapPath nesnesini kullanarak XML tabanlı daha esnek bir yapı ile biz programcıların kullanımına sunmuştur. Şimdi isterseniz bir örnek yaparak SiteMapPath sunucu kontrolünü incelemeye başlayalım…
Aşağıdaki düzene sahip bir web sitemiz olduğunu varsayarak işlemimize başlıyoruz.

Şekilde de gördüğünüz gibi sitemizi bir programlama sitesi olarak düşünebiliriz ve burada sitemizde web programlama ve local programlama olarak sayfalarımızı ayırabiliriz. Bizim bu sitemizi ziyaret eden kullanıcı web programlama dillerini incelerken mesela Asp sayfasını inceledikten sonra Php sayfasına geçtiğinde bu sayfada işi bittiğinde tekrar Asp sayfasına geçmek için bizim site haritamızla daha kısa yoldan yapabilecektir.
Şimdi yukarıda gördüğünüz şekilde projemizi Solution Explorer da oluşturalım



Şimdi sitemizdeki web sayfalarımız hazır. Şimdi ise SiteMapPath kontrolünü kullanmak için bir web.sitemap dosyamızı oluşturarak XML kodlarımızı yazalım. Bunun için Solution Explorer’da sağ tıklayıp Add New İtem’i seçtikten sonra 



Hemen açılan pencereden Site Map İtem’ini Seçiyoruz.



Evet dosyamızı eklediğimizde Solution penceremizde web. sitemap doyası geldiğini görüyoruz. Dosyamızı açtığımızda XML tabanlı olan ve SiteMapNode takılarından oluşan bir yapı görmekteyiz. Bu SiteMapNode takıları bizim sitemizin haritasının çeşitli özelliklerini belirtmektedir. SiteMapNode genel olarak Url, Description, Title olmak üzere 3 önemli özellik içermektedir. Şimdi bunları kısaca açıklamak gerekirse Url bizim sayfamızın adresini belirtir, Title ise sayfamızın başlığını bize bildirir, Description ise sayfaya ait açıklamaları yazabiliriz. Evet, bu XML dosyasını tanıdıktan sonra hemen
bizim sitemize göre SiteMapNode kodlarımızı yazalım.


Evet sitemizin haritasını XML ile hazırladık. Şimdide bizim asıl işimizi yapacak olan SiteMapPath kontrolüne geldi sıra. Onu da toolbox’taki Navigation sekmesinde yer olan SiteMapPath çift tıklayarak sayfamıza yerleştiriyoruz.

Şimdi sayfamız çalıştığınızda site haritamız artık kullanıma hazır bir şekilde ziyaretçilerimizin hizmetine sunulmuştur. Biz isterseniz bizim kontrolümüzün şeklini biraz daha güzelleştirerek daha esnek ve daha görsel olmasını sağlayalım. Bunun içinde aşağıda bulunan resimdeki yolu izleyebilirsiniz



Evet, açılan pencereden kendi sitemizin tasarımına uyacak bir format seçtikten sonra uygula diyerek formatımızı belirledik. İsterseniz seçtiğiniz bu format üzerinde yandaki “properties”  panelinden ayarlar yaparak özelleştirebilirsiniz. Bir kaç tanesinden bahselim

# CurrentNodeStyle den bahselim. Current bizim haritadaki son noktamız. Yani içinde bulunduğumuz sayfamızı gösterir.



CurrentNodeStyle ise bizim bu son noktamızın stil ayarlarını yapmamızı sağlar. Ben aşağıdaki resimde de gördüğünüz gibi arka plan rengi ve yazı rengi vererek bir stil oluşturdum.


#
PathDirection özelliği ise iki seçenekten oluşmaktadır. * RootToCurrent (Birinci Noktadan Son noktaya Doğru )



* CurrentToRoot (Son Noktadan Birinci Noktaya Doğru )




# PathSeparator özelliğinde bizim Node’lerimiz arasında kullandığımız ayıraç şeklini belirler ben “ : “ kullanmıştım. Eğer siz isterseniz çok daha çeşitli kullanabilirsiniz



Evet, sanırım bu kadar ayarlamadan sonra uygulamamızı çalıştırarak deneyelim.



Diğer sayfaları da deneyerek sonucu görebilirsiniz. Bu makalede yaptığımız örneği indirip inceleyebilirsiniz.
Sevgi ve Saygılarımla

Mahmut KANTAR
www.mahmutkantar.com
mahmutkantar@msn.com