Перейти к контенту
  • 0

Доп. поле, но без возможности редактирования...


fadar

Вопрос

Собственно сабж. Нужно поле типа "Победитель конкурсов:" Но! Что бы его мог редактировать только администратор! И видели его все юзвери, включая гостей, гы. Вот. Просто обрезать в скине профиля, вохможность редактировать доп. поля не катит, т.к. есть и другие доп. поля. Воть такая вот загадка форума, как же всё это реализовать?

Заранее фэнькс!

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

АЦ =>> Пользователи и группы =>> Доп-ные поля профиля =>> СОЗДАТЬ НОВОЕ ПОЛЕ =>> Поле может быть отредактировано пользователем? - Нет, Скрыть это поле в профиле? - нет. Вроде всё..

Добавлено в [mergetime]1094923838[/mergetime]

Общие Правила Форума

9. Для каждого нового вопроса создавайте отдельную тему. Темы вида "Есть несколько вопросов" или "Что бы хотелось поменять (список внутри)" будут закрыты.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Поле может быть отредактировано пользователем?

При выборе 'Нет', пользователь не сможет редактировать информацию этого поля и поле будет видно только Администраторам и Супермодераторам. И только администраторы смогут редактировать информацию этого поля через Админцентр.

 

:D Вот в том-то и загвоздка, что это не решаеться на уровне Админки ;)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Song

Потому что если сделать так, как сказал kel, то видят это поле только админы и супермодеры

:D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Да ладно чушь-то молоть:

Скрыть это поле в профиле? - нет.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Поле может быть отредактировано пользователем?

При выборе 'Нет', пользователь не сможет редактировать информацию этого поля и поле будет видно только Администраторам и Супермодераторам. И только администраторы смогут редактировать информацию этого поля через Админцентр.

Млин.

Скрыть это поле в профиле? - Нет

Поле может быть отредактировано пользователем? - Нет

= ЮЗЕРЫ НЕ ВИДЯТ ПОЛЯ В ПРОФИЛЕ! :D

Ну нету его в Русский Модифиц. 1.3 Final

У кого-нить при таких настройках юзеры видят поля?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
= ЮЗЕРЫ НЕ ВИДЯТ ПОЛЯ В ПРОФИЛЕ!

В своём или в чужих?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

fadar

Да, ты прав.

В натуре блин странно.

Ладно, открываем sources/Profile.php, находим

$query_extra = 'WHERE fedit=1 AND fhide <> 1';

и сделаем из него

$query_extra = 'WHERE fhide <> 1';

Вот и всё, теперь показывается.

 

Делаем вывод на будущее - если где-то это поле не показывается, то вооружаемся поиском по файлам форума и ищем строчку

fedit

Находим её и убиваем! :D (Аккуратно только, за убийство сами знаете что бывает.)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Эм, пасиб, но я уже нашёл метод, и помойму твой метод подвергнет все поля под таким действием что мне ненадо.

Поэтому сегодня умом дошёл в конце-концов, теперь для каждого конкретного поля можно отключить редактирование ;)

Рассказываю:

Открываем sources/Usercp.php

ищем строку

$form_element = $this->html->field_textarea( 'field_'.$row['fid'], $field_data[$row['fid']] );

это если для textarea и ниже там для textinput

$form_element = $this->html->field_textinput( 'field_'.$row['fid'], $field_data[$row['fid']] );

 

Берём из массива fid переводим в переменную... пишем где-нить перед этими строками:

$field123=$row['fid'];

Потом идём в БД в таблицу ibf_pfields_data, если через phpmyadmin тыкаем закладку Обзор.

Там смотрим колонку fid в ней указан порядковый номер доп. полей. запоминаем циферку у нужного поля.

Возвращаемся в sources/Usercp.php

 

Перед нужным полем (textarea или textinput) ставим следующие строки:

If ($field123=='X') { echo ""; }
else {

Где X - та циферка из БД.

меняем нужную строку:

$form_element = $this->html->field_textinput( 'field_'.$row['fid'], $field_data[$row['fid']] );

или

$form_element = $this->html->field_textarea( 'field_'.$row['fid'], $field_data[$row['fid']] );

на

$form_element = $this->html->field_textinput( 'field_'.$row['fid'], $field_data[$row['fid']] );}

или соответственно:

$form_element = $this->html->field_textarea( 'field_'.$row['fid'], $field_data[$row['fid']] );}

 

Воть и вся мысля поситившия меня. Через профиль никто н есможет редактить данное поле! :)

 

Всем пасиб :D

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.