Tam o sırada, başka bir pillinetwork sitesi olan sinepil.org'da: "Just My Luck"

drupal
drupal

Şurada drupal'in olmazsa olmaz modüllerinden bahsetmiştim. Bu yazımda ise drupal 5.x için bu modüllerin nasıl kullanılmaları gerektiğini anlatacağım.

Hemen bir örnek üzerinden başlayalım. Basit bir okul gazetesi tasarladığımızı düşünelim. Gazete editörü bizden aşağıdaki dinamik içeriklerin devamlı girileceğini söyledi:

  • Haberler
  • Köşe yazıları
  • Magazin Haberleri

ve bu içerik türlerinin teaserlarının anasayfada izlenmesini istedi. Bu teaserlardan birine tıklandığındaysa o haberin (konunun vs.) görseli, içeriği ekrana basılacak olsun. Hemen işe koyulalım.

1. Views, CCK, imagecache, imagefield modüllerini kurun ve kurduğunuz modüllerin gruplarındaki tüm alt modülleri aktif hale getirin (hepsi gerekli olmamasına rağmen detaylara giremeyeceğimizden hepsini işaretlemeniz en iyisi)

2. Home › Administer › Content management > Content Types linkini izleyerek "Add content type" butonuna basın ve yeni bir içerik türü yaratın. İlkine Haberler, diğer ikisine de köşe yazıları ve magazin haberleri adını verin. Detaylar çok önemli değil

3. Home › Administer › Site building > Imagecache linkini izleyerek "add new preset" butonuna tıklayın. Buradan sırasıyla adları teaser_image ve preview_image olan iki standart yaratın. Her bir tür için istediğiniz scale ve crop özelliklerinden birini ya da birkaçını kullanabilirsiniz.

4. Home › Administer › Content management > Content Types linkini tekrar izleyin ve bu sefer Haberler içerik tipini editleyin ve add field butonuna basarak sırasıyla bir text ve bir image field yaratın. Text field için "content_teaser", image field için "content_image" isimlerini verin, detaylar yine önemli değil.

5. Yukarıdaki adımı haberler dışındaki diğer content type'lar için de gerçekleştirin fakat bu kez add field dediğiniz zaman daha önceden hazırladığınız fieldların burada gözüktüğünü göreceksiniz. Yeni field yaratnmayın ve bu hazır field'ları content type'lara ekleyin.

6. Home › Administer › Site building > Administer views linki üzerinden add butonuna tıklayın.

  • Yeni "view" inize bir isim verin
  • block sekmesinden Provide Block seçeneğini işaretleyin
  • View Type: List view olsun
  • Nodes per Block:4 olsun
    fields sekmesinden image:content_image 'ni seçin ve add field deyin.
  • Açılan sayfada bu field option'ı için teaser_image 'ı seçin.
  • Biri 'Node:title', diğeri 'Text:content_teaser" olmak üzere iki field daha ekleyin.
  • Filters sekmesinden Add Filter seçenekleri arasından 'node type' ı seçin ve add filter butonuna bastıktan sonra açılan sayfada Operator: Is One of, Value: Haberler olacak sekilde ayarlayın.
  • Son Olarak Sort Criteria sekmesinde son içeriklerin gözükmesi için node:created time seçeneğini ekleyin ve açılan sayfada descending deyin.

Gönül rahatlığıyla view'inizi kaydedebilirsiniz. Aynı view'i klonlayarak isimlerini değiştirebilir ve magazin haberleri ve köşe yazıları türlerine uyarlayabilirsiniz. Uyarlayın.

7. Sıra geldi bu viewları ekrana bastırmaya.
  • siteniz\themes altında garland klasörünü aynen kopyalayın ve gazete adını verin.
  • Home › Administer › Site configuration > Administration theme linkini ziyaret ederek default admin temasını garland olarak ayarlayın
  • Ardından Home › Administer › Site building > Themes linkini izleyerek gazete temasını default tema olarak ayarlayın.

8. siteniz/themes/engines/phptemplate/phptemplate.engine dosyası içindeki:

