Пытаюсь разобраться...
В профиле пользователя (user-profile.tpl) размещаю несколько представлений:
<?php print views_embed_view('name-of-view'); ?>
Каждое представление отображает содержимое своего типа материала. В профиле оставляю ссылку вида:
<?php if($user->uid != 0) {print '<a href="../node/add/name-of-material">Добавить</a>';}?>.
Подскажите, каким образом убрать/скрыть ссылку "Добавить" после того, как тип материала создан и отобразился на странице профиля. Пробовал с помощью проверки на заполненность одного из полей созданного материала:
<?php if(!empty($node->field_name-of-field['und']['0']['value'])) {print '';} else {print 'Добавить';}?>
но этот код работает только из ноды типа материала, из профиля не отзывается.
Комментарии
вы можете в представлении задать действия при отсутсвии результатов - отображать кнопку добавить. соответственно её не будет если что-то выводится в представлении
Спасибо за верное направление.
От радости не то сообщение пометил, как "решение" (не нашёл, как исправить). Ответ в сообщении tlito.
Дополню, что конструкция вида:
<?php if($user->uid != 0) {print 'SOME TEXT';}?>
отображает некий текст только зарегистрированному пользователю. Если необходимо, чтобы текст отображался только автору материала, то конструкция будет вида:
<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
if (isset($node->uid, $GLOBALS['user']->uid) && $GLOBALS['user']->uid == $node->uid && $GLOBALS['user']->uid > 0) {
?>
<?php print 'SOME TEXT';?>
<?php
}
}
?>
Вдруг кому-нибудь пригодится.