RSS Haber

RSS ile düzenli olarak içerik sunan sitelere abone olabilir, içeriklerin başlık ve özetlerini alabilirsiniz.

Bu işlem için simplexml_load_file() işlevini kullanarak içeriği alıp şu şekilde ekrana basıyorum.

Özet olarak, sitenin RSS, XML vs. abonelik adresinden veriyi çekip düzenleyerek, cache klasöründe ki yarım saatte bir güncellediğim haber.js dosyama kayıt ediyorum. Gerisi zevke göre style kodlarına kalıyor.

Çalışma için haberleri Google amcadan alacağım, içeriği de bu dosyaya göre düzenleyeceğim. Diğer sitelerin dosyalarında ufak tefek farklılık olabilir, dosyayı okuduktan sonra gerisi bir şekilde düzenlenir. Mesela temel bir farklılık; rss dosyasından veri alıyorum, veriler channel etiketi altındaki itemlerde. Atom dosyalarında feed altında entry etiketinde oluyor gibi. Dosyaya göre ayarlamak lazım.

Önce rss-haber klasörümde index.php dosyası açıp kodları yazmaya başlıyorum.

8. satırda koyduğum fonksiyonu içeriğin description kısmını temizlemek için kullanıyorum. İhtiyaç duymazsanız eklemeyebilirsiniz. Şimdi cache tutacağım klasörü ve dosyayı ayarlayıp dosyaya 30 dakika ömür biçiyorum 🙂

Aşağıdaki if sorgusunda sırasıyla dosya yoksa veya dosya 30 dakikadan eskiyse işlem yapmaya başlıyorum. Bu kısımda alacağım verileri ekrana basmayacağım için 22. satırda arabellek oluşturuyorum.

Şimdi veri dosyasını xml değişkenine alıp item etiketlerini items değişkenine alıyorum. Buradaki items dizi (array) şeklindedir.

İçeriği javascript arrayında kullanmak istiyorum, bu nedenle değişkenlerimi tanımlıyorum.

Ve her girdiyi bir dizi elemanı olarak yazıyorum.

Ekrana basmadan yazdığım içeriği cache değişkenine alıp dosyama yazıyorum.

Dosya yoksa veya eski ise bu işlemleri yapayım diye if açmıştım, kapatıyorum.

Dosyayı tarayıcıda açtığımda boş sayfa görmekle beraber cache klasöründe haber.js dosyam oluşmuş oluyor (olmalı). Bu dosyayı güncelenerek kullanmak için yine bu index dosyasını kullanacağım demiştim. Şöyle yapıyorum.

Böylece index adresimin sonuna ?tip=js yazarak javascript dosyası gibi ekleyebiliyorum.

Bu scripti eklediğimde içindeki değişkenleri ayarladığım tasarımın içine atıyorum. Dikkat edeceğim şey inner.html kullandığım için bu scripti içeriği göstereceğim yerden sonra eklemeliyim. Yukarıda gördüğünüz örnek için kullandığım kodlar şöyle:

Yukarıda dizi şeklindeki içeriğimi teker teker li etiketinde rssuliki idli ul içine eklemiş oldum. Title kısmına descriptionu ekleyebildim. İlk başta koyduğum fonksiyon title gösterimine engel olan işaret, tag vs hepsini sildi. Kaçırdığım bir işaret vs varsa da henüz denk gelmedim, böyle iyi gidiyor şimdilik.

2. satıra tasarım için kullandığım style dosyasını ekledim, buraya yazsam da olurdu. Örnekteki için style kodlarım:

İşlem bu kadar.

Değişik örnekler için demolar sayfama bakabilirsiniz.
Hazır dosyaları indirmek isterseniz :
Dosyalar üyelere özeldir: Giriş Yap
Yeni misin? Kayıt ol

You may also like...

Bir yanıt yazın