Yeni, yine, yeniden...
Blogger üzerinde bir blogunuz var ve siz yazdığınız yazıların sadece başlıklarının görüntülenmesini mi istiyorsunuz? Belki de bunun sadece arşiv sayfalarında olmasını da isteyebilirsiniz. Öyleyse durmayın ve yazıyı yavaş yavaş, sindire sindire okumaya başlayın.
Yazının hemen başında bir kişiye, biyografi'ye, bu yazıyı yazmama vesile olduğu için teşekkür ederim.
Uyarı: Bu ipucunun çalışma mantığını öğrenmeden direk uygulamaya geçmek isterseniz Uygulama Başlangıcı başlığından itibaren devam edebilirsiniz.
Uyarı 2: Uygulamayı şablonunuzda denemeden önce mutlaka bir yedek alın.
Koşullu Sorgulamalar
Öncelikle koşullu sorgulamanın ne olduğunu öğrenerek bu işe başlayacağız. Blogger'da bazı değişkenler ile koşullu bir sorgulama yapıp, görüntülenmesini istediğimiz içeriğin sorguladığımız koşula uyduğu takdirde görüntülenmesini sağlayabiliriz. Aslında hali hazırda kullandığınız tüm şablonlarda bu koşullu sorgulamalar vardır.
Koşullu sorgulamalara örnek verirsek:
Gördüğünüz gibi koşullu sorgulamalar olmazsa asla ve asla istediğiniz bir tasarıma sahip olamazsınız.
Blogger'da en çok sayfa tipini denetleyen koşullu sorgulamalar vardır. Bu arada Blogger'da index, item ve archive olmak üzere 3 tip sayfa olduğunu hatırtlatmak da yarar var. Böylece uygun koşullu sorgulamalar ile blog yazılarınızın anasayfada (index), yazı ile birlikte yorumların da yazının kalıcı sayfasında (item) görüntülenmesini sağlayabiliyoruz.
1-) Sayfa tipini denetlemek için b:if cond='data:blog.pageType == "koşul"' sorgusunu kullandığımızı belirttikten sonra 3 tip koşulu listeleyelim.
2-) Farzedelim ki bir içeriğin anasayfa dışında diğer her yerde görüntülenmesini istiyorsunuz. Öyleyse tek yapmanız gereken sorguyu olumsuz cümle gibi kurmaktır.
Uygulama Başlangıcı
1-) Arşiv Sayfasında ve Etiket Sayfalarında Sadece Yazı Başlıklarının Görüntülenmesi
Blogger altyapılı blogların arşiv sayfalarında gezerken yazıların normalde olduğu gibi görüntülendiğini, tek farkın arşiv filtrelemesi olduğunu biliyorsunuz. Aynı şekilde bir etikete tıkladığımız takdirde o etikete sahip yazıların da normalde olduğu gibi sadece filtrelenerek görüntülendiğini biliyorsunuz. İşte tam bu noktada, eğer ziyaretçilerin arşivlerinizde gezinirken ve etiket filtrelemesi yaparken sadece yazı başlıklarını bir liste halinde görüntülemesini sağlayabilirsiniz. Hadi aşağıda vermiş olduğum kodları şablonunuzuda bularak bu işe başlayalım. (Aşağıdaki kod Blogger'ın değiştirilmemiş şablonlarındaki gibidir. Kullandığınız şablonda bu kodlar farklılık gösterebilir)<div class='blog-posts hfeed'>
<b:include data='top' name='status-message'/>
<data:adStart/>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/></h2>
</b:if>
<b:include data='post' name='post'/>
<b:if cond='data:blog.pageType == "item"'>
<b:include data='post' name='comments'/>
</b:if>
<b:if cond='data:post.includeAd'>
<data:adEnd/>
<data:adCode/>
<data:adStart/>
</b:if>
</b:loop>
<data:adEnd/>
</div>
Yukarıdaki kodlarda kırmızı renkli satırlara dikkatinizi çekmek istiyorum. Loop yani döngü içinde alan bu kodlara bir bütün olarak baktığımızda içeriğin belli bir döngüde listelenmesi sağlanmış. Fakat kırmızı renkli satıra dikkatlice baktığınızda ilk satırda b:include data='post' name='post' ile sadece yazıların listelenmesi istenmiş. Fakat bir alttaki satıra baktığımızda da b:if cond='data:blog.pageType == "item"' sorgusu ile bir koşul sunulmuş. Buradaki koşulu düz bir metin halinde okursak anlamı şudur: "Eğer sayfa tipi item ise..." diyip bir altında bulunan içeriğin görüntülenmesini sağlamış. Bir altındaki satıra, yani üçüncü kırmızı satıra baktığımızda da yazı ve altında da yorumların görüntülenmesi istenmiş, son satırda da koşullu sorgulama kapatılmıştır.
Bu dört satırı tekrar düz bir metin halinde okursak anlamı şudur: "Yazıları listele, item sayfasında ise yazı ve yorumlarını listele."
Şimdi buradaki koşullu sorgulamaya bazı sorgulamalar daha ekleyip, anasayfa ve yazı kalıcı sayfaları dışında sadece yazı başlıklarının listelenmesini sağlayacağız.
Yukarıda kırmızı renkle belirttiğim satırların yerine aşağıdaki kodları yapıştırın ve şablonunuzu kaydedin.<b:if cond='data:blog.homepageUrl != data:blog.url'>
<b:if cond='data:blog.pageType != "item"'>
<a expr:href='data:post.url'>
<ul><li><data:post.title/></li></ul>
</a>
<b:else/>
<b:include data='post' name='post'/>
</b:if>
<b:else/>
<b:include data='post' name='post'/>
</b:if>
<b:if cond='data:blog.pageType == "item"'>
<b:include data='post' name='comments'/>
</b:if>
Böylece anasayfa ve yazı kalıcı sayfaları dışında her yerde yazıların sadece başlıkları ile görüntülenmesini sağladık.
2-) Arşiv Sayfasında Sadece Yazı Başlıklarının Görüntülenmesi
Aslında bu işi bu kadar detaylı anlattıktan sonra bu işi sınavda sormak gerekliydi ama... :)
Yukarıda kırmızı renkle belirttiğim satırların yerine aşağıdaki kodları yapıştırın ve şablonunuzu kaydedin.<b:if cond='data:blog.homepageUrl != data:blog.url'>
<b:if cond='data:blog.pageType == "archive"'>
<a expr:href='data:post.url'>
<ul><li><data:post.title/></li></ul>
</a>
<b:else/>
<b:include data='post' name='post'/>
</b:if>
<b:else/>
<b:include data='post' name='post'/>
</b:if>
<b:if cond='data:blog.pageType == "item"'>
<b:include data='post' name='comments'/>
</b:if>
Gördüğünüz gibi sadece ikinci satırdaki koşullu sorgulamayı değiştirdik.
Bitirirken...
Evet, yine uzun ve kapsamlı bir Blogger ipucunun sonuna geldik. Her zaman olduğu gibi, "yeni, yine, yeniden..." diye başlayan bir yazı ile görüşmek dileğiyle...
Blogger'da Sadece Yazı Başlıklarını Listelemek
Bu yazıya 26 adet yorum yapılmış. Düşüncelerini belirtmek istiyorsan durma yorumunu paylaş!
Yükleniyor...

