0

無制限の数の値を受け入れるときにフィールドが空の場合、ビューでフィールドのラベルを非表示にするのに問題があります。これを解決する方法はありますか?私はこれを試しました

 function alter_form_preprocess_views_view_fields(&$vars) {
   // Remove labels if value is empty.
   foreach ($vars['fields'] as $id => $field) {
     if (!$field->content) {
       unset($vars['fields'][$id]);
     }
   }
 }

うまくいきませんでした

4

1 に答える 1

0

私がしたことは、値がない場合にラベルを非表示にしたいすべてのフィールドのマークアップとして新しいフィールドを作成し、それらのマークアップフィールドのすべてに対してtplファイルを作成してこれを行いました:

<?php
    if(!empty($row->{node_data_field_d_a_name_field_d_a_name_value}[0]['value'])){
        print $output;
    }
?>

技術的にはラベルではありませんが、同じように機能し、私の問題を解決しました。

注:同じフィールドに複数のラベルがないように、マークアップと値を持つフィールドのすべてのフィールドからラベルを削除しました。

于 2012-12-03T09:26:18.757 に答える