Веб-мастеру

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Веб-мастеру » Помощь, вопросы по uCoz » Как сделать выбор "Клуба" на сайте?


Как сделать выбор "Клуба" на сайте?

Сообщений 1 страница 30 из 37

1

Доброго времени суток!
Хотелось бы узнать как сделать на сайте выбор "Клуба".
Возможность выбора данного "Клуба" при регистрации, так же позже можно в редактировании. После выбора картинка с нужным "Клубом" отображается в профиле и на форме.
Примеры сайтов где такое используется:
vampirediaries-tv.ru
the-vampire-diaries.ru
Буду очень благодарна!

0

2

При регистрации навряд ли получится. Хотя, надо подумать

0

3

Артем, на тех сайтах при регистрации можно

0

4

Что-то вы ошибаетесь. На указанных вами сайтах при регистрации нет опции выбора клуба:

the-vampire-diaries.ru

http://sa.uploads.ru/rDBKj.png

vampirediaries-tv.ru

http://sa.uploads.ru/qE5rW.png

Выбор опций при регистрации можно организовать только в пределах групп пользователей (дать возможность выбора группы при регистрации) или других дополнительных малозначащих полей (ICQ номер, Jabber идентификатор, Skype идентификатор, Yahoo идентификатор, Штат) в которые будут записываться данные со страницы регистрации. А поскольку изначальный метод авторизации пользователей не позволяет активировать дополнительные поля формы на странице регистрации (доступен только при активации метода авторизации "Локальные пользователи" для чего нужен Премиум-пакет).

http://sa.uploads.ru/t/CQc3A.png

Можно взять другую опцию со страницы регистрации, которая доступна для uNet-пользователей — это Пол. Но это только в том случае, если вы готовы пожертвовать такой значимой функцией как пол ради каких-то клубов. При помощи "Замена стандартных надписей" поменять названия полов на названия клубов (Замена стандартных надписей » Пользователи » изменить поля "Мужчина" и "Женщина") и добавить новые (Пользователи » Настройки модуля » Дополнительные опции для поля "Ваш пол").

К сожалению, на тех двух сайтах, что вы указали, страница пользователей и форум закрыты от гостей (форум вообще глупо скрывать от гостей, т.к. поисковики его не видят, следовательно меньше трафика с поисковиков они получат), но, как я говорил ранее, судя по вашему скриншоту, выбор клубов скорее всего у них организован при помощи ранговой системы.

0

5

Артем, ну я сделала локальные пользователи
http://sa.uploads.ru/t/OJ8E3.png
что дальше делать?

0

6

Оперативненько https://forumupload.ru/uploads/0007/af/57/16341-1.gif Теперь нам надо взять любое ненужное поле в которое будут записываться данные из выпадающего списка. В качестве ненужного поля я решил использовать поле STATE (Штат), т.к. в нашей стране оно не особо популярно (пользователи из России и стран СНГ зачастую предпочитают не тратить время на заполнение поля, да и название у него не соответствует региональному), да и в Настройках модуля его можно сделать обязательным к заполнению (про остальные поля, что я перечислял ранее, не помню). Это поле можете заменить на любое другое.

1. Пользователи » Настройки модуля, Поля формы для регистрации пользователей: в первом столбце напротив названия Штат выставите галочку (см. скриншот). Если хотите, чтобы это поле было обязательным к заполнению, выставьте галочку и во втором столбце.

http://sa.uploads.ru/t/sOQal.png

2. Управление дизайном » Пользователи » Форма регистрации локальных пользователей, найдите там такой код:

<?if($STATE_FL$)?>
<tr id="siM21"><td class="manTd1" id="siM22">$STATE_SIGN$</td><td class="manTd2" id="siM23">$STATE_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>

И замените его на:

<?if($STATE_FL$)?>
<tr id="siM21"><td class="manTd1" id="siM22">$STATE_SIGN$</td><td class="manTd2" id="siM23">
<div id="profFldDiv" style="display:none;">$STATE_FL$</div><select size="1" name="state" id="profSelect">

<option value="Агенты">Агенты</option>
<option value="Охотники">Охотники</option>
<option value="Инопланетяне">Инопланетяне</option>

