focagenc.net/tv benzeri bir sistem
Merhabalar,
http://www.focagenc.net/tv/ sitesini gördüm ve çok beğendim. Adresini verdiğim sitede diziler tanıtılmış. Aynı yöntemle, kitap, otel, telefon v.s. tanıtımları da yapılabilir. Öğrenmek istediğim sitede Drupal'in hangi sürümümün kullanıldığı. Sanırım 5.12 kullanılmış.
Aynı siteyi 6.6 ile kurmamız da mümkün müdür?
Kullanılan eklentiler hangileridir?
Doğrusunu isterseniz bu sitenin aynısını yapmak istiyorum. Yıl, ülke ve dil kısımları da tıklanabilir olmalı. Örneğin 2000 linkine tıklandığında 2000 yılında yapılmış dizi ve filmleri göstermeli. Sanırım diğerlerini yapınca bu da kolay olacaktır.
Tabi bir de, haciri tüm linklerin farklı bir sayfada açılması ve bu linklere nofollow tagı eklenmesi de gerekiyor.
Ana sayfa, kategori, kişi, yıl ve v.s. sayfalarındayken yalnızca film afişini göstermek, bu afişleri sütunlar halinde yayımlamak mümkün müdür? Afişler de tıklanabilir olursa çok daha iyi olur tabi.
Şimdilik merak ettiklerim bunlar. Anlatabilirseniz memnun olurum.
- Yeni yorum ekle
- 1498 kez okundu

