[Решено] Как правильно создать условие вывода поля в page.tpl ?

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

Аватар пользователя Yuri Frank Yuri Frank 29 декабря 2014 в 12:53

Доброго времени суток Smile Пожалуйста помогите разобраться с возникшей проблемой.
Вывожу поле в page.tpl, всё отлично выводится и работает. Но на некоторых страницах выдает ошибку, логично что это вызвано тем что код принтит пустое значение. Ниже код вывода поля.

<?php print render(field_view_field('node'$node'field_section_gallery''field_items'));?>

Как правильно создать условие if, чтобы поле выводилось лишь в случае если оно есть?? Пытался сделать как приведено ниже.. увы


<?php if (field_view_field('node'$node'field_section_gallery''field_items')) { 
print 
render(field_view_field('node'$node'field_section_gallery''field_items'));}?>

Чет видимо не догоняю..
Спасибо за внимание, и заранее за помощь ))

Комментарии

Аватар пользователя Im Im 29 декабря 2014 в 13:17

вы выводите в page.tpl.php поля, которые принадлежат ноде(node.tpl.php), я не думаю, что это есть правильно.

ну а проверка на пустоту делается так if(isset($BlaBla) && $BlaBla != NULL){ ... };

Аватар пользователя Yuri Frank Yuri Frank 29 декабря 2014 в 13:33

"Im" wrote:
делается так

Спасибо! ) Ошибок нет.


<?php if (isset ($node->field_section_gallery)): 
      print 
render(field_view_field('node'$node'field_section_gallery''field_items'));
      endif; 
      
?>

А почему это не есть правильно вроде как же офф инструкции нет?

Аватар пользователя gun_dose gun_dose 29 декабря 2014 в 13:36

"Yuri Frank" wrote:
А почему это не есть правильно вроде как же офф инструкции нет?

page.tpl - это вывод страницы, node.tpl - вывод ноды. Конечно, ничего не мешает смешать всё в кучу и перевернуть с ног на голову, но от этого неизбежно страдает здравый смысл.

Что касается конкретно вашего случая, то имеет смысл поставить ещё и проверку на тип ноды (это если делать по вашему странному способу), а если делать по-правильному, то вообще нужен node--[type].tpl.php

Аватар пользователя Yuri Frank Yuri Frank 29 декабря 2014 в 14:17

gun_dose, я думал о том что вы пишете, создать отдельный node--[type]. но справится ли он с задачей? Мне нужно вывести определенное поле, именно под заголовок а он в обертке div. А этот div в page.tpl Biggrin

<?php
<div class="front_page">
<?
php print render($title_suffix); ?> 
<!--сейчас здесь выводиться поле..--!>
</div>
?>


title = Ferrari Dino
И поле "field_section_gallery" = Транспорт

как-то так

Аватар пользователя gun_dose gun_dose 29 декабря 2014 в 14:26

Вы выводите на главной подзаголовок прикреплённого материала? Ну тогда может быть сойдёт) Только лучше page--front.tpl.php