Puncte:0

Vizualizați exportul de date cu tabel personalizat nu funcționează dacă utilizatorul nu este administrator

drapel vn

Lucrez la un site web Drupal 9 care afișează date personalizate de tabel și trebuie să ofer linkuri de export CSV/XLS pentru acesta.
Pentru moment, am definit o vizualizare care consumă datele tabelului personalizat datorită programului Vvede tabelul personalizat modul și funcționează bine. Am instalat Export de date vizualizări modul și a configurat un afișaj pentru a exporta date ca CSV. Acest afișaj este atașat la afișajul de bază.
Butonul CSV este afișat în vizualizare, iar când sunt autentificat ca administrator, totul funcționează bine. Când sunt doar un utilizator autentificat și dau clic pe buton, afișajul atașat exportului CSV este redat și exportat în CSV (deci există tot HTML-ul în fișier).

Cred că este o problemă de permisiune: Exportul folosește modulul de bază REST și acesta efectuează verificarea permisiunii asupra entității (de exemplu, utilizatorul poate accesa entitatea). În opinia mea, nu există nicio entitate, deoarece datele provin de la Vizualizați tabel personalizat modul (prin hook_data()).

Nu sunt sigur dacă există o soluție simplă sau dacă trebuie să-mi definesc propriul punct final (și să găsesc o soluție pentru a păstra filtrele expuse). Mai mult, cel Vizualizări Date Export PHPExcel modulul nu este disponibil pentru Drupal 8 și Drupal 9.

Puncte:1
drapel cn

Dacă ceea ce ați făcut funcționează când v-ați conectat ca utilizator 1 (Administrator), atunci se pare că trebuie să modificați anumite permisiuni și să ștergeți memoria cache pentru ca aceasta să aibă efect pentru ceilalți „utilizatori” sau „roluri”.

Pentru a-l testa, aș crea un utilizator de testare și un rol numit „rol de testare”. Apoi asigurați-vă că atribuiți utilizatorului de testare rolul de testare. Apoi asigurați-vă că îi dați „rolului de testare” ceea ce necesită modulul... văd mai jos în documentele de vizualizați tabelul de export

De asemenea, puteți verifica dacă utilizatorul/rolul autentificat are următoarele bifate pentru acesta, dacă nu doriți să creați utilizatorul/rolul de testare (/admin/people/permissions).

Permisiunile de mai jos vin cu modulul, presupun și veți vedea dacă după instalarea modulului și ștergeți memoria cache etc.

  • Configurați permisiunile utilizatorului în Administrare » Persoane » Permisiuni:

    • Adăugați un tabel personalizat în vizualizări

      Oferiți acces utilizatorului pentru a adăuga tabelul personalizat la sistem.

    • Administrați toate tabelele personalizate în vizualizări

      Oferiți acces utilizatorului pentru a administra toate tabelele personalizate, adăugate de toate utilizatorii

    • Administrați propriul tabel personalizat în vizualizări

      Oferiți acces utilizatorului pentru a administra propriile tabele personalizate

  • Gestionați tabele personalizate în Administrare » Structură » Vizualizări » Vizualizare personalizat Bărbați de masă

De asemenea, verificați dacă aveți aceste configurații pentru modul de export de date (în special #8)

În cele din urmă, conectați-vă ca „utilizator de testare” și verificați.

Verificați jurnalele dacă anumiți pași nu funcționează (admin/rapoarte/dblog)

drapel vn
Mulțumesc pentru ajutor @salah-1! Permisiunile tabelului personalizat de vizualizări se ocupă doar de definirea tabelelor personalizate în backoffice, nu de export. Dar, pentru a fi sigur, am făcut ceea ce ați spus și am verificat toate permisiunile pentru un utilizator autentificat. Dar problema este încă acolo (după ștergerea cache-ului) :/ Când verific jurnalele, văd o notificare: `Notă: Index nedefinit: #content_type în Drupal\views_data_export\Plugin\views\display\DataExport::buildStandard() (/home/a-adamezyk/dev/orange-cmu/web/modules/contrib/views_data_export/src/Plugin /views/display/DataExport.php ligne 190)`
salah-1 avatar
drapel cn
Ai un fel de matrice? eroarea indică un index de matrice nedefinit. Ai scris acel cod? /home/a-adamezyk/dev/orange-cmu/web/modules/contrib/views_data_export/src/Plugin/views/display/DataExport.php? dacă da, uită-te la linia 190.Dacă nu ați scris acel cod, atunci priviți cu atenție tipul de conținut sau câmpurile pe care le-ați definit.
drapel vn
Am o matrice. Pentru administrator, conține conținutul_type + datele csv. Pentru utilizatorul autentificat, fără tip_conținut și fără date csv. Nu am scris acest cod, este din modulul de export de date view-uri. În acest modul, văd că o linie returnează datele bune pentru administrator, dar nu pentru alte roluri: `$output = (string) $renderer->renderRoot($build);` Dar nu sunt capabil să înțeleg De ce...

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.