DiZi-tV sitesini açtığım dönemde henüz Drupal 6.x serisi yoktu, dolayısıyla 5.x ile başladım. Fakat bugün böyle bir site yapacak olsam tabii ki 6.x serisindeki en son çıkan sürümle başlarım. Yani 6.x ile böyle bir site yapamamak için herhangi bir neden yok.
Bu site benim ilk Drupal sitemdi, dolayısıyla benim için bir öğrenme aracı oldu. Siteyi geliştirirken bir çok yanlışlarım oldu. Zaman zaman bunlardan geri dönemedim. Örneğin bunlardan biri Movie-db eklentisini kullanmaktı. Bu eklenti 5.x için yazılmış bir film tanıtım eklentisiydi. Fakat geliştiricisi eklentiyle ilgilenmeyi bırakmıştı. Buna rağmen kolayıma geldiği için o dönemde bu eklentiyi tercih ettim. Halbuki bunun yerine aktif olarak geliştirilen ve çok daha esnek olan CCK ile başlamalıydım. Uzun lafın kısası ben o siteyi movie-db eklentisinin etrafında inşa ettim fakat bugün yapacak olsam kesinlikle CCK'yı kullanırım. Hatta fırsatını bulabilirsem DiZi-tV'de de böyle bir değişiklik yapmayı istiyorum.
CCK ile film tanıtımda yer alan afiş, fragman, gibi medya alanlarının yanı sıra kategorilendirme amaçlı olmayan diğer bilgi alanlarını da ekleyebilirsiniz.
Filmleri kategorilendirme işlemi için Taksonomiyi kullanabilirsiniz. Yıl, ülke, dil ve hatta oyuncular ve yönetmenler için de sözlükler oluşturup filmlerinizi bu sözlüklere ekleyeceğiniz kategorilerle sınıflandırabilirsiniz. Taksonominin yapısı sayesinde bir filmin ait olduğu kategoriler link olarak sunulacak ve bu linklere tıklandığında aynı kategorideki filmler listelenecektir.
Nofollow tagi için Nofollow List eklentisini kullanabilirsiniz. Bu eklenti sitenizdeki içerikler ve yorumlarda yer alan harici linklere nofollow'u otomatik olarak ekleyecektir. Harici linklerin ayrı bir sayfada açılması ise XHMTL 1.1'e uymadığı için Drupal'de pek tercih edilmiyor. Fakat Nofollow list eklentsinde ufak bir modifikasyonla nofollow ile birlikte target="_blank" eklenebilir. Veya bu işi javascript/jquery yöntemleriyle çözebilirsiniz.
Anasayfa ve diğer sayfalarda filmleri istediğiniz şekilde sunabilmek için Views eklentisinden yararlanabilirsiniz. Views eklentisi ile filmleri birkaç sütun halinde sadece afişleri ile listelemek mümkün.
moviedb'yi az önce denedim. deneyebilmek için de 5 sürümünü kurdum. Sizinkine benzer bir görüntü elde edebildim. Moviedb'nin 6.x sürümü için de http://drupal.org/node/245445 sayfasında bir eklenti var. Bilmiyorum ne kadar sağlıklıdır.
CCK hemen her yerde övgüyle bahsedilen bir eklenti. Önerinizi dikkate almak en iyisi olacak. 6.x sürümünü kurar. CCK'yı iyice bir kurcalarım.
Drupal'le uğraşmak şimdilik yorucu geliyor ama zamanla zevkli hale de geleceğini düşünüyorum.
Diğer bilgiler için de teşekkür ederim.
Verdiğiniz linkteki 6.x sürümü eksik bir sürümmüş. Sitenize yeni film içeriği eklemenize izin vermiyor, sadece daha önceden sitenizde bulunan (5.x'ten 6.x'e geçtiğinizde) film içeriklerini göstermeye yarıyormuş. Zaten dediğim gibi, bu eklenti bugün 6.x'te normal çalışıyor olsaydı bile gidilmesi gereken yok CCK'dır. Sizin istediğiniz tarzda bir site için CCK + Taksonomi + Views vazgeçilmez bir üçlü :)
Teşekkürler. Birazdan sıfır bir kurulum yapıp, muhteşem üçlüyle destekleyeyim.
Eklentileri kurdum ama şimdi sizin dizi sitenizdeki görünümü ve tıklanabilir oyuncu, yıl, yönetmen gibi içerikleri nasıl gireceğim?
Öncelikle bir içerik türü oluşturdum "yabancı diziler" adında. Bu içeriğe, ibdb ve yıl ekledim field kısmından. Buraya kadar sorun yok. Mecburi alanlar olarak oluşturdum. Diğer field'ler de aynı yöntemle eklenecek sanırım.
Şöyle birşeyi nasıl yapabilirim?
İçerik girilecek.
İçerik türü: Yabancı diziler
Sayfa açıldığında şöyle bir görüntüyle karşılaşacağız
İçerik adı
içerik resmi: resim url'si giriniz
imdb: imdb linki girilecek ve tıklanabilir olacak
imdb puanı: imdb puanı girilecek.
yıl: yapım yılı girilecek ve tıklanabilir olacak
tür: dizi türü ya da türleri girilecek ve tıklanabilir olacak
ülke: yapımcı ülke veya ülkeler yer alacak ve tıklanabilir olacak.
Yönetmen: yönetmen girilecek ve tıklanabilir olacak
Senaryo: senaryo yazarı girilecek ve tıklanabili olacak
Oyuncular: oyuncular girilecek ve tıklanabilir olacak
süre: dizinin süresi girilecek.
üstteki bölümler zorunlu olacak. altlarında da eğer varsa şu bilgiler girilecek.
görüntü yönetmeni: görüntü yönetmeni girilecek ve tıklanabilir olacak
müzik: film müziğinin kime ait olduğu girilecek ve tıklanabilir olacak.
bu bilgileri girdiğimizde, afiş solda, diğer tüm bilgiler afişin sağında yer alacak.
bunların altında da sırasıyla:
Filmin konusu: film konusunu girebileceğimiz bir bölüm.
Filmle ilgili video: Filmin tanıtım videosu olacak.
İlgili linkler: Bu kısma dizi yapımcısı, oyuncuların siteleri girilebilecek ve tıklanabilir olacak.
Tıklanabilir olacak dediğimiz tüm bilgiler, tıklanıldığında bir liste olarak gösterilecek. Örneğin charlize theron oyuncusu linklendirilmiş ve tıkladığımızda aşağıdaki şekilde, bu oyuncunun oynadığı film ya da diziler gösterilecek. tıklanabilir içeriklerin hepsi aşağıdaki şekilde gösterilebilir.
Film (dizi) Adı yapım yılı tür süre imdb puanı ülke
Filmler veya diziler ana sayfada ya da bağlı olduğu kategoride sizin sitenizdeki gibi olacak ancak yalnızca içeriğe girildiğinde sizin sitenizdeki gibi görünecek. ana sayfa veya kategorisindeyken, yalnızca afiş ve başlık görünecek.
tabi bağlantılar da şöyle olmalı
yıl için: www.sitemiz.com/yil
oyuncu için: www.sitemiz.com/oyuncu
diğerleri de tıklanıldığında aynı şekilde olmalı.
Charlize Theron tıklanıldığında, www.sitemiz.com/oyuncu/charlize-theron adresine gitmeli. Açılan sayfanın başlığı da Charlize Theron'un oynadığı filmler olmalı. Yıla tıklandıysa, sözgelimi 1995 yapımı filmler olmalı başlığımız.
:) çok şey mi sitiyorum acaba?
Size şöyle basit bir kılavuz sunayım:
Teşekkür ederim. Drupal'e yeni başlayacak olanlara uyarı yapılmalı. "Dikkat başınızı ağrıtabilir". Başım ağrıdı bugün. :)
Merhabalar. Sanırım biraz yol alabildim. Ekteki resim üzerinden bir sorum vardı.
Oldukça iyi bir ilerleme sağlamışsınız. Hemen hemen işlev açısından bir eksik yok gibi. Sadece görsel olarak bazı düzenlemeler yapmanız gerekiyor. Bunun için de yapmanız gereken bu içerik türüne ait özel bir tema dosyası tasarlamak. Örneğin içerik türünüzün adı film ise, tema klasöründe node-film.tpl.php adında bir dosya oluşturup, içeriğine aynı klasördeki node.tpl.php dosyasının içeriğini kopyalayın. Bu noktadan sonra node-film.tpl.php dosyasını istediğiniz gibi değiştirebilirsiniz. Örneğin alttaki
$termsdeğişkeni ile büütn terimleri sırayla yazdıran kısmı silmekle başlayabilirsiniz işe. Daha sonrasında aşağıdaki örnekteki gibi terimleri ait oldukları sözlüklerine göre ayrı ayrı çağırıp sayfaya yazdırabilirsiniz....
$genres= taxonomy_node_get_terms_by_vocabulary($node->nid, 2);
if ($genres) {
$links = array();
foreach ($genres as $genre) {
$links[] = l($genre->name, taxonomy_term_path($genre), array('rel' => 'tag', 'title' => strip_tags($genre->description)));
}
$icerik .= '<strong>'.t('Genre').': </strong>'.implode(', ', $links);
}
$konular = taxonomy_node_get_terms_by_vocabulary($node->nid, 3);
if ($konular) {
$links2 = array();
foreach ($konular as $konu) {
$links2[] = l($konu->name, taxonomy_term_path($konu), array('rel' => 'tag', 'title' => strip_tags($konu->description)));
}
$icerik .= '<br /><strong>'.t('Konular').': </strong>'.implode(', ', $links2);
// Diğer alanları da benzer şekilde ekleyebilirsiniz.
...
print $icerik ;
Burada terimleri sözlüklerine göre çağırmak için
taxonomy_node_get_terms_by_vocabularyfonksiyonu kullanılıyor. Fonksiyonun ilk parametresi düğüm id değeri, ikinci parametresi ise sözlüğün id değeri.Tabi bu kullanımda şunlara dikkat etmelisiniz:
$contentdeğişkeni düğüm içeriğini olduğu gibi yazdırır. Bu değişkeni yerine yukarıdaki yöntemle oluşturacağınız başka bir değişkeni (ör:$icerik) yazdırmalısınız.$icerikdeğişkenine eklemelisiniz. Örneğin afiş için oluşturduğunuz alanın adı "cover" ise aşağıdaki gibi kullanım mümkün:$icerik.= '<div class="filmafisi"><a href="'.url('node/'.$node->nid).'" title="'.$node->title.'"><img src="'.url($node->cover).'" alt="'.$node->title.'"></a></div>';Çok hızlı bir cevap oldu. :) Hemen denemeye başlıyorum. Çok teşekkür ederim.
Bu arada şunu söylemeyi unutmuşum. Tema dosyasında kullanabileceğiniz değişkenlerin neler olduğunu görmek için Contemplate eklentisini kullanabilirsiniz. Bu eklenti örnek bir düğüm için mevcut olan tüm değişkenleri gösteriyor. Böylece neyin ne olduğunu hızlı bir şekilde anlayabilirsiniz.
Selamlar,
node.tpl.php içeriğini kopyalayıp, içerik türüm olan yabancı filmler.tpl.php diye mi kaydedeceğim yoksa yabanci-filmler.tpl.php mi? Birinde tire var. Diğerinde yok.
Verdiğiniz kodları yeni oluşturduğum sayfanın neresine ekleyeceğim? Eklediğimde kod olarak değil de yazı olarak görünüyor.
Resim, field_content_image olarak eklendi. Label kısmı da image. Bunu nasıl kullanacağım?
imdb de, field_imdb şeklinde. Label de imdb.
Tüm bu işlemleri doğru olarak yaptığımızda, yabancı filmler içerik türünün içeriklerinden herhangi birine girdiğimizde bizim oluşturduğumuz şekilde mi görünecek?
Teşekkürler.
node.tpl.php dosyasının içeriğini node-yabanci-filmler.tpl.php şeklinde kaydetmeniz gerekiyor. Yani baştaki "node" kalıyor, içerik türü adını "-icerik-turu-adi" olarak ekliyorsunuz.
standart tema dosyasında düğüm içeriğini aşağıdaki kod yazdırıyor:
<?php print $content ?>
</div>
Siz bu kodun yerine kendi oluşturacağınız kodu koyacaksınız. Tabii ki php kodlarını
<php>etiketleri arasında almalısınız, aksi takdirde düz metin olarak yazdırılacaklardır.Benim yukarıda verdiğim kod sadece bir örnekti. Örnekte, düğümün id değeri 2 (genre) ve 3 (konu) olan iki sözlükteki terimleri ayrı ayrı alınıyor ve
$icerikdeğişkenine ekleniyor. Son olarak da bu değişkenin içeriği sayfaya yazdırılıyor. Siz bu kodu kendi sözlüklerinize göre değiştirmeli ve belki kopyala/yapıştır ile çoğaltmalısınız.Imagefield eklentisi ile eklenen Resim ve link eklentisi ile eklenen imdb alanlarını şu şekilde ekleyebilirsiniz:
<?php print '<br/><strong>imdb:</strong> '.l($node->field_imdb[0]['display_title'], $node->field_imdb[0]['display_url'], $node->field_imdb[0]['attributes']); ?>
Not: Alanların doğru olarak yazılıp yazılmadığını kontrol etmek için Contemplate eklentisini kullanabilirsiniz.
Hatta size drupaldersleri.org sitesinde site tanıtım sayfaları için kullandığım node-site.tpl.php dosyasının içeriğini örnek olarak vereyim. Belki hepsini bir bütün olarak görmek daha çok işe yarayabilir.
// $Id: node-site.tpl.php,v 1.1.2.22 2008/09/27 18:00:00 onur_serkan Exp $
?>
<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
<?php print $picture ?>
<?php if ($page == 0): ?>
<h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>
<?php if ($submitted): ?>
<div class="submitted"><?php print $submitted; ?></div>
<?php endif; ?>
<?php
if ($taxonomy) {
$kategoriler = taxonomy_node_get_terms_by_vocabulary($node, 4);
$versiyonlar = taxonomy_node_get_terms_by_vocabulary($node, 5);
if ($kategoriler) {
$katlinks = array();
foreach ($kategoriler as $kategori) {
$katlinks[] = l($kategori->name, taxonomy_term_path($kategori), array('rel' => 'tag', 'title' => strip_tags($kategori->description)));
}
}
if ($versiyonlar) {
$verlinks = array();
foreach ($versiyonlar as $versiyon) {
$verlinks[] = l($versiyon->name, taxonomy_term_path($versiyon), array('rel' => 'tag', 'title' => strip_tags($versiyon->description)));
}
}
}
?>
<span class="clear"></span>
<div class="content">
<?php print '<img class="img-left site" src="/'.$node->field_screen_shot[0]['filepath'].'" alt="site resmi" />';?>
<?php print '<br/><strong>Site Url\'si:</strong> '.l($node->field_site_linki[0]['display_title'], $node->field_site_linki[0]['display_url'], $node->field_site_linki[0]['attributes']); ?>
<?php if($katlinks) print '<br/><strong>Kategori:</strong> '. implode(', ', $katlinks); ?>
<?php if($verlinks) print '<br/><strong>Versiyon:</strong> '. implode(', ', $verlinks); ?>
<div style="float:left;"><?php print fivestar_widget_form($node); ?></div>
<span class="clear"></span>
<br/>
<?php print $node->content['body']['#value'] ?>
</div>
<div class="meta">
<?php if ($links): ?>
<div class="links">
<?php print $links; ?>
</div>
<?php endif; ?>
<span class="clear"></span>
</div>
</div>
Merhaba,
Php bilmeyince zor sanırım bu Drupal.
$senaryo = taxonomy_node_get_terms_by_vocabulary($node, 7);$verlinks3 = array();
foreach ($senaryo as $senaryo) {
$verlinks3[] = l($senaryo>name, taxonomy_term_path($senaryo), array('rel' => 'tag', 'title' => strip_tags($senaryo->description)));
<?php if($verlinks3) print '<br/><strong>senaryo:</strong> '. implode(', ', $verlinks3); ?>Bu kodda nerede hata yapıyorum acaba? Linklendirme oluyor ancak, senaristin ismi yerine 1 yazıyor.
Senaryo:1
Bir de şunu sorayım. Taxonomy'de sözlük girerken Türkçe karakter kullanmamalı mıyız? Ülke yerine ulke mi olmalı?
Bu gidişle siteyi siz bitireceksiniz. :)
$senaryobirden çok senaristin ismini içeren bir değişken, sizforeach ($senaryo as $senaryo)dediğiniz için bir sorun oluşuyor. Bir de$senaryo>namedeğil$senaryo->nameolacak. "-" yi atlamışsınız yani.Senaristleri ilgili sözlükten alan ve devamında virgülle ayırarak yazan kod şöyle olmalı. Kodda ilgili sözlük id değerini değiştirmeyi unutmayın! Bir de daha anlaşılır olması açısından $senaryo yerine $senaristler değişkenini kullandım.
if ($senaristler ) {
$senaristlink= array();
foreach ($senaristler as $senarist) {
$senaristlink[] = l($senarist->name, taxonomy_term_path($senarist), array('rel' => 'tag', 'title' => strip_tags($senarist->description)));
$icerik .= '<br /><strong>'.t('Senaristler').': </strong>'.implode(', ', $senaristlink);
Oyuncular da son söylediğiniz - olayını koyunca düzeldi. Ben taxonomy olaylarını bitireyim. Sonra yine kendi kendime birşeyler başarmaya çalışayım. Takılınca yine sorarım.
Çok teşekkür ederim. Drupal öğrenenmek isteyenlerin gerçek bir destek sitesi var. Umarım ben de destek veren konumuna geçebilirim bir gün.
Yapılan tüm bu çalışmalar, bugün birşeyler öğrenen kullanıcıların, yarın yeni gelenlere bilgilerini aktarabilmeleri durumunda bir anlam kazanabilir. Drupal kullanıcı topluluğu oldukça yardımsever bir topluluk olduğundan bilgi paylaşımı ve aktarımı konusunda bir sıkıntı yaşamayacağımızı umuyorum.
Diğer istediklerim oldu sayılır. Şimdi de views'i kurcalıyorum. Güzel birşeymiş bu da. Ben de bir gün sitenizde, örnek bir download sitesi yapımını resimlerle anlatırım. Sanırım şu ana kadar öğrendiklerimle öyle bir site yapmam zor olmayacak.
Drupal'in Türkiye'de neden pek yaygın olmadığını da artık biliyorum. Wordpres ya da Joomla gibi değil. Daha fazla emek ve bilgi gerektiriyor. Bilgili olsak ta, emek vermekten kaçındığımızdan daha basit sistemlerle uğraşıyoruz. Oysa Drupal ile gerçekten yapabileceklerimizin sınırı yokmuş. İstediğimiz şekli veriyor, istediğimizi yaptırıyormuşuz.
Teşekkür ederim.
bu konuyu inceledim ama benim yapmak istediğim sanırım biraz farklı. ben $content değişkenini bölmek istiyorum. içerik türünde önce $title geliyor. sonra ise $content geliyor. $content'in en üst kısmında cck alanları var 3 adet. daha sonra içerik geliyor.
benim yapmak istediğim bu içerik türünde cck alanları ile içerik arasında bir reklam alanı yaratmak. Adsense injektor ile istediğim sonucu alamadım. $content değişkenini nasıl parçalara ayırabilirim?
İstediğim biçim şu şekilde:
Başlık
CCK ALANI 1
CCK Alanı 2
CCK Alanı 3
Adsense reklam
İçerik