function phptemplate_regions() {
return array(
'left' => t('left sidebar'),
'right' => t('right sidebar'),
'content' => t('content'),
'header' => t('header'),
'footer' => t('footer')
);

}

fonksiyonuna birkaç satır daha ekleyerek yeni regionlar yaratın.Örneğin:

function phptemplate_regions() {
return array(
'left' => t('left sidebar'),
'right' => t('right sidebar'),
'content' => t('content'),
'header' => t('header'),
'footer' => t('footer'),
'haber_teaser' => t('haber teaser'),
'kose_yazisi_teaser' => t('kose yazisi teaser'),
'magazin_teaser' => t('magazin teaser')
);

}

9. siteniz/themes/gazete/page.tpl.php dosyasını açarak bu yarattığınız regionları yerleştirme zamanı geldi. Bunu aşağıdaki gibi yapabilirsiniz.

<div class="haber_teaser"><?php if($haber_teaser){print $haber_teaser;}?></div>

Unutmayın, engine'de belirttiğiniz region isimleri neyse burada da değişken adı olarak aynı ismi kullanmalısınız. Biryerlere de şimdilik orada durmak üzere $content değişkenini bastırın ki blok ayarları gibi durumlarda bomboş sayfalar görmeyin. HTML dökümanınızın en altına $content değişkenini bastırabilirsiniz.

10. Home › Administer › Site building > Blocks linkini izleyin ve gerekli blok karşısına gerekli region'ı seçin, kaydedin.

11. Her bir content type için birtakım dummy içerik girin (bu arada firefox için dummy lipsum adlı add-on'u da tavsiye ederim). Şimdi logout olarak sitenizi izleyin. Girdiğiniz içeriklerin teaser'larının ekrana list item'lar içinde belirttiğiniz yerlerde basıldığını göreceksiniz. Birkaç css düzenlemesiyle ekranda durmasını istediğiniz gibi ayar yapabilirsiniz.

12. siteniz/themes/gazete temanız altındaki page.tpl.php dosyanızı kopyalayın ve adını page-front.tpl.php olarak değiştirin. Böylece anasayfa ziyaret edildiğinde bu template dosyası ekrana bastırılacaktır. page.tpl.php dosyanızı ise içeriğe tıklandığında nasıl izlenmesini istiyorsanız öyle düzenleyin.

Sitenizi logout olarak ziyaret edin ve keyfini çıkarın.

Spacer
Spacer
 | 2 yorum var 
 | 25 Temmuz 2008 11:00 

« önceki yazı
Twitpic

Yorumlar

Drupal 6.x'te hem CCK hem de Views eklentilerinde özellikle grafiksel arayüz açısından ciddi değişikler yapıldı. Buradaki anlatımda bahsedilen şekilde eski sürümleri kullanmış olan arkadaşlar yeni versiyonlara alışmakta biraz zorlanabilirler. Aynı şekilde 8. adımda belirtilen yeni blok alanları ekleme işlemi de Drupal 6.x'te çok farklı yapılıyor. Sanırım tüm bu eski anlatımları toptan güncellemek gerekecek. Başlangıç olarak aşağıdaki anlatımlara bakabilirsiniz:
drupaloSa  |  (0 puan) 18 Ekim 2008 14:57

\
öncelikle herkeze selamlar views'den magazin başlıklarını çeken bir blok olusturdum. ve bloklardan anasayfama yerleştirdim.. ben sadece bu bloga yukarıdaki gibi nasıl değişim yapabilirim.. bu konuyla ilgili çoğu arkadaşımızda bilgi arıyor ama detaylı düzgün birşey yok lütfen yardımlarınızı. bekliyoruz bol drupallı günler dilerim..

blackeyes42  |  (0 puan) 14 Ocak 2010 20:10

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

Bu Yazıyı Tutanlar

Beğendiğiniz bir yazıya "tuttum" demek için başlığın yanındaki yıldıza tıklayabilirsiniz.

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)
bildirgec.org bölümleri
pillinetwork hesabınızla giriş yapın.

son yorumlar

bildirgecinfo

bildirgec.org içeriği kullanıcıları tarafından üretilen kolektif bir blogdur.

network siteleri

RSS Dosyası
pillikutu