Merhaba arkadaşlar,
haber sitelerinde bir bölüm olur da, o bölümde eklenen son haberler listelenir ya hani, işte o bölümün sizin mantığınızla nasıl yapıldığını merak etmekteyim. Ben iki yol denedim biri video destekli fakat sonuca ulaşamadım. Umarım bilginiz vardır ve bu bilgiyi benimle paylaşırsınız.
Ekte bir resim mevcut. O resimde yeşil çizgiyle ayrılmış iki views içine gömülmüş pane olacak. Üst bölümde en yeni 3 tane haber manşet haber olacak. Alt bölümde ise eklenen son haberler olacak. Son haberlerin sayısı 20 de olabilir 10 da. Ben 10 tanenin görselini yapabildim. Yani manşet haberler ayrı blok, son haberler ayrı blok olacak.
Tabi tüm haberlerin fotoğrafı gözükmeli diye düşündüm. Manşet haberde fotoğrafın alt kısmında haberin başlığı olacak. Son haberler bölümünde ise haber fotoğrafının yanında haberi özetleyen yazdığım herhangi bir cümle.
Eklediğim resmin bağlantısını da veriyorum.
Umarım anlatabilmişimdir. Bunu yapabilen bir modül bulamadım. Elle yapmayı denedim fakat beceremedim. Tüm tavsiyelere açığım. Yeter ki bunu yapabileyim. ( :
Kırmızı ve mavi kutular haber fotoğraflarını temsil ediyor.
http://b1108.hizliresim.com/11/8/16/4371.jpg
| Attachment | Size |
|---|---|
| sonhaberler.jpg | 86.55 KB |
Comments
Son Haberler
Merhaba,
Bunu birden farklı yol ile yapabilirsiniz. Sizin yaptıklarınızdan yola çıkacak olursak belki ufak bir fikir verebilirim. Siz üzerinde çalışarak içeriği değiştirebilirsiniz,
Bu içerik türüne Haberin İçeriği (haberin_icerigi) isminde yeni bir Text Field daha ekleyin. Bu alan haberin tamamını yazacağınız alan olacağı için Max uzunluk vs vermeyin.
Artık elinizde Haber yazabileceğiniz bir içerik türü mevcut. Bu içeriğe her seferinde elle resim küçültmek yerine Imagecache eklentisini kullanarak işinizi kolaylaştırmanızı tavsiye ederim. Böylece her eklenen resim otomatik olarak sizin belirlediğiniz boyuta göre yeniden boyutlandırılacaktır. Belki biliyorsunuzdur ancak ben yine de yazayım,
Bundan sonra yine sizin de yazdığınız gibi Views devreye girecek.
Yeni bir Views oluşturun.
Bu Görünümün Default sekmesinde Filtrelerden,
seçeneklerini seçin.
Daha sonra Fields sekmesinden, Node'u seçin ve Başlık alanını seçin. Daha sonra İçerik'i seçin ve az önce yarattığınız haberin_ozeti, haberin_icerigi ve haberin_resmi alanlarını seçin. Hepsi için Label değerlerini None (Hiçbiri) olarak seçin. haberin_ozeti ve haberin_icerigi alanları için Format alanı varsayılan olarak Varsayılan olarak kalsın, ancak haberin_resmi için, Format alanından az önce oluşturduğumuz Imagecache preset'ini bulun (sonhaber_100x100 image linked to node). Sayfaya linklenmiş olur ve resmi tıklayan kişi haberin sayfasına gider.
Bu yaptıklarımız işin geneliydi. Şimdi bunları sizin istediğiniz gibi block'lara böleceğiz. Views panelinin sol tarafında bulunan alandan (Page yazar) Blok'u seçin ve Add display'i tıklayın. Bu işlem sonucunda Views panelinde az önce oluşturduğumuz seçenekleri miras olarak alan yeni bir bölüm oluşacak. Burada yapacaklarımızı daha sonra admin/build/block sayfasında block olarak göreceğiz ve sayfanızın istediğiniz Block Region'ında görüntüleyebileceksiniz.
Bu block'a karıştırmamak için bir isim verin. Örneğin, Haber Baslik Block. Daha sonra bu block'da görüntülenmesini istediğiniz alanları seçin. Bu alanlar Defaults alanından miras geldiği için italic görünecektir. Siz burada (Sizin yolladığınız resme bakarak konuşuyorum) Fields alanının yanındaki + işaretini tıklamalı ve haberin_icerigi alanini kaldırmalısınız (Dikkat bu işlemi yeni oluşturduğumuz Block alanı içerisinde yapıyoruz, Defaults alanında değil). Bu işlemi yaptıktan sonra, Defaults alanındaki Fields sekmesinde 4 adet seçili alan varken, yeni oluşturduğumuz Block alanında 3 adet alan olmalı. Yani Başlık, haberin_ozeti ve haberin_resmi alanları olmalı. Basic Settings sekmesinden, Items to display: 3, Number of columns: 3 seçin (Sizin örneğinize göre). Style: Grid olmalı, ancak siz kullandığınız Tema'daki block alanına göre diğerlerinide deneyebilirisiniz.
Aynı şekilde yeni bir Blok alanı oluşturun. İsim olarak Haber Ozet Block verin. Bu sefer Fields alanında Başlık, haberin_ozeti ve haberin_resmi olacak şekilde düzenleyin. Basic Settings sekmesinden, Items to display: 10, Number of columns: 2 seçin (Sizin örneğinize göre). Style: Grid olmalı, ancak siz kullandığınız Tema'daki block alanına göre diğerlerinide deneyebilirisiniz.
Yaptıklarınızı kaydedin ve admin/build/block sayfasında gidin. Burada, yukarıda oluşturduğumuz, Haber Baslik Block ve Haber Ozet Block isimli blockları göreceksiniz. Şimdi bu block'ları sitenizin uygun yerlerinde görüntüleyebilirsiniz.
(Eğer isterseniz Haberin İçeriği sayfasında da Haberin Resmini farlı bir Preset tanımlaması yaparak farklı bir boyutta görüntülenebilirsiniz.)
Uygulamadan yazdım, kısa zamanda ilk aklıma gelen bunlar. Umarım en azından fikir verebilmişimdir. Block alanlarını Css yardımıyla düzenleyerek daha güzel bir görünüme kavuşturabilirsiniz veya uğraşmak istemiyorum derseniz, Panels eklentisi ile bu blockları Panel içerisinde görüntülenmesini sağlayabilirsiniz. Css yerine Panels eklentisinin Rounded Corner ve Shadow özelliklerinden faydalanabilirsiniz. Olmadı, yine Panels eklentisinin güzel bir nimeti olan Custom Style ile Css ekleyebilirsiniz. Haberin sayfası için de Display Suite eklentisini kullanarak Haberin cinsine göre (farklı içerik türleri tanımlayarak Spor, Ekonomi Siyaset), farklı görünümler elde edebilirsiniz.
Umarım işinize yarar. İyi çalışmalar.
Serdar Tokcan
www.serdartokcan.com
Serdar Tokcan
www.serdartokcan.com
www.drupalturkey.com
Anlatım
Gerçekten çok özverili ve güzel bir anlatım. Ben ilk mesajda neyi yapamadığımı yazsaydım, sizi de bu kadar zahmete sokmazdım sanırım.
Ben denememde bir türlü kolon olayını yapamamıştım. Hep alt alta diziliyorlar. Views düzenle bölümünden, daha önce bu views'e eklediğim blok görünümünde Basic Settings altında Style:Unformatted'a tıklıyorum ve orada 2 kolon mu olsun 3 kolon mu olsun karar verip kaydediyorum. Override ve Update Default Settings butonlarını da kullandım ayrı ayrı. Gene de son haberler kolonlara bölünmüyor. Hep uykusuz uğraştığım için bir şeyleri kaçırıyorumdur ama neyi kaçırdığımı da ısrarlı bir şekilde bulamamaktayım.
Umarım bir çaresi vardır.
Son Haberler
Rica ederim dert değil,
Kolon görünümü için, Views panelinde Style sekmesinden Grid seçerek, bir sonraki ekranda da Number of columns seçeneğinden kolon sayısı belirleyerek yapabilirsiniz (Belki denemişsinizdir ama yine de hatırlatayım istedim).
Update Defaults ile Override arasındaki fark, Defaults sekmesinde ayarlamış olduğunuz seçeneklerden bağımsız olarak farklı bir page veya block eklemek istediğinizde, eklenen bu page veya block varsayılan olarak değerleri miras olarak Defaults sekmesinden alır ve bu değerler italic olarak gösterilir. Eğer siz yeni eklediğiniz Page veya Block'da, Defaults sekmesindeki genel ayarlardan farklı bir görünüm elde etmek istiyorsanız, ekleme veya değiştirme esnasında Override seçeneğini seçmelisiniz. Böylece yukarıdan (Yani Defaults sekmesinden) gelen değerlerin yeni eklenen Page veya Block'daki yeni değerleri etkilemesini engellemiş olursunuz. (Kısacası Defaults sekmesinden gelen değerlerin üzerine yaz demiş oluyoruz). Böylece yukarıdan gelen değeri değiştirme veya kaldırma şansınız olur.
Update Defaults Settings tıklandığında da, Override edilmiş değerlerin üzerine Defaults'daki değerlerleri yaz demiş oluyoruz (Yani Defaults sekmesinde belirlemiş olduğumuz değerleri yaz diyoruz).
Eğer siz Defaults görünümün altında yeni Page veya Block eklerseniz ve farklı değerleri belirlerken Override'ı tıklamazsanız bu durumda Page veya Block'da yaptığınız bu değişiklik Defaults sekmesindeki değeri de değiştirecektir. Böylece farkında olmadan, değerleri Defaults sekmesinden alan olası tüm Page veya Block'lar da bu değişikliğe uğrayacak ve sadece bir Page veya Block'u değiştirmek isterken ortak değerleri Defaults sekmesinden alan tüm Page veya Block'lar bu değişiklikten etkilenecektir.
Eğer için işinden çıkamazsanız Panels eklentisini kurun isterseniz. Böylece 2-3 kolonlu görünümleri rahatlıkla elde edebilirsiniz.
Serdar Tokcan
www.serdartokcan.com
Serdar Tokcan
www.serdartokcan.com
www.drupalturkey.com
Çok teşekkür ederim.
Çok teşekkür ederim. Anlatmanıza değdi ve istediğim görüntüyü elde ettim. Sevindiğim bir konu da birçok forumda soruluyordu son haberler diye. Google'da aramada bu sayfanın ilk sıralarda çıkması mutlu edici.
Son Haberler
Rica ederim :) İşinize yaramasına sevindim.
Serdar Tokcan
www.serdartokcan.com
Serdar Tokcan
www.serdartokcan.com
www.drupalturkey.com
Hizalama
Sanırım ufak olan bir problemle karşılaştım. Alt bölümde (mavi kutucuklu bölüm) bir türlü haber fotoğrafı ile haber başlığını hizalayamadım. views ayarlarından inline yaptım beceremedim. Firefox'ta oluşturduğum views'i teftiş edip class'larını buldum. page.tpl.php dosyasında iki class'ı tek div haline getirmeye çalıştım gene beceremedim. Yeni bir CSS dosyası oluşturup bunu temanın .info dosyasından tanıttım. Daha sonra views'e yeni bir class atadım. Onu şekillendirmeye çalıştım fakat gene beceremedim. Yapan nasıl yapıyor diyerek diğer sitelere göz attım. Örneğin bu sitede yapıldığı gibi yapmak istedim. Burada gene FireBug'ı kullanarak elemanları tek tek teftiş ettim. CSS dosyasına göz attım. Ayarlamaya çalıştım ama olmadı.
Garibime giden bir şey ise; benim yan yana getirmeye çalıştığım class'ların (bu classları elemanı teftiş et diyerek buluyorum) hiçbir dosyada adının geçmiyor olması.
Umarım yapmak istediğim olayın çözümü basittir. Tekrar bilginize danışmak istedim.
Son Haberler
Selam,
Tam olarak ne yapmak istediğinizi sayfa üzerinde görmediğim için anlayamadım. Ancak hizalama olayını rahatlıkla temanızın kullandığı css dosyasında yapabilirsiniz. Bunun için page.tpl.php veya yeni bir css dosyasına ihtiyacınız yok. Temanızın css dosyasında (Genellikle style.css dosyası olur. Bunu tema dosyalarınıza bakarak anlayabilirsiniz) tanımlayacağınız bir id veya class tanımlaması ile yapabilirsiniz.
Css dosyalarında hiyerarşik bir düzen vardır. Tanımlayacağınız alan bir views çıktısı ise, o views çıktısını FireBug ile bulduktan sonra, bulmuş olduğunuz bu views alanının (id veya class artık neyse) hiyerarşik olarak üzerindeki id ve class'larının altında bir css tanımlaması yapmalısınız. Örneğin, FireBug ile baktığınızda Views çıktısının class ismi field_resim olsun. Bu satırı bulduğunuz yerin üzerindeki id ve class'ları bulmalısınız. Mesela bu alanın üzerinde bir çok id ve class tanımlaması göreceksiniz ama üzerinde çalıştığınız alan ile alakalı css satırını bulursanız işiniz kolaylaşır. Tamamen atıyorum, bulduğunuz tanımlamanın üzerinde view-content isminde bir class ve onun da üzerinde content-area üzerinde bir id olduğunu varsayalım. Hizalama yapacağınız alanın durumunu bilmediğim için sol'dan bir padding tanımlaması yaparak örnekleyelim. Bu durumda css dosyasında sizin yapacağınız tanımlama,
#content-area .view-content .field_resim {
padding-left: 20px;
}
şeklinde olmalıdır.
Bu örnekten yola çıkarak değiştirmek istediğiniz alanı hiyerarşik olarak tanımlayarak istediğiniz görünümü elde edebilirsiniz.
Serdar Tokcan
www.serdartokcan.com
Serdar Tokcan
www.serdartokcan.com
www.drupalturkey.com
özel müdahele yöntemi
Merhaba,
sayenizde oldukça kaliteli bir içerik oluşmuş. Sorun zaten çözülmüş gibi. Sanırım biraz da geç oldu ama başkalarına da faydası olabilir diye düşünerek her bir views için (Sayın Sedar Tokcan'ın da izniyle) özel - butik müdahele yönteminden bahsetmek istedim;
Drupal ile tanışmam D7 ile olduğu için D6 için de geçerli olup olmadığında emin değilim. Views page, views block ya da her hangi bir views tipi için özel bir tema oluşturmak isterseniz, Views'da sağ tarafta Advanced > Other > Theme Information 'a tıkladığımzıda bir pencere açılıyor. Burda kullandığımız temaya göre Display Output, Style Output, Row style output, Field Content: Title (ID: title), Field Content: Body (ID: body) gibi başlıklar ve bu başlıkların karşısında genelden daha özele doğru detaylı views isim önerileri var. Örneğin Display Output : views-view.tpl.php, views-view--haber.tpl.php, views-view--default.tpl.php, views-view--page.tpl.php, views-view--haber--page.tpl.php gibi. En sonda yer alan "views-view--haber--page.tpl.php " önerisini kullanmak istersek, temamızın bulunduğu klasörde bu isimde yeni bir dosya oluşturuyoruz. Dikkat ederseniz Display Output başlığı aynı zamanda bir link. Buna tıkladığımızda açılan pencerede buluna tüm kodları kopyalaıp yeni oluşturduğumuz views-view--haber--page.tpl.php dosyasına aktaralım. Diğer tüm outputlar için de önerilen adlandırmalara output türünün içeriğini kopyalayalım. Dikkat aşağıad yer alan OK'e basmak yerine "back to theming informtaion" linkine tıklayarak geri gelirsek daha pratik olur.
Rescan template files' a tıklayın.
Tavsiye edilen dosya adlarını doğru şekilde yazdıysak ve Seçili tema klasörüne kopyaladıysak, daha önce birinci sıradaki öneri koyu iken artık bizim oluşturduğumuz dosya koyu renkte çıkacaktır.
Yeni oluşturduğumuz tpl.php dosyalarında istediğimiz değişkliği, class ya da style ları atayabiliriz. Örneğin views blocklar üzerinde değişiklik yaptıysak yeni css style ya da classları bu tpl.php içerisinde değiştirip, temamızın block.css 'ine bunları ekleyerek her bir views block için ayrı değerler girebiliriz.
Biraz hızlı bir anlatım oldu sanırım, en kısa zamanda detaylandırıp bir vide haline getirmeye çalışacağım.
Kolay gelsin
özel müdahele yöntemi
Gayet açık ve güzel bir anlatım olmuş. Elinize sağlık.
Konu hakkındaki video sayesinde güzel bir görsel anlatım olacaktır eminim.
Serdar Tokcan
www.serdartokcan.com
www.drupalturkey.com
Video anlatımını merakla
Video anlatımını merakla beklemekteyim..
Gerçi söylediklerinizi deneyemedim henüz ama yinede video daha iyi olacaktır.
Teşekkürler...
http://ankaakademi.com