Показывать поле в таблице, если текущий пользователь является автором узла


Я хочу создать блок просмотра, который показывает все опубликованные узлы определенного типа контента. Я включил изображение ниже.

enter image description here

Однако хитрость здесь в том, чтобы показывать ссылку Print Report только в том случае, если вошедший в систему пользователь является автором этого узла. Поэтому, если вы посмотрите на мое изображение выше, пользователь Деннис Бонилла должен видеть свою ссылку Print Report, но не видеть ее в строке ниже для теста McTest.

Есть ли модуль, который может помочь мне сделать это или что-то еще административные хитрости в пользовательском интерфейсе представлений? Или, может быть, даже программно?

Author: kiamlaluno, 2014-11-10

3 answers

Это возможно с помощью самого пользовательского интерфейса views.

  • Создайте представление с типами контента, которые вам нужны в качестве критериев фильтра

  • Затем добавьте "связь" для "Содержание: Автор". Теперь добавьте "контекстный фильтр" для поля "пользователь: uid" с аргументом по умолчанию для "идентификатор пользователя, вошедшего в систему", чтобы отфильтровать представление.

    enter image description here

    enter image description here

    • Теперь вы получите список узлов, созданных текущим зарегистрированным пользователем.

    • Чтобы получить Ссылка для печати отчета вы можете использовать модуль Представления PHP и добавить поле content:nid

Для перечисления всех узлов и добавления ссылки на печать отчета только для содержимого текущего пользователя

  • Добавьте Содержимое: Идентификатор автора и Глобальное: PHP поле

  • В поле global:PHP добавьте условия, как показано ниже:

    global $user; 
    if ($user->uid ==  $row->uid) {
      echo 'print reports';
    }
    
 0
Author: Pravin Ajaaz, 2016-07-25 02:32:56

Ответ @Pravin Ajaaz правильный, но я должен был бы не согласиться с использованием Представлений PHP не используйте этот модуль.. это плохо!

В качестве альтернативы напишите свой PHP-код на стороне сервера, и это возможно, написав результат этого поля, который хорошо задокументирован здесь:

Тематизация одного поля в шаблоне представлений 3

 0
Author: Essam Al-Qaie, 2017-08-27 13:11:47

Два модуля могут помочь вам в этом. Обратите внимание, что вы, скорее всего, выберете один из этих двух модулей. они не зависят друг от друга. Они оба могут помочь вам получить то, что вы хотите, разными способами.

  1. Просмотры PHP
  2. Вычисляемое поле
 0
Author: Shai, 2017-08-27 14:31:31