Am vrut să folosesc javascript pentru a șterge o opțiune din lista de opțiuni în cazul în care utilizatorul nu este administrator și am căutat și am găsit acest cod într-o postare și l-am folosit în temele proiectului->mythemename->mythemename.theme fișier, dar asta nu a mers si am mai multe probleme pe care vreau sa stiu sa le rezolv, ca am cautat mult nu am gasit o solutie
funcția mythemenaname_preprocess_page(&$variabile, $hook) {
if (!in_array("administrator", \Drupal::currentUser()->roluri) {
if (isset($variables['nod']->type) && !empty($variables['nod']->type) && (strpos($variables['nod']->type, 'proxy_request') ! == fals)) {
drupal_add_js(drupal_get_path('theme', 'mythemename') . '/js/datcbaseauth.js');
}
}
}
Prima problemă este că nu pot obține datele utilizatorului actual, deoarece sunt întotdeauna raportat că al doilea parametru al funcției in_array este nul.
A doua problemă este că spun că al doilea parametru al funcției strpos este un obiect și nu doar un șir, chiar dacă exemplul din postare îl trata doar ca pe un șir.
A treia și ultima problemă este că spun că funcția drupal_add_js și funcția drupal_get_path sunt nedefinite.
Am căutat mult timp, dar nu am găsit o soluție la aceste 3 probleme, chiar și subiectele pe care le-ar putea menționat în ele nu sunt complete, de exemplu, nu raportează cum să folosești funcția drupal_add_js în fișierul .theme ce este condiția prealabilă sau chiar în documentația Drupal în sine, nu există date despre variabila &$variabile care vor spune despre conținutul acesteia, natura fiecărei părți etc., cu excepția faptului că este o matrice asociativă