Puncte:2

$group->addContent() în hook_node_insert() nu actualizează permisiunile de acces pentru nod

drapel cn

Am un tip de conținut cu un câmp care permite utilizatorilor să decidă în ce grup să adauge conținutul.

Conținutul este adăugat la grup prin hook_node_insert().

funcția tm_wiki_node_insert(NodeInterfață $nod) {
  $tip = $nod->getType();
  if ($tip == 'conținutul meu') {
    $grup = Group::load('1');
    $group->addContent($nod, 'group_node:mycontent');
  }
}

Funcționează: văd că nodul este adăugat corect la grup. Cu toate acestea, utilizatorii care nu sunt membri ai grupului pot vedea în continuare conținutul, chiar dacă permisiunile grupului nu ar permite acest lucru.

Când editez și salvez manual nodul o dată, permisiunile sunt setate corect; utilizatorii care nu sunt membri ai grupului nu pot vizualiza nodul.

Ce cod ar trebui să adaug pentru ca nodul să fie vizibil numai de la membrii grupului?

Nu înțeleg problema, din moment ce hook_node_insert() ar trebui să fie invocat după ce entitatea este salvată și $group->addContent() nu ar trebui să necesite o salvare suplimentară pentru a seta permisiunile corect.

Puncte:0
drapel cn

Am găsit problema - probabil că are de-a face cu submodulul social_groups, care adaugă un câmp pentru vizibilitatea conținutului (field_content_visibility) - acest câmp nu este setat corect atunci când doar adăugați conținut prin grup->adăugați conținut.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.