Sitemizde Drupal'de views ile en çok yorumlanan 10 içeriği bir blokta göstermek istiyoruz. Ve daha fazlasını görmek isteyenler için "devamı" linkiyle başka bir sayfaya yönlendirelim. Şimdi bunları nasıl yapacağımıza gelelim. İlk views uygulamamız olduğu için biraz detaylı anlatacağım.
- “Yönetim > Site Yapısı > Views” ile views ayar sayfasına gidiyor ve buradan “Ekle” sekmesine tıklıyoruz.
- Basic information:
- İsim: bu kısma görünümümüzün adını yazıyoruz. Türkçe karakterler kullanmıyoruz. Veritabanı ve dosya işlemlerinde bu ad kullanılacak. Örnek olarak top_10 yazalım.
- Access: Kimlere gözükmesi gerektiğini belirtiyoruz. Üyeler ve ziyaretçiler istediğinizi seçebilirsiniz.
- Açıklama: Buraya sizin daha sonra rahatlıkla diğer viewslerinizden ayırt edebilmeniz için bir açıklama girin.
- Sayfa:
- Provide Page View: Eğer yeni bir sayfada bu gösterimin gösterilmesini istiyorsak bu şıkkı işaretlememiz gerekir. Sayfa altındaki diğer bölümler doldurulmuş olsa bile bu kısım işaretlenmedikçe viewsinizi sayfada gösteremezsiniz.
- URL: Bu kısma sayfanızın almasını istediğiniz url'sini girin. Biz en çok yorumlanan içeriği sıralayacağımız için "toprated" girdik.
- Views Type: Burdan gösterim tipini seçiyoruz.
- Full nodes: Tam görünüm. Teaser list: Özet görünüm. Table views: Tablo gösterimi. Sıralı liste. Views RSS: RSS Feed: RSS gösterimi. Bir bunlardan table views'i seçtik.
- Başlık: kısmına views sayfasında gösterimin üstüne bir başlık koyabilirsiniz. Örnek: En çok yorumlanan içerikler.
- Use Pager: seçerseniz eğer içeriğin sayfalanmasını sağlarsınız.
- Nodes per Page: bölümünde girilen sayı kadar bir sayfada gösterilen içerik sayısını belirtebilirsiniz.
- Başlık: kısmına sayfaya bir tanım bilgisi, içerik, resim, geniş açıklama girebilirsiniz.
- Footer: aynı şekilde sayfanın altına bir açıklama girebilirsiniz.
- Empty Text: Eğer sayfada hiç bir gösterim yoksa "Henüz yorumlanan bir içerik bulunmamakta" gibi bir açıklama gireblirsiniz.
- Menu: Eğer bu viewse menüden link vermek için burayı kullanabilrsiniz. Tabiki menüdeki link En üste açıkladığımız URL alanına girdiğimiz adrestir.
- Blok:
- Provide Block Eğer blok olarak göstermek istiyorsak seçiyoruz.
- View Type: Gösterim tipini seçiyoruz. Genellikle burda list view seçeriz. İstersek tabloda gösterebiliriz.
- Başlık: Bildiğiniz blok başlığı.
- Nodes per Block: Blokta gösterilen içerik sayısı. Biz en çok yorumlanan 10 içeriği göstereceğimize göre 10 giriyoruz.
- [More] Link? Eğer yukardaki bölümde "Provide Page View" demişsek, more link ile url alanına yazdığımız alana gidecek.
- Başlık, Footer, Empty Text kısımları Sayfa kısmında söylediklerimizin aynısı geçerli.
- Fields: Bu kısımda hangi alanları göstereceğimizi seçiyoruz. Node title, yorum sayısı, görüntülenme sayısı, oylama, favorilere eklenme sayısı, yazar, eklenme tarihi, kategorisi gibi bir çok alanı seçebiliriz. İşte viewsin püf noktası burası. Drupal'i diğer cms sistemlerinden üstün olması bir nedeni de istediğimiz alanları seçmemize olanak tanımasıdır. Örneğin Joomla'da bu gösterimi elde edebilmek için her bileşen için ayrı gösterim yani modül yüklememiz gerekli. Seçme özgürlüğümüz yok. Örnek: Joomla'da remository bileşeni için Last down, categories, latest comments, popular, newest.. Bunları Drupal'de hiç bir modül ve bileşen kullanmadan yapabilmek mümkün.
Biz alan olarak Node: Title (içerk başlığı) seçip ekleyelim. Ve Comments: Count (Yorum sayısı) ekleyelim.
- Label: Gösterimde o alanın üstündeki sütuna gelecek bilgi. Örneğin biz Node: Title için Konu, Comment: Count için Yorum sayısı girelim. Burda dikkat edilmesi gereken husus gösterim tipimizi sayfa ve blok'tan list view olarak seçtiğimiz için biraz css düzenlemesi yapmamız gerekebilir. Bunu label girip viewsimizi oluşturduktan sonra daha iyi anlayacaksınız. Ama table view kullanmışsak görünümde bir sorun oluşmaz. İleriki konularımızda views'in düzenlenmesine yer vereceğiz.
- Handler: kısmında her alana özgün ayarlar mevcut. Node: Title 'de normal ve with updated mark şeklinde iki ayar mevcut. Eğer with updated mark dersek eğer içerik güncelenirse konunun yanında kırmızı küçük bir yazıyla güncellendi yazar. Comments: Count 'da handler'da with new count ile yeni yorum eklenmişse aynı şekilde ufak kırmızı fontla new diye gösterir.
- Ve bunun gibi daha ilgili kısımları kendiniz kurcalayarak keşfedebilirsiniz.
- Arguments: Gösterimimiz en çok yorumlanan 10 içeriği kapsıyor. Bu gösterim bütün sayfalarda aynıdır. Ama biz bu gösterimi A üyesinin sayfasında, A üyesinin gönderdiği en çok yorumlanan 10 içeriği göstermek istiyorsak arguments kullanmalıyız. Bunun için Add Argument kısmından User: UID is Author ekleyip, Argument Handling Code kısmına:
- if (arg(0) == 'user' && is_numeric(arg(1))) {
- return array(arg(1));
- }
girmeliyiz. Bu sayede, eriştiğimiz kullanıcı sayfasındaki ikinci url değişkeni olan kullanıcı id değeri alınarak, görünümdeki süzme işlemi sırasında, tüm içerikler arasından bu id değerine sahip kullanıcının oluşturduğu içeriklerin bulunmasını sağlamış oluyoruz. - Filters: Süzgeç yani filte kısmında gösterimimizden istediklerimizi ihraç edebiliriz. Node: Published ile yayınlanmayan içeriklerimizi, Node: Type ile story, page, forum gibi içerik türüyle eklenmiş içeriklerimizden birini veya bir kaçını süzebiliriz. Örneğin Node:Type ekleyip, Is one of Page seçersek gösterimimize Page türü içerikleri katılmaz. Diğer madderlerle oynayarak istediğiniz görünümü oluşturabilirsiniz.
- Exposed Filters: Bu gösterimimizde bunu kullanmaya ihtiyaç duymuyoruz. İleriki derslerimizde ne işe yaradığı anlatılacak. Temel olarak, kullanıcıların içeriği isteklerine göre süzmelerini sağlayabiliriz. Mesela bir araba sitesinde kullanıcı isterse 2000 modellerle 1.6cc motorlu arabaları sıralandırır, isterse 2008 model arabalarla 1.8cc motorlu arabaları sıralandırır. Bu exposed filters kullanım örneği için http://www.focagenc.net/tv sitesinde sağ kısında dizi süzgecine bakabilirsiniz.
- Sort Criteria (sıralama kriterleri) Bu kısımda içeriğimizin neye göre sıralanacağını seçiyoruz. Gösterimimizi oluşturduk ama neye göre sıralanacğını belirlemedik. Biz en çok yorumlanandan en az yorumlanana sıralanmasını istiyoruz. O zaman "Comment: Count" yorum sayısını ekleyip, Order (sıra) değerini Descending (azalan) olarak seçiyoruz.
Tüm views ayarlarımızı tamamladğımıza göre Kaydet deyip işi tamamlıyoruz. Peki viewsimizi oluşturduk. Bir de bunu yayına sokmamız gerekiyor. Bunun için bloklardan yani "Yönetim > Site Yapısı > Bloklar" sayfasından yayınlanmayan bloklar arasından viewsimizin bloğunu bulup yayınlıyoruz. Temamızın hangi bölgesinde yayınlanmasını burdan seçebiliyoruz. Hatta yapılandır deyip hangi sayfada yayınlaması gerektiğini belirtebiliyoruz. Bu sayfa ayarları için önceki konularımıza bakmanızı öneriyorum.
Artık "en çok yorumlanan 10 içerik" viewsimiz oldu. Ve bu viewsimizin altında devamı ile toprated sayfamızda tüm içeriğimizi yorumlanma sayısına göre sıraladık ve sayfaladık. Her sayfada Sayfa bölümü altından Node per Page kutucuğuna girdiğimiz sayı kadar içerik gösterdik. Olay bundan ibaret. Aslında bir kaç kullanımdan sonra Views kullanımı size daha kolay gelecek.
Diğer derslerimiz takip ederseniz kendinize profesyonel bir site oluşturmanız gayet kolay olacak.

Yorumlar
Yeni yorum gönder