Drupal 6 / kez bakıldı2 Izgara tarzı: bütün hücreler düğümlere bağlantı

4 Cevap php

Benim Drupal sitesinde, ben sadece bir kullanıcı güzel tarz ızgara (HTML tablosu), Görünümler modülünü kullanarak bir Kullanıcılar sayfayı yaptık. Her biri için bir kaç alanlarını görüntüleme yaşıyorum ve isim ve profil resmi hem kullanıcı düğüme bağlamak için ayarlanmıştır.

Tüm hücre (HTML td) kullanıcı düğüm bağlar, böylece değiştirmek için en iyi yolu nedir? EDIT: Ben HTML bağlantı etiketleri ekleme ile ilgili değilim, ama her profil sayfanın URL'sini erişen.

Ben bakış temasını değiştirerek içine baktım (over-sürme Stil çıkış örneğin bakıldı-view-grid - users.tpl.php), ama cant kullanıcı düğümün URL'sini almak için zarif bir yol görüyorum.

EDIT: Ben her hücrenin HTML içine bakar javascript geçici bir çözüm uyguladık, ilk bağlantının URL ayıklar, kullanır ve bu, ama nedense Drupal değişkenleri kullanarak bunu yapmanın daha iyi bir yolu yok mu?

Yardımlarınız için teşekkürler.

4 Cevap

Tamam ben profil URL ayıklanması daha iyi (süper basit) yolunu buldu, hem de ben belgeleyen değer sanıyordum bütün blok bağlantı çözeltisine (espais atfedilen), birkaç sorunları fazla geldi. Yani burada benim asıl sorunun komple bir çözüm:

) Sayesinde yararlı bağlantı için barraponto için - 1) (bkz: http://views-help.doc.logrus.com/help/views/using-theme bakıldı-view-fields.tpl.php geçersiz kılmak için özel bir şablon dosyası ekleyin. Bu özel dosya, bir bağlantı tüm kod kaydırmak ve kabın tam yüksekliğe linki germek için sadece sonundan önce net bir düzeltme div ekleyin.

<a class="td-link" href="user/<?php print $row->uid; ?>">
...
<div class="clear-fix"></div>
</a>

Iç içe HTML linkleri (gerçekten garip davranış üretir) için izin verilmez gibi 2) Şimdi, her ızgara eleman içindeki herhangi diğer bağlantıların kurtulmak gerekir. Yapılacak ilk şey Görünümü düzenlemek ve alanların emin hiçbiri işaretli "kullanıcı bulunuyor için bu alanı bağlantı" var olun. Eğer profil resmi alanını eklemek istiyorsanız o zaman, varsayılan bir bağlantı olduğu bu alanı durdurmak için hiçbir yolu yoktur, çünkü küçük bir düzeltme modülü eklemek gerekir! Bu yorumun modülünü alabilirsiniz: http://drupal.org/node/720772#comment-2757536

3) Son olarak CSS. Temanızın style.css için aşağıdakileri ekleyin:

a.td-link {
    display: block;
    color: #000;
    text-decoration: none;
    border: 1px solid #E9EFF3;
}
a.td-link:HOVER {border-color: #85b3d4;}
a.td-link label {cursor: pointer;}
div.clear-fix {clear: both;}

Bu, (biz bütün blok bir bağlantı, sadece metin gibi görünmek istediğiniz gibi) metin biçimlendirme bağlantısını kaldırır ve kabı doldurmak için linki dışarı uzanır. Ayrıca imleç grafik tutarlı yapar ve güzel bir sınır etkisi ekler zaman blok fare üzerinde. Ayrıca çok daha kolay / kıvrımlara CSS kodunu stil için öğeleri seçmek için yapar, sizin View özel bir CSS sınıfı ekleyebilirsiniz hatırlıyorum.

Nasıl böyle bir şey ... hiçbir JavaScript gerekli

Lütfen tabloda:

<td><a href="..." class="td_link">the link</a></td>
...

CSS dosyasında:

.td_link {
   display: block; 
   width: 100%;
}

Yani temelde yapmanız gereken tüm bağlantı için bir sınıf ekleyebilir ve CSS küçük bir pasajı.

SPAIS ve scott-reynen haklısın. ancak bunun yerine birden fazla Ra altında her alan yerleştirme elemanları, bloklar (marjı ve dolgu var olabilir) bunları açmak için css ile tarz her, neden bir tek kullanmayın eleman?

her şey aynı yere bağlamak içindir eğer, tek bir Ra altında hep birlikte yerleştirebilirsiniz eleman, her eleman bir inline element ( yerine

) olmalıdır rağmen. Eğer satır şablonu değiştirerek yapabilirsiniz: check http://views-help.doc.logrus.com/help/views/using-theme

sizin durumda, görünümleri modül içindeki tema klasörüne şablonları kopyalayabilir ve görünüm olarak buna göre yeniden adlandırın "Tema: Bilgi" diyor. olmadığından emin

yoktur olun veya

veya herhangi bir diğer blok elemanı çıktı olmak. Eğer hatları kırmak gerekiyorsa,
kullanın.