Fields alanlarını biçimlendirmek
metanek, Çrş, 21/10/2009 - 12:51 tarihinde.
Merhaba arkadaşlar benim sormak isteğim ben yeni bir içerik türü oluşturdum ve içerisine bir kaç tane CCK yardımı ile alanlar oluşturdum bildiğiniz bu alanları alt alta gösteriyor bu alanları nasıl kendime göre biçimlendirebilirim divlere cssden müdahale etmemmi gerekiyor ?
- Yeni yorum ekle
- 568 kez okundu

css ile biçimlendirme yapabileceğiniz gibi content templates eklentisi ile de şekillendirebilirsiniz. Aynı zamanda content templates eklentisinden alacağınız kodları kullanarak node-icerikturu.tpl.php dosyası yaparak da şekillendirebilirsiniz.
Benin yöntemim content templates eklentisini kullanarak node-icerikturu.tpl.php dosyaları oluşturuyorum.
Teşekkürler @kayakentli hemen deniyorum
Bir diğer seçenek de Node Displays(http://drupal.org/project/nd) eklentisi olabilir.
Teşekkürler @etcetera9 bu eklentiyide deniyeceğim.
Belki düğüm ekleme sayfalarını da şekillendirmek isteyebilirsiniz. Bildiğim bir kaç eklenti: Node Form Template / http://drupal.org/project/node_form_template , Node form columns / http://drupal.org/project/nodeformcols ve Multistep/ http://drupal.org/project/multistep
etcetera9'un belirttiği Node Displays eklentisi çok güzel yenilikler getiriyor. Geçenlerde kurup baya bi kurcaladım. Ancak henüz beta aşamasını geçememiş olmasının da getirdiği bazı sorunları var. Yanlış hatırlamıyorsam 5 eylül tarihli yeşil sürümün önemli problemleri olduğu için kırmızı sürümü denemiştim. Onda da eklediğin bir alanı silememe gibi sorunlar olmuştu (veritabanından silmek durumunda kalmıştım). Eklenti, etcetera9'un da belirttiği gibi ciddi bir geliştirme sürecinde; bu yüzden beta sürümler arasında güncelleme imkanı yok. Yani bir sürümle oluşturduğunuz altyapıyı bir sonraki sürümde büyük ihtimalle kullanamıyorsunuz. Ayrıca eklenti sayfasında şöyle bir ifade olduğunu gördüm:
Sanırım geliştirme sürümü şuan için çalışmıyormuş.
Tüm bunlara rağmen başta da bahsettiğim gibi Node Display'in oldukça güzel özellikleri var; örneğin
- özet görünüm ve tam görünüm haricinde kendi özel görünümlerinizi oluşturabiliyorsunuz,
- oluşturduğunuz özel görünümleri Views'te kullanabiliyorsunuz
- arama sonuçlarının görünümlerini değiştirebiliyorsunuz
- içerikte tanımlı olan alanları blok yerleştirir gibi yerleştirebiliyorsunuz
Bu özelliklerden en çok ilk üçü ilgimi çekti; sonuncuyu zaten bugüne kadar başka şekillerde hep yapmıştım ama diğerlerini yapmak ya mümkün olmamıştı ya da çok fazla zaman almıştı.
Umarın Node Displays eklentisi için bir an önce kararlı bir sürüm sunulabilir.
@kayakentli content template eklentesini kurdum eklentinin verdiği kodlarla söyledğiniz gibi bir dosya oluşturup tema klassörüne attım fakat orada yaptığım değişiklikler uygulanmadı acaba bir yerde hatamı yapıyorum
Oluşturduğunuz yeni tema dosyanın adını ve içeriğini verebilir misiniz?
Dosya: node-basvuru_ekle.tpl.php
Dosya içeriği:
<h3 class="field-label">resim_ekle</h3>
<div class="field-items">
<div class="field-item"><?php print $node->field_resim_ekle[0]['view'] ?></div>
</div>
</div>
<div class="field field-type-text field-field-titleolorem">
<h3 class="field-label">titleoflorem</h3>
<div class="field-items">
<div class="field-item"><?php print $node->field_titleolorem[0]['view'] ?></div>
</div>
</div>
Hocam şuanda görüyor dosyayı fakat şöyle bir durum var çekirdekte bulunan gövde kısmını hiçe saydı sadece oluşturduğum alanları gösteriyor yani anladığım kadarıyla yeni bir alan oluşturmam gerekiyor buda body kısmı olacak
Contemplate ile oluşturulan kod sadece içerik alanını kapsar. Amacınız da sadece içerik alanını düzenlemekse, kodu bir tema dosyasına taşımaya gerek olmaz. Ancak, içeriğin başlığı, içerik altındaki taksonomi bölgesini, linkleri vb. bölgeleri de düzenlemek isterseniz o zaman özel tema dosyası kullanmak gerekecektir.
Contemplate kodunu tema dosyasına aktarırken, tema dosyasındaki tüm kodu silmek yerine sadece $content değişkeninin yazdırıldığı kodu silmeli ve kendi kodunuzu onun yerine yerleştirmelisiniz.
Hocam sadece bir resim alanı oluşturmuştum ona float verecektim sanırım contemplateye şimdilik gerek yok style.css den oluştruduğum içerik idsine float verdim yeterli oldu sağol
merhaba benim de bir sorum olacak.
<?php print $node->field_alan_noktasi[0]['view'] ?> bu kod ile o alanki değeri yazdırıyoruz. ancak sorun şu ki çoklu dil sitelerde field labeli orjinal yerden çağırmak gerekiyor. yani print ile yazdırmak gerekiyor. bunu bulamadım. manuel olarak content templatede yazarsa diğer dilde de aynı şekilde görünür. labeli nasıl printleriz. yardımcı olan olursa çok makbule geçer.hakikaten makbule geçer.
tamamdır arkadaşlar. halletim.
node-icerik_turu.tpl.php oluşturup temanın kendi node.tpl.php deki kodlarını bu yeni dosyaya kopyalayın.Daha sonra aşağıdaki
<?php print $content ?>
</div>
<?php if($teaser) {
include("node-teaser-icerik_turu.tpl.php");
}
elseif ($page) {
include("node-page-icerik_turu.tpl.php");
}
?>
</div>