26 yorum:
Blogger'ın etiket yapısı aslında kullanmayı bilene çok profesyonel işler çıkartabiliyor. Teşekkürler.
vay be hocam blogger gibi ekle,sürükle, bırak dan ibaret basit bir sistemi bile bu hale getiriyorsun ya helal vallahi. yazıyıda tez hazırlarcasına ayrıntılı yazmışsın ya tebrikler, yalnız fazla ayrıntı kafa karıştırıyo haberin olsun.
sakin bi zamanda sindire sindire okuyup uygulamaya çalışıcam bakalım nasıl sonuç çıkacak ortaya. blogger paylaşımların için teşekkürler.
saolasın çok güel anlatmışsın işe yarar walla saol
@Damacana,
Aynen.
@taytanik,
He he. Zaten bu dönem okulda Proje II ile uğraşıyorum. Diğer dönem de tezim var, aslında bölümüm ile alakalı olsaydı tez fazla zamanımı almazdı :) Kafalar karışmasın diye de yazının en başında bir uyarı da bulunmuştum ;)
@cinetr,
Eyvallah.
teşekkürler mafiamax bu geliştirme tam benim bloğuma uygun bir şeydi
Ellerine sağlık çok güzel bir anlatım olmuş. Bu özelliği kullanmak çok faydalı oldu. Ziyaretçiler önce yazı başlığını görüp istediği veya kendisine lazım olan yazıyı okuyabilirler. Bşu boşuna sayfanın yüklenmesini beklemek zorunda kalmayacaklar...
Teşekkür ederiz, çok güzel anlatmışsınız.
Hemen siteye uyguladık.
Çok güzel bir uygulama. Çoğu blog için kullanışlı olacaktır bence.
Mafiamax sesimi duyduğun için öncelikle çok teşekkür ederim.
Bütün yazıyı baştan sona okudum ve birazdan uygulayacağım.Heyecanla önce yorumumu yazayım dedim.
Bu benim için çok önemliydi.Çünkü çok hitli blogger bloglarım var ve yeni projelerim.aldığım hostlarda hatta serverlerde bile sorunlar bitmek bilmiyordu.ben de uzun süredir bloggerin nimetlerin faydalanıyorum.çok işime yarayacak yani.
Sen büyük adamsın kardeşim çok sağol.
Damacana kardeş sana bu soruyu r10da da sormuştum ama cevaplamadın.Hep diyorsun etiketleri düzgün kullanana büyük işler var diye ama bi anlatmıyorsun işin püf noktasını.
Öncelikle teşekkür ediyorum. Çok güzel bir özelliği öğrenmiş oldum.
Şimdi de soruya geçelim.
Şöyle bir koşullu sorgu mümkün mü? Anasayfada ve arşiv sayfasında göster, yazı sayfasında gösterme. Bunu klasik şablon ile < mainorarchive > şeklinde yapıyoru. XML temalarda bu yapılabiliyor mu?
@araba-cı,
Öncelikle her türlü mantığı kurmak mümkün. Fakat senin söylediğin şey garibime gitti. Yani sen yazı kalıcı sayfalarında yazıların görünmemesini arşiv ve anasayfada görünmesini mi istiyorsun?
baya işe yarar bu eline saglık..
çok güzel ve işe yarayacak bir geliştirme , teşekkürler
@MaFiAMaX;
Sadece yazı için sormamıştım. Her türlü öğe için, mesela bir resim, banner. Bunun anasayfada ve arşiv sayfasında göster, kalıcı sayfada gösterme. Kastettiğim hem arşiv hem de anasayfayı aynı anda belirtebilir miyiz?
@araba-cı,
Tabiki mümkün. Şöyle:
<b:if cond='data:blog.homepageUrl != "item"'>
Göstermek istediğin öge
</b:if>
Bu sorgu sayesinde yazı sayfası dışında her yerde istediğin ögeyi göstermiş olursun.
Teşekkür ederim.
sayın Mafiamax kardeş bir şey daha istesem çok mu olurum :)
şimdi bu bir etikete tıkladığımızda o etkete ait 10 yazı listeleniyor. bunu o etikette kaç yazı varsa hepsi bir sayfada listelenecek şekilde ayarlayabiliyor muyuz?evetse nasıl?
şimdiden çok teşekkürler.
@biyografin,
Şablon kodları arasında etiketler şeklinde araştır. Tabi adını değiştirdiysen o şekilde arat. Sonra aşağıda vermiş olduğum kodu bulacaksın:
<a expr:dir='data:blog.languageDirection' expr:href='data:label.url'>
Bu kodun yerine aşağıdaki kodu koy, ve maksimum sonuç sayısını da istediğin gibi değiştir.
<a expr:dir='data:blog.languageDirection' expr:href='data:label.url + "?max-results=20"'>
Senin bu "yeni, yine, yeniden..." diye başlayan bütün yazılarına aboneyim. Gerçekten hepsi birbirinden faydalı, eline emeğine sağlık kardeşim...
@teyyare,
Eyvallah. Bu sloganı da Honda'dan çalmıştım :)
arşivde yazı başlıklarımı listelemek isterdim ama bahsettiğiniz değişecek kodu bulamadım malesef..yinede teşekkürler..ben biraz daha arayayım:)
ben uyguladım harika oldu teşekkurler..
merhaba,
ben şablonumu orjinal blogger şablonlarından birini alarak yapmıştım ancak yukarıda bahsetmiş olduğunuz kodları bulamadım. Altta verdiğiniz kodları direk yapıştırdım ancak o zaman da bahsettiğiniz sonucu alamadım. Yardımcı olabilir misiniz?
@Suat Bey,
Blogunuz yasal olmadığı için bir yardımda bulunamam. Hatırlarsanız Blogger sizin sahip olduğunuz türden bloglar yüzünden yasaklanmıştı!
peki bu sizin temanızı kullanmam konusunda sizi rahatsız eder mi?
@Suat Bey,
Hayır etmez. Çünkü temaların kullanımından doğabilecek tüm yükümlülükler kullancıya aittir.
Sadece blogun en altında bulunan Copyright yazısını sizinkisi ile değiştirin.
Yorum Gönder
Küfür ve hakaret içeren yorumları sevmiyor, Türkçe'nin doğru kullanıldığı yorumları ise çok seviyoruz.
HTML: <b>, <i>, <a> gibi temel HTML etiketlerini kullanabilirsiniz.
Uyarı: URL adresi belirtirken lütfen başına http:// protokolünü koymayı unutmayın!