[РЕШЕНО] Не выводить таблицу если поля не заполнены Views

Главные вкладки

Аватар пользователя Boozenok Boozenok 4 декабря 2012 в 13:55

Здравствуйте! Необходима подсказка:

Темизирую вывод views. Необходимо сделать вот так:
Как то так.jpeg

Если внизу поля с товарами не заполнены, как сделать что бы не выводился нижний бекграунд?
Дивы в верхней части и нижней части разные.
Нижняя часть выведена меленькой таблицей, Может как то прописать что если поля не заполнены, то таблицу не выводить?

Код Views:


<?php foreach ($fields as $id => $field): ?>
<?php 
if($id=='title'){$title=$field->content;}
if(
$id=='field_instrumenty_logo_fid'){$logo=$field->content;}
if(
$id=='field_instrumenty_image_fid'){$img=$field->content;}
if(
$id=='field_instrumenty_image2_fid'){$img2=$field->content;}
if(
$id=='field_instrumenty_image3_fid'){$img3=$field->content;}
if(
$id=='view_node'){$link=$field->content;}
if(
$id=='value'){$vote=$field->content;}
if(
$id=='field_instrumenty_city_value'){$city=$field->content;}
if(
$id=='field_instrumenty_price_value'){$price=$field->content;}
if(
$id=='field_instrumenty_name_value'){$name=$field->content;}
if(
$id=='field_instrumenty_price2_value'){$price2=$field->content;}
if(
$id=='field_instrumenty_name2_value'){$name2=$field->content;}
if(
$id=='field_instrumenty_price3_value'){$price3=$field->content;}
if(
$id=='field_instrumenty_name3_value'){$name3=$field->content;}
if(
$id=='teaser'){$anons=$field->content;}

?>
<?php 
endforeach; ?>

<div id="anons-instr">
<div class="logo-instr">
<?=$logo?>
</div>
<div class="title-instr">
<?php echo $title?> <br/>
<?php echo $vote?>
</div>
<div class="city-instr">
<?php echo $city?>
</div>

<div class="anons">
<?php echo $anons?>
</div>
</div>

<table>
         <tr id="akcia-instr" width="100%">
            <td class="akcia-tovar" width="33%">
            <div class="img-tovar"><?php echo $img;?> 
            <div class="name-tovar"><?php echo $name;?> 
            <div class="price-tovar"><?php echo $price;?></td>
            <td class="akcia-tovar" width="33%"> 
            <div class="img-tovar"><?php echo $img2;?> 
            <div class="name-tovar"><?php echo $name2;?> 
            <div class="price-tovar"><?php echo $price2;?> </td>
            <td class="akcia-tovar" width="33%"> 
            <div class="img-tovar"><?php echo $img3;?> 
            <div class="name-tovar"><?php echo $name3;?> 
            <div class="price-tovar"><?php echo $price3;?> </td>    
            
        </tr>
</table>
?>

Буду признательна за идеи)

Комментарии

Аватар пользователя nyhm nyhm 4 декабря 2012 в 14:06

Фон привязан к классу или тегу?
Можно сделать проверку на существование элементов, в зависимости от результата проверки добавлять или не добавлять класс, который отвечает за вывод фона.

Аватар пользователя Boozenok Boozenok 4 декабря 2012 в 14:53

"nyhm" wrote:
добавлять или не добавлять класс, который отвечает за вывод фона.


а как правильно кодом записать такую проверку?
имею ввиду как НЕ добавлять класс если переменная пустая?

Аватар пользователя Boozenok Boozenok 7 декабря 2012 в 14:31

еще бы хотелось прикрутить к этой таблице jcarousel, где скрол_ту брался бы уже из данной ноды по определенному диву. И все естественно скрывалось при незаполненных полях...

Не молчите, ребятки...помагайте думать!

Аватар пользователя Boozenok Boozenok 10 декабря 2012 в 14:33

Все оказалось довольно просто!

<?php
<table <?php if (!empty($img)) : print ''?>>
</table>
<?php endif; ?>

Хм, как провернуть такое же, только с темизацией ноды, где поля выводятся той же таблицей с помощью стандартого:

<?php
$node
->field_my_field[0]['view']
?>
Аватар пользователя Boozenok Boozenok 10 декабря 2012 в 15:07

"ХулиGUN" wrote:

да нет, так не хочет работать( нечего не происходит

пробовала еще вот так


<?php if($node->field_instrumenty_name==NULL): print '';?>>
?>

но кроме пустых заполненные поля тоже исчезают

Аватар пользователя Boozenok Boozenok 19 декабря 2012 в 19:05
<?php<table <?php if(empty($node->field_instrumenty_image)): print '';?>>
         <tr width="100%">
            <td class="akcia-tovar">
            <div class="img-tovar"><?php echo $node->field_instrumenty_image[0]['view'];?> </div> ?>

Ребята что здесь не правильно? Почему не выводится и пустое поле и то, которое заполнено?