</select><script type="text/javascript">var profFld=$('#profFld');$('#profSelect option[value="'+$('input[name="state"]').val()+'"]').attr('selected','selected');$('#profFldDiv').remove();</script></td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>

Размножаете строчки option столько раз сколько нужно. Вместо красного текста можно использовать картинки:

Код:
<img src="ссылка_на_картинку" alt="" />

Сам код проверить не могу, посему и не знаю, поддерживает ли хоть какое-нибудь из полей на странице регистрации HTML или BBcode.

0

7

Артем, Я сделала в редактировании профиля выбор, но не с вашим кодом, с вашим у меня не получилось картинки сделать.
Сделала с помощью данного скрипта:

Код:
<script> 
function smilepre(sm) 
{ //U.moodSmile - GamesMir.com 
 if(sm == '') 
 document.all.yahoosmilepre.innerHTML = ''; 
 else 
 document.all.yahoosmilepre.innerHTML = '<img src="/img/team/'+sm+'.png">'; 
} 
</script>

Чтобы отображалось в профиле я нашла вот этот код:

Код:
<div id="block16" class="udtb"><div class="udtlb">Команда:</div> <img src="/img/team/4.png"></div>

Но как сделать, чтобы отображалась именно та картинка которую выберет пользователь?

0

8

Konovalova, а вы верно указываете ссылки на картинки? Приведите пример кода с картинками.

0

9

Артем,  что то я туплю вы про свой код?

0

10

Konovalova, да, тот что я публиковал в 6 сообщении, только вставьте в него свои картинки, посмотрим в чем дело https://forumupload.ru/uploads/0007/af/57/16341-1.gif

0

11

Admin написал(а):

Konovalova, да, тот что я публиковал в 6 сообщении, только вставьте в него свои картинки, посмотрим в чем дело

Код:
<?if($STATE_FL$)?>
<tr id="siM21"><td class="manTd1" id="siM22">$STATE_SIGN$</td><td class="manTd2" id="siM23">
<div id="profFldDiv" style="display:none;">$STATE_FL$</div><select size="1" name="state" id="profSelect">

<option value="<img src="http://the-teen-wolf.ucoz.ru/team/1.png" alt="" />">Caroline</option>
<option value="<img src="http://the-teen-wolf.ucoz.ru/img/team1.png" alt="" />">Stefan</option>

</select><script type="text/javascript">var profFld=$('#profFld');$('#profSelect option[value="'+$('input[name="state"]').val()+'"]').attr('selected','selected');$('#profFldDiv').remove();</script></td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>

0

12

...
<option value="<img src="http://the-teen-wolf.ucoz.ru/team/1.png" alt="" />">Caroline</option>
...

В коде двойные кавычки надо заменять на одинарные либо экранизировать их, иначе браузер думает, что последующие двойные кавычки закрывают атрибут (браузером обрабатывается код от одной двойной кавычки до другой — выделено синим, то есть все кавычки, что расположены между красными, должны быть одинарными).

...
<option value="<img src='http://the-teen-wolf.ucoz.ru/team/1.png' alt='' />">Caroline</option>
...

В атрибут alt можно вставить название (вместо картинки будет отображаться текст тем у кого в браузере отключены изображения). Попробуйте так:

<?if($STATE_FL$)?>
<tr id="siM21"><td class="manTd1" id="siM22">$STATE_SIGN$</td><td class="manTd2" id="siM23">
<div id="profFldDiv" style="display:none;">$STATE_FL$</div><select size="1" name="state" id="profSelect">

<option value="<img src='http://the-teen-wolf.ucoz.ru/team/1.png' alt='Caroline' />"><img src="http://the-teen-wolf.ucoz.ru/team/1.png" alt="Caroline" /></option>
<option value="<img src='http://the-teen-wolf.ucoz.ru/img/team1.png' alt='Stefan' />"><img src="http://the-teen-wolf.ucoz.ru/img/team1.png" alt="Stefan" /></option>

</select><script type="text/javascript">var profFld=$('#profFld');$('#profSelect option[value="'+$('input[name="state"]').val()+'"]').attr('selected','selected');$('#profFldDiv').remove();</script></td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>

0

13

Вот что получилось:
http://sa.uploads.ru/t/cElqU.png

0

14

