ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

Скрытие анкеты пользователями

 

3910
Дмитрий @Q-Tec
И так, дадим пользователям возможность скрывать анкету самим если им этого захочется. Как это сделать описано ниже.
Для этой функции нам понадобиться одно из полей (%field%).

Добавляем в настройки следующий код
Синим цветом выделена цифра фиелда который будет использоваться, вы можете сами его поменять на любой, который вам нужно

<tr><td>Статус анкеты </b></td>
<td><script>
if('none'==5) sel='selected'; else sel='';
print='<select name="field3" type="text" value="none">';
print+='<option value="true">Показывать всем</option>';
print+='<option value="none">Скрыта от всех</option>';
print+='</select>';
document.write(print);
</script><script>document.getElementsByName('field3')[0].value='none';</script>

И в место откуда нужн начать скрытие анкеты прописываем код (скроется всё, что ниже этого кода):
<div style="display:%field3%">

Всё, код ещё сырой скорее всего, сделал как знаю, у меня вполне всё работает. Как сделать сообщение о том, что анкета скрыта ещё не совсем понял, реально ли это... но в конец анкеты прописал: "</div><b>Анкета скрыта пользователем</b>" но в этом большой недостаток, эта надпись отображается даже если она не скрыта.


Отредактировано Q-Tec - 04.04.2009
6703
Андрей @ZloVeЩиЙ
хм... ну тыгенератор идей, мозг я б сказал ))

4875
ValdeZ @ValdeZ
было бы здорово реализовать эту идею по - максимуму
например: для статуса администратора - сделать анкету открытой в любом случае
скрывать не всю анкету, а лишь нужные пользователю поля, через checkbox, выбрал, какое поле отображать и всё (:
можно поставить условие для данной функции, например, она будет видна только пользователям со статусом выше 4-го

3910
Дмитрий @Q-Tec
ValdeZ пишет:

было бы здорово реализовать эту идею по - максимуму
например: для статуса администратора - сделать анкету открытой в любом случае
скрывать не всю анкету, а лишь нужные пользователю поля, через checkbox, выбрал, какое поле отображать и всё (:
можно поставить условие для данной функции, например, она будет видна только пользователям со статусом выше 4-го

Если так подумать, этот код можно использовать и для скрытия подарков, и каких-либо полей... но он слишком громоский для каждого поля если ставить, да и ограничение в фиелдах стоит. Хорошо если бы это было бы реализованно на стороне сервера. 😀

Да и вообще, как я заметил этот код <div style="display:none"> не совсем везде правильно работает, бывает, что и не скрывает, только толком я ещё не понял в каких случаях так бывает.

Отредактировано Q-Tec - 04.04.2009
4875
ValdeZ @ValdeZ
Q-Tec пишет:

ValdeZ пишет:

было бы здорово реализовать эту идею по - максимуму
например: для статуса администратора - сделать анкету открытой в любом случае
скрывать не всю анкету, а лишь нужные пользователю поля, через checkbox, выбрал, какое поле отображать и всё (:
можно поставить условие для данной функции, например, она будет видна только пользователям со статусом выше 4-го

Если так подумать, этот код можно использовать и для скрытия подарков, и каких-либо полей... но он слишком громоский для каждого поля если ставить, да и ограничение в фиелдах стоит. Хорошо если бы это было бы реализованно на стороне сервера. 😀

Да и вообще, как я заметил этот код <div style="display:none"> не совсем везде правильно работает, бывает, что и не скрывает, только толком я ещё не понял в каких случаях так бывает.

мне кажется, это нужно реализовать какими то условиями, что для одного случая - один контент, а для другого - другой

3910
Дмитрий @Q-Tec
Нужно, только вот какими условиями? - Вот в чём вопрос

4875
ValdeZ @ValdeZ
Q-Tec пишет:

Нужно, только вот какими условиями? - Вот в чём вопрос

я JavaScript пока только учу, но:

if (ставим условие для скрытых участков или всей анкеты)
else (ставим условия для других случаев)

как то так
😀

3588
Alexey @MC_DobermaN
интересная идейка кстати скрывать отдельные поля анкеты...

458
ridz @ridz
можно анкету не заполнять если хочешь скрыть )))
вот такой вариант предлагаю :
это ставиться в настройки в таблицу
<tr><td>Отображение анкеты</td><td>
<script>
document.write("<input type=hidden name=field3 class=text maxlength=1 value='%field3%'>");
if('%field3%'==1) sel='checked'; else sel='';
print='<input type=checkbox name=anketa '+sel+' onclick="if(!this.checked) field3.value=0;else field3.value=1"> - скрыть анкету от просмотра<br>';
document.write(print);
</script>
</td></tr>

это в анкету
<script language="JavaScript" type="text/javascript">


if(%field3% =='0'||parent.opener.admin==1) { document.write("<div style='display:block'>"); }
else {document.write("<b><font face='Monotype Corsiva' size=+2 color='red'>Анкета скрыта от просмотра</font></b><div style='display:none'>");}

</script>

тут то что скрываем ....

и в завершении
</div>
анкета скрывается по счелчку в настройках , доступна для просмотра админом ,плюс выводиться сообщение если анкета скрыта ,если нужно чтоб смотрели ещё кто то добавьте условие в if(%field3% =='0'||parent.opener.admin==1) , естественно кто уже использовал %field3% замените на своё

Отредактировано ridz - 05.04.2009
4619
Web3r @Web3r
ridz, у меня непашет 🙁

458
ridz @ridz
RiKoS пишет:

ridz, у меня непашет 🙁

те кто ранее делал настройки и анкеты проверьте закрытие <tr> </tr>
смотреть просмотр стандартного фаила , может быть это влияет.

6600
Александр @admiral
А к чему тут CDATA используется? Насколько я знаю она в sgml и xml применяется что бы показать, что какая то заключенная часть документа в этом самом CDATA представляет собой какие то символьные данные...

458
ridz @ridz
admiral пишет:

А к чему тут CDATA используется? Насколько я знаю она в sgml и xml применяется что бы показать, что какая то заключенная часть документа в этом самом CDATA представляет собой какие то символьные данные...

убрал но это не мешало )))

441
Валентин @DjValek
скрипт старый но не плохой, вот только как сделать чтоб хозяину анкеты, анкета открывалась?

102
Денис @Sloopy
DjValek, Можно так:
<script language="JavaScript" type="text/javascript">

if('%nick%' == mynick) {
if(%field3% =='0'||parent.opener.admin==1) { document.write("<div style='display:block'>"); }
else {document.write("<b><font face='Monotype Corsiva' size=+2 color='red'>Анкета скрыта от просмотра</font></b><div style='display:none'>");}
} else {

}
</script>

Не фиксил, так как не помню работает ли в анкете mynick.

60
Lilith @lilith
Sloopy пишет:

Не фиксил, так как не помню работает ли в анкете mynick.

Работает mynick