Скрывать ссылку "Добавить" после размещения материала на странице.

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

Аватар пользователя dncaps dncaps 27 декабря 2015 в 17:01

Пытаюсь разобраться...

В профиле пользователя (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 'Добавить';}?>

но этот код работает только из ноды типа материала, из профиля не отзывается.

Лучший ответ

Аватар пользователя dncaps dncaps 6 января 2016 в 15:50

Спасибо за верное направление.

Комментарии

Аватар пользователя tlito tlito 27 декабря 2015 в 17:23

вы можете в представлении задать действия при отсутсвии результатов - отображать кнопку добавить. соответственно её не будет если что-то выводится в представлении

Аватар пользователя dncaps dncaps 9 января 2016 в 23:37

Дополню, что конструкция вида:

<?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 
}
}
?>

Вдруг кому-нибудь пригодится.