вопрос
Привет. На DLE 12.1 нужно как-то сделать так, чтобы пользователи в админке могли видеть и редактировать только те доп поля, которые им разрешены. В DLE, в настройки доп полей уже есть пункт
"Разрешить добавление для следующих групп", если там выставить нужную группу и в эту группу занести пользователей, то они видят только разрешенные доп поля и текст полной новости / краткой новости, но если они отредактируют что-то и новость сохранят, то все доп. поля которые от них были скрыты станут пустыми и вся информация в них пропадет. Может у кого-то есть решение как сделать, чтобы скрытые доп поля не становились пустыми и текст полной/краткой новости был скрыт?
"Разрешить добавление для следующих групп", если там выставить нужную группу и в эту группу занести пользователей, то они видят только разрешенные доп поля и текст полной новости / краткой новости, но если они отредактируют что-то и новость сохранят, то все доп. поля которые от них были скрыты станут пустыми и вся информация в них пропадет. Может у кого-то есть решение как сделать, чтобы скрытые доп поля не становились пустыми и текст полной/краткой новости был скрыт?
Открываем /engine/inc/xfields.php находим
case "init":
Ниже вставляем$xf_perm = $db->super_query("SELECT xfields FROM " . PREFIX . "_post WHERE id='{$id}'");
$xf_perm = xfieldsdataload($xf_perm['xfields']);
$arrayXfGroup = [];
Чуть ниже найтиif( $value[19][0] AND !in_array( $member_id['user_group'], $value[19] ) ) {
continue;
}
Заменить наif( $value[19][0] AND !in_array( $member_id['user_group'], $value[19] ) ) {
$arrayXfGroup[] = $value[0];
}
Далее найти$postedxfields = $newpostedxfields;
Ниже вставитьforeach($arrayXfGroup as $xfPName) {
if ($xf_perm[$xfPName]) {
$postedxfields[$xfPName] = stripslashes($xf_perm[$xfPName]);
}
}