Я ориентировался по странице регистрации, там выбор организован при помощи стилизованных селекторов (точнее даже не селекторов, а списков). На странице редактирования профиля, судя по скриншоту, отсутствует исполняемый код для стилизации элементов управления:

Код:
<script type="text/javascript" src="http://the-teen-wolf.ucoz.ru/js/ui.js"></script>

Вставьте его перед тегом </body> в Управление дизайном » Пользователи » Страница редактирования данных пользователя. Для обычных селекторов такой метод, что я предложил выше, естественно будет бесполезен.

0

15

Артем, в регистрации вставила тоже самое

0

16

Тогда пусть останутся только названия

Код:
<?if($STATE_FL$)?>
<tr id="siM21"><td class="manTd1" id="siM22">$STATE_SIGN$</td><td class="manTd2" id="siM23">
<div id="profFldDiv" style="display:none;">$STATE_FL$</div><select size="1" name="state" id="profSelect">

<option value="<img src='http://the-teen-wolf.ucoz.ru/team/1.png' alt='Caroline' />">Caroline</option>
<option value="<img src='http://the-teen-wolf.ucoz.ru/img/team1.png' alt='Stefan' />">Stefan</option>

</select><script type="text/javascript">var profFld=$('#profFld');$('#profSelect option[value="'+$('input[name="state"]').val()+'"]').attr('selected','selected');$('#profFldDiv').remove();</script></td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>

0

17

Артем, Данный код выводит данную информацию в профиле, но можете подсказать, что нужно ввести вместо ссылки на картинку, чтобы там появлялась та картинка которую пользователь выберет (выделено красным)?

Konovalova написал(а):

<div id="block16" class="udtb"><div class="udtlb">Команда:</div> <img src="/img/team/4.png"></div>

0

18

Код:
<?if($_STATE$)?><div id="block16" class="udtb"><div class="udtlb">Команда:</div> $_STATE$</div><?endif?>

0

19

Артем, я что то запуталась(
какой код нужно втавить в шаблон регистрации локальных пользователей, а какой в редактирование профиля?

0

20

Сейчас сильно загружен, на выходных попробую помочь

0

21

Артем, буду ждать)

0

22

В форму регистрации локальных пользователей и форму редактирования персональных данных можно вставлять одно и то же, т.е. код из 16 сообщения этой темы:

Код:
<?if($STATE_FL$)?>
<tr id="siM21"><td class="manTd1" id="siM22">$STATE_SIGN$</td><td class="manTd2" id="siM23">
<div id="profFldDiv" style="display:none;">$STATE_FL$</div><select size="1" name="state" id="profSelect">

<option value="<img src='http://the-teen-wolf.ucoz.ru/team/1.png' alt='Caroline' />">Caroline</option>
<option value="<img src='http://the-teen-wolf.ucoz.ru/img/team1.png' alt='Stefan' />">Stefan</option>

</select><script type="text/javascript">var profFld=$('#profFld');$('#profSelect option[value="'+$('input[name="state"]').val()+'"]').attr('selected','selected');$('#profFldDiv').remove();</script></td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>

Разве только что при редактировании профbля пользователю придется заново указывать свою команду.

0

23

Артем,  в редактировании профиля при сохранении пишет : Форма заполнена неправильно. Некоторые поля формы имеют длину больше допустимой

0

24

Плохо. Значит придется искать и использовать другие доступные поля, чтобы хватало достаточной длинны для записи. Значит так, план действий таков: Пользователи » Настройки модуля, Поля формы для регистрации пользователей: убираем галочку напротив надписи "Штат" и ставим её напротив "Yahoo идентификатор". Далее идем в Управление дизайном и заменяем код в Форма регистрации локальных пользователей и Форма редактирования персональной информации

Код:
<?if($YAHOO_FL$)?>
<tr id="siM15"><td class="manTd1" id="siM16">$YAHOO_SIGN$</td><td class="manTd2" id="siM17">$YAHOO_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>

на такой

Код:
<?if($YAHOO_FL$)?>
<tr id="siM15"><td class="manTd1" id="siM16">$YAHOO_SIGN$</td><td class="manTd2" id="siM17">
<div id="profFldDiv" style="display:none;">$YAHOO_FL$</div><select size="1" name="yahoo" id="profSelect">

