Ich möchte eine Liste von Knoten erstellen, die der aktuelle Benutzer aktualisieren kann. Dies soll auf einer Site mit organischen Gruppen verwendet werden.
Meine erste Hoffnung war, dass es einen Ansichtsfilter geben würde, der überprüfen kann, ob der Inhalt bearbeitet werden kann. Ach nein.
Mein zweiter Versuch war, EFQ zu verwenden:
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'suggested_listing')
->addMetaData('account', $account)
->addMetaData('op', 'update')
->addTag('node_access')
->pager(20);
würde funktionieren, aber es scheint, als ob OG die Update-Spalte nicht einstellt node_access
?
organic-groups
users
database
thsutton
quelle
quelle
node_access
?Antworten:
Das Folgende kann im Vergleich zu EFQ ineffizient sein - Sie rufen zuerst die Knoten mit db_select ab und überprüfen jeden Knoten mit der Funktion node_access, aber es funktioniert so, wie Sie es möchten.
Ähnliches können Sie mit Ansichten tun. Installieren Sie das Views PHP-Modul - https://drupal.org/project/views_php . Es gibt Ihnen einen PHP-Filter. Schreiben Sie nach dem Hinzufügen eines PHP-Filters den folgenden Code.
quelle
Es sollte einen solchen Ansichtsfilter geben, aber Sie müssen eine Beziehung verwenden (Zugriffsprotokoll: Benutzer sollte dies tun) und dann den Filter Benutzer: Berechtigung hinzufügen.
quelle