Düğüm vücut boşsa başlığını gizlemek - Drupal php pasajı yardım

3 Cevap php

I've made a content type for links, I'm trying to make a link directory. People only have to submit the link, description is voluntary. If no description is entered, I want the header that says "description" to disappear. The description field is the node body. Right now my snippet looks like this

<?php if (!empty($node->body)) {?> 
<div class="field field-type-link field-field-link-archive">
<h3>Description</h3>
<?php print $node->content['body']['#value'] ?></div>
<?php }?>

Ben düğüm gövdesi boş değilse, bu kontrol bekliyoruz, ve eğer değilse orada ne basalım. Sorun düğüm vücut boş olsa bile Açıklama başlık hala basılmış olmasıdır. Herkes yanlış görebilir miyim?

3 Cevap

$ Node-> vücut bağlantıları, yazar bilgisi, yazılan tarih vb
Neredeyse var olan tüm düğüm içerik, bkz:

<?php if (!empty($node->content['body']['#value'])) {?> 
<div class="field field-type-link field-field-link-archive">
<h3>Description</h3>
<?php print $node->content['body']['#value'] ?></div>
<?php }?>

Ayrıca bazı wysiwyg-s modülleri otomatik p gibi etiketleri ekler. Check it ...

$ Node-> vücut muhtemelen boş değil

Bu php boş düşündüğü şeyler

"" (an empty string)
0 (0 as an integer)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
var $var; (a variable declared, but without a value in a class)

Bunu test etmek için bunun üzerine bir var_dump yapmak

Ve steno sözdizimi bu gibi şeyler için yapıldı phps. bunu okumak çok daha kolay kullanabilirsiniz shoudl

<?php if(): ?>
// do stuff
<?php endif; ?>

Drupal 7, bu da çalışacaktır:

<?php if(!empty($content['body'])) { ?>
 <div class="field field-type-link field-field-link-archive">
   <h3>Description</h3>
   <?php print render($content['body']); ?>
 </div>
<?php }?>