Я работаю в Drupal 6 с CCK. Под каждым текстовым полем есть раздел PHP, где вы можете запустить некоторый код PHP, чтобы получить допустимые значения. У меня проблемы с использованием оператора "if" для изменения допустимых значений в зависимости от типа пользователя
Итак, для начала я делаю запрос, чтобы определить тип пользователя текущего пользователя. -1 - пользователь по умолчанию, который является сотрудниками, а идентификатор типа пользователя "1" - для пользователей сайта. Я хочу, чтобы пользователь сайта ограничивался только разрешенными значениями, которые он должен видеть, и в то же время позволял сотрудникам редактировать это значение на экране редактирования узла со всеми вариантами выбора.
Первая часть оператора if работает. Тем не менее, «остальное» часть не работает. Это поле настроено для работы со структурами управления?
global $user;
$sql1 = "SELECT user_type_id FROM user_types_user WHERE uid = ".$user->uid." ";
$res1 = db_query($sql1);
if($res1 == '1'){
$sql = "SELECT account FROM users WHERE uid = ".$user->uid." ";
$res = db_query($sql);
while($row = db_fetch_array($res)){
$rows[] = $row['account'];
}
$rows = drupal_map_assoc($rows);
return $rows;
}
else {
$sql2 = "SELECT title FROM node WHERE type = 'accounts' ";
$res2 = db_query($sql2);
while($row2 = db_fetch_array($res2)){
$rows2[] = $row2['title'];
}
$rows2 = drupal_map_assoc($rows2);
return $rows2;
}
Варианты: type = account в узлах, однако при создании пользователя один из вариантов выбирается и сохраняется в пользовательской таблице в столбце, который я создал с именем "account"