Я хотел использовать javascript для удаления параметра из списка параметров в случае, если пользователь не является администратором, и я искал и нашел этот код внутри сообщения, и я использовал его в файле тем проекта-> mythemename-> mythemename.theme, но это не сработало, и у меня есть несколько проблем, которые я хочу знать, как решить, так как я много искал, я не нашел решения
функция mythemename_preprocess_page(&$variables, $hook) {
if (!in_array("администратор", \Drupal::currentUser()->роли) {
if (isset($variables['node']->type) && !empty($variables['node']->type) && (strpos($variables['node']->type, 'proxy_request') ! == ложь)) {
drupal_add_js(drupal_get_path('theme', 'mythemename'). '/js/datcbaseauth.js');
}
}
}
Первая проблема заключается в том, что я не могу получить данные текущего пользователя, так как мне всегда сообщают, что второй параметр функции in_array равен нулю.
Вторая проблема заключается в том, что я говорю, что второй параметр функции strpos является объектом, а не просто строкой, хотя в примере в посте он рассматривается как просто строка.
Третья и последняя проблема заключается в том, что я говорю, что функция drupal_add_js и функция drupal_get_path не определены.
Я долго искал, но так и не нашел решения этих 3-х проблем, даже темы могут в нем упоминаться не полные, например не сообщают как пользоваться функцией drupal_add_js внутри файла .theme что есть предварительное условие или даже в самой документации Drupal нет данных о переменной, & $variables расскажет о ее содержимом, характере каждой части и т. д., за исключением того, что это ассоциативный массив