Здравствуйте подскажите пожалуйста, как сделать, что бы вот когда пользователь зашел на редактирования своей страницы (user/uid/edit) некоторые поля в форме редактирования отображать, а если редактирует не свою страницу то некоторые поля не отображать. Подскажите пожалуйста как можно сделать это ? Заранее благодарю за ответ
Как на странице редактирования профиля проверять, пользователь открыл свой профиль или нет?
Главные вкладки
Лучший ответ
1
<?php
global $user;
$uid = $user->uid;
if (arg(1) == $uid) {
?>
https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/arg/7.x
Комментарии
<?php
function MYMODULE_form_user_profile_form_alter(&$form, &$form_state, $form_id) {
global $user; // Данные о текущем юзере
// Ваши условия
$form['myfield']['#access'] = FALSE; // Доступ к полю
}
?>
<?php
global $user;
$uid = $user->uid;
$path = current_path();
$ArrayTemp = explode('/',$path);
if($ArrayTemp[1] == $uid)
?>
Условие сделал вот такое, беру ссылку достаю из неё uid сверяю uid с uid-ом текущего пользователя и если они равны то, на форме выводиться то-то, а если нет то, то-то
А зачем пользователям редактировать не свою страницу?
Просто определенная роль, может восстанавливать пароль другим пользователям, я этих пользователей вывожу в таблице, и в таблице есть ссылка на редактирование, и там уже с помощью этой страницы редактирования, буду как то крутить. Уже разобрался как проверять, свой ли профиль редактирует пользователь или не свой
<?php
global $user;
$uid = $user->uid;
$path = current_path();
$ArrayTemp = explode('/',$path);
if($ArrayTemp[1] == $uid) {
}
?><?php
global $user;
$uid = $user->uid;
if (arg(1) == $uid) {
?>
https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/arg/7.x