Помощь - Поиск - Пользователи - Календарь
Полная Версия: о доп. полях
Форум поддержки IPB.SU > Администрирование
anaxio
У меня ролевой форум. Как сделать доп. поле например "деньги" и "звание" что бы пользователь не смог редактировать, но все могли видеть. и как поставить картинку в "звание", только что бы также смог редактировать только админ, но видели все. читал про награды, но не разобрался, извините.
Сергей
Воспользуйтесь поиском по форуму. Ответы на подобные вопросы неоднократно давались.
anaxio
извините, но не нашел нужной темы. может ответите?
Сергей
Если поле будет настроено таким образом, пользователь его не сможет отредактировать сам.

В данный момент это поле установлено для наград на форуме тех. поддержки.
Slesher
там еще надо будет клепануть кусок кода, вырезать из наград. Без этого юзер сможет редактировать.
Сергей
Значит пусть пользователь всё же "разберётся про мод наград".
anaxio
я вот вставлял
Код
<!-- призы и подарки --> <script> if ("$name" == "field_X") { document.theForm.field_X.style.visibility="hidden"; document.write("</br>Вы не можете редактировать это поле.") } </script> <!-- конец призов и подарков -->

так доп. поля, которые писал в код вообще пропадают. а по другому не знаю как сделать.
stopme
Цитата
("$name" == "field_X")

То что я выделил красным должна стоять цифра вашему дополнительному полю.

переменная TopicView
field_1

То что подчеркнуто - айди поля.
anaxio
Цитата (stopme @ Сегодня, 21:48)
То что я выделил красным должна стоять цифра вашему дополнительному полю.

переменная TopicView
field_1

То что подчеркнуто - айди поля.

да я ж не тупой, я ставил. вот когда и прописал все доп. поля - они и пропали.
stopme
anaxio, можно ссылку на ваш форум?
Slesher
Попробуйте сначала не все, а одно поле
anaxio
я даже если одно поле ставлю, то все пропадают, которые не могут быть отредактированы пользователями
stopme
Цитата (anaxio @ Авг 15 2011, 23:31)
я даже если одно поле ставлю, то все пропадают, которые не могут быть отредактированы пользователями

Я же вам все в личке все сказал, разве не то?
anaxio
ээмм.. я же отписал: я так и делаю. из за того кода и пропадает все.
Potter
делайте, как мод наград просто, логически подумайте и что надо измените , не знаю меня пару таких полей было на ролевом форуме и все они работали хорошо.
Dron
Цитата (anaxio @ Авг 15 2011, 16:39)
я вот вставлял
Код
<!-- призы и подарки --> <script> if ("$name" == "field_X") { document.theForm.field_X.style.visibility="hidden"; document.write("</br>Вы не можете редактировать это поле.") } </script> <!-- конец призов и подарков -->

так доп. поля, которые писал в код вообще пропадают. а по другому не знаю как сделать.


Вопрос на засыпку: А куда именно вы вставляете этот код?
Я вот сейчас почитав данную тему, даже в виде эксперимента вспомнил как это делать и потестил на тестовом форуме - все очень даже хорошо работает - при условии, что все правильно сделано. Могу даже пример показать.
anaxio
Dron, вот сюда, в низ:
Редактирование профиля (User Control Panel Section) - Profile Form: Custom Profile Text Input
Dron
Я взял за основу мод о Наградах.
Только не нужно не глядя копировать оттуда все подряд...
Там нужно взять только код запрета редактирования доп. поля юзером.
Далее идет стандартная вставка Переменной доп. поля в шаблон сообщения темы.
Вот пример работы поля: http://dron.ipb.su/
Логин Test
Пароль test
anaxio
я вставляю выше написанный код, но ничего не происходит. Если поставить "Поле может быть отредактировано пользователем?", но он так и может редактировать его, остальные поля не видны (в которых ето запрещено), аналогично, если запрещено редактировать все поля - все доп.поля пропадают. может еще что то надо вставить? или может быть ето из за установленного нового вида профиля?
Dron
На самом деле все просто... Не понимаю почему у вас не работает (при условии, что все правильно сделано).
Для начала создаем доп поле:
Цитата
Название - Звание
Описание - Звание
Тип поля - Текстовое поле
Максимальное кол-во символов - 20
Порядковый номер отображения - (Все зависит от того сколько доп. полей создано уже) у меня это цифра 1
Добавить это поле и на страницу регистрации? - Нет
Сделать это поле обязательным для заполнения? - Нет
Скрыть это поле в профиле? - Нет
Поле может быть отредактировано пользователем? - Да
Важно: Запоминаем id поля (field_х)

Далее Идем:
Редактирование профиля (User Control Panel Section) -- Profile Form: Custom Profile Text Input В самый низ вставляем:
Цитата
<!-- Звание -->
<script>
  if ("$name" == "field_х")
      {
        document.theForm.field_х.style.visibility="hidden";
        document.write("</br>Вы не можете редактировать это поле.")
      }
</script>
<!--  конец Звание -->
Не забываем менять field_х на id своего поля (в данном коде это делается в двух местах). СОХРАНЯЕМ

Далее Идем: Просмотр темы (Topic View Section) -- Post Entry
Там ищем к примеру:
Цитата
{$author['member_joined']}<br />
и ниже этого добавляем следующий код:
Цитата
Звание: {$author['field_х']}<br />
И снова не забываем указывать id своего поля. СОХРАНЯЕМ

Теперь о главном! Не забываем зайти в Экономия CPU и Разрешить отображение дополнительных полей профиля в темах.
anaxio
спасибо. теперь все работает. не знаю, я все так же делал. наверное ето из за названия кода:
Код
<!-- Звание -->

а я вставлял просто везде "Награды".
anaxio
а вот еще: разве можно только "такими полями" делать поля только текст. область? а то остальные виды поля юзеры могут редактировать(( как сделать что бы "Выпадающее меню" и "текстовая область" тоже были как текст. область.
stopme
Код
спасибо. теперь все работает. не знаю, я все так же делал. наверное ето из за названия кода:

Он здесь не причем.
Dron
Цитата (anaxio @ Авг 16 2011, 04:36)
а вот еще: разве можно только "такими полями" делать поля только текст. область? а то остальные виды поля юзеры могут редактировать(( как сделать что бы "Выпадающее меню" и "текстовая область" тоже были как текст. область.

Думаю по аналогии...
По логике, вид поля не имеет тут значения.
anaxio
Цитата (Dron @ Сегодня, 07:30)
Думаю по аналогии...
По логике, вид поля не имеет тут значения.

извините, но не совсем понял. пробовал менять
Код
[document.theForm. [B]field[/B] _8.style.visibility="hidden";
document.write("Вы не можете редактировать это поле.")

но ничего не происходит.. думал что это отвечает за вид..
Slesher
ну в принципе да.
стукните мне в личку.
Это архивная версия. Здесь расположена полная версия этой страницы.
Работает на IP.Board © 2019 IPS, Inc.