<option value="<img src='http://the-teen-wolf.ucoz.ru/team/1.png' alt='Caroline' />">Caroline</option>
<option value="<img src='http://the-teen-wolf.ucoz.ru/img/team1.png' alt='Stefan' />">Stefan</option>

</select><script type="text/javascript">var profFld=$('#profFld');$('#profSelect option[value="'+$('input[name="yahoo"]').val()+'"]').attr('selected','selected');$('#profFldDiv').remove();</script></td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>

И проверяем форму редактирования персональных данных.

0

25

Admin написал(а):

Плохо. Значит придется искать и использовать другие доступные поля, чтобы хватало достаточной длинны для записи. Значит так, план действий таков: Пользователи » Настройки модуля, Поля формы для регистрации пользователей: убираем галочку напротив надписи "Штат" и ставим её напротив "Yahoo идентификатор". Далее идем в Управление дизайном и заменяем код в Форма регистрации локальных пользователей и Форма редактирования персональной информации

на такой

И проверяем форму редактирования персональных данных.

Пишет тоже самое

0

26

За неимением возможности проверить допустимое кол-во символов в полях, не могу точно сказать, хватит ли символов для вставки нашей информации в других оставшихся полях. Но всё-равно, будем пробовать.

Konovalova, у Вас ведь проект посвящен фильму/телесериалу? Значит остальные пользователи на вашем сайте, скорее всего, не имеют собственных веб-сайтов — это я к тому, что можно попробовать взять поле "Домашняя страничка". Как Вы на этом смотрите?

0

27

Admin написал(а):

За неимением возможности проверить допустимое кол-во символов в полях, не могу точно сказать, хватит ли символов для вставки нашей информации в других оставшихся полях. Но всё-равно, будем пробовать.

Konovalova, у Вас ведь проект посвящен фильму/телесериалу? Значит остальные пользователи на вашем сайте, скорее всего, не имеют собственных веб-сайтов — это я к тому, что можно попробовать взять поле "Домашняя страничка". Как Вы на этом смотрите?

Давайте попробуем!)

0

28

Аналогично, в настройках модуля "Пользователи" — "Поля формы для регистрации пользователей" в первом столбце ставим галочку напротив надписи "Домашняя страница". В Управление дизайном и заменяем код в Форма регистрации локальных пользователей и Форма редактирования персональной информации с такого:

Код:
<?if($WWW_FL$)?>
<tr id="siM3"><td class="manTd1" id="siM4">$WWW_SIGN$</td><td class="manTd2" id="siM5">$WWW_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>

на такой:

Код:
<?if($WWW_FL$)?>
<tr id="siM3"><td class="manTd1" id="siM4">$WWW_SIGN$</td><td class="manTd2" id="siM5">
<div id="profFldDiv" style="display:none;">$WWW_FL$</div><select size="1" name="www" id="profSelect">

<option value="<img src='http://the-teen-wolf.ucoz.ru/team/1.png' alt='Caroline' />">Caroline</option>
<option value="<img src='http://the-teen-wolf.ucoz.ru/img/team1.png' alt='Stefan' />">Stefan</option>

</select><script type="text/javascript">var profFld=$('#profFld');$('#profSelect option[value="'+$('input[name="www"]').val()+'"]').attr('selected','selected');$('#profFldDiv').remove();</script></td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>

И пробуем. Возможно Вам потребуется нажать на кнопку "Восстановить стандартный шаблон", т.к. в процессе, изменений мы внесли довольно много в структуру формы.
http://sa.uploads.ru/t/xbZtQ.png

0

29

Артем, а от возврата к стандартным настройкам мой дизайн не пропадет?

0

30

Konovalova, весь дизайн не пропадет. Пи нажатии на кнопку "Восстановить" будет восстановлен стандартный шаблон только "Формы регистрации локальных пользователей", а она у Вас имеет стандартный вид, поэтому, восстановив шаблон, дизайн Вы не потеряете.

Если Вы нажмете на кнопку "Восстановить", к примеру, на странице "Новости сайта - Страница архива материалов", в таком случае у вас сбросится на стандартный шаблон страницы Главная страница модуля новостей, Страницы категорий и страницы Добавления и редактирования новостей.

0


Вы здесь » Веб-мастеру » Помощь, вопросы по uCoz » Как сделать выбор "Клуба" на сайте?