Например:
Четверг, 28.03.2024, 14:05 Регистрация Карта сайта RSS Лента
Игровые новости Топ Сайтов Статьи Загрузить изображение Игровой форум Картинки
  • Страница 1 из 1
  • 1
Форум » Система Ucoz » Пользователи » Дополнительные поля для Персональной страницы
Дополнительные поля для Персональной страницы
Dimas777
Дата: Среда, 04.09.2013, 08:04 | Сообщение № 1
ICQ пользователя:
Skype пользователя:
Сайт пользователя:

Оффлайн
Сообщений: 300
Награды: 2
 


По просьбе пользователя "FAKIR" сделал хак для Персональной страницы.
Многие знают что в редактировании данных пользователя очень мало полей,
А вам например нужно чтобы пользователя заполнил как можно больше информации о себе:
WMR-кошелёк, любимые фильмы, музыку, skype и т.д.
Данный хак увеличивает количество дополнительных полей на девять штук

- Как работает это чудо? Ответ: Хак использует поле "Подпись"
Но сама поле подпись тоже останется доступным))

Особенности:

- Максимальная Длина введенных символов в эти доп.поля и в подпись в сумме 1000
Довольно таки хорошее число и её должно хватить

- Вывод информации из доп.поля в Персон. странице в любом место

- Информацию также можно выводить на форуме =D, что очень удобно в некоторых планах

- Заполнять все поля не обязательно

Установка не так уж легка, но надеюсь всё подробно написать:

Заходим в ПУ » Управление дизайном » Пользователи » "Форма редактирования персональной информации"
И в самый конец добавляем этот код:

Код
<script>   
var adar = document.getElementById("siF9");   
var contedant = adar.innerHTML;   
var aratr = contedant.replace('_x_Polus2',' aXxXa');   
var madas = new Array();   
madas = aratr.split(" ");   
var razam =madas.length;   
var afr=2;   
for (var g=0; g<razam;g++) {   
if(madas[g]=='aXxXa'){   
var afr=1;   
}   
}   
// Author Fatal1ti   
if(afr=='1'){   
$('#siM33').after('<tr class="tewrt"><td id="rra1">Название #1</td><td id="farr1"></td></tr><tr class="tewrt"><td id="rra2">Название #2</td><td id="farr2"></td></tr><tr class="tewrt"><td id="rra3">Название #3</td><td id="farr3"></td></tr><tr class="tewrt"><td id="rra4">Название #4</td><td id="farr4"></td></tr><tr class="tewrt"><td id="rra5">Название #5</td><td id="farr5"></td></tr><tr class="tewrt"><td id="rra6">Название #6</td><td id="farr6"></td></tr><tr class="tewrt"><td id="rra7">Название #7</td><td id="farr7"></td></tr><tr class="tewrt"><td id="rra8">Название #8</td><td id="farr8"></td></tr><tr class="tewrt"><td id="rra9">Название #9</td><td id="farr9"></td></tr>');   
var text = document.getElementById("siF9");   
var content = text.innerHTML;   
var mas = new Array();   
mas = content.split("_x_");   
var razm =mas.length;   
var artt=mas[0];   
document.getElementById('siF9').innerHTML = artt;   
for (var i=1; i<razm;i++){   
var afr=mas[i];   
if(afr=='Polus9'){afr='';}   
var afrq=afr.replace('Polus'+i+' ','');   
$("#farr"+i).append('<input type="text" id="apodp'+i+'" value="'+afrq+'" style="width: 100%;">');   
}   
// Site Author Novi4ok.Ru   
$('.manFlSbm:last').click(function() {   
   for(i=1;i<10;i++) {   
$('#siF9:last').val($('#siF9').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());   
$('#rra' + i).remove()   
$('#farr' + i).remove()   

   }   
});   
}else {   

$('#siM33').after('<tr class="tewrt"><td id="rra1">Название #1</td><td id="farr1"></td></tr><tr class="tewrt"><td id="rra2">Название #2</td><td id="farr2"></td></tr><tr class="tewrt"><td id="rra3">Название #3</td><td id="farr3"></td></tr><tr class="tewrt"><td id="rra4">Название #4</td><td id="farr4"></td></tr><tr class="tewrt"><td id="rra5">Название #5</td><td id="farr5"></td></tr><tr class="tewrt"><td id="rra6">Название #6</td><td id="farr6"></td></tr><tr class="tewrt"><td id="rra7">Название #7</td><td id="farr7"></td></tr><tr class="tewrt"><td id="rra8">Название #8</td><td id="farr8"></td></tr><tr class="tewrt"><td id="rra9">Название #9</td><td id="farr9"></td></tr>');   
for(j=1;j<10;j++) {   
$('#farr'+j).append('<input id="apodp'+j+'" style="width:100%;background:white;" />');   
}   
$('.manFlSbm:last').click(function() {   
   for(i=1;i<10;i++) {   
$('#siF9:last').val($('#siF9').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());   
$('#rra' + i).remove()   
$('#farr' + i).remove()   
   }   
});   
}   
</script>


Сохраняем

Далее идём. Если у вас подключены локальные пользователи,
То заходим сюда: ПУ » Управление дизайном » Пользователи » Страница регистрации пользователей
И перед </body> вставляем этот код:

Код
<script>   
var adar = document.getElementById("siF9");   
var contedant = adar.innerHTML;   
var aratr = contedant.replace('_x_Polus2',' aXxXa');   
var madas = new Array();   
madas = aratr.split(" ");   
var razam =madas.length;   
var afr=2;   
for (var g=0; g<razam;g++) {   
if(madas[g]=='aXxXa'){   
var afr=1;   
}   
}   
// Author Fatal1ti   
if(afr=='1'){   
$('#siM33').after('<tr class="tewrt"><td id="rra1">Название #1</td><td id="farr1"></td></tr><tr class="tewrt"><td id="rra2">Название #2</td><td id="farr2"></td></tr><tr class="tewrt"><td id="rra3">Название #3</td><td id="farr3"></td></tr><tr class="tewrt"><td id="rra4">Название #4</td><td id="farr4"></td></tr><tr class="tewrt"><td id="rra5">Название #5</td><td id="farr5"></td></tr><tr class="tewrt"><td id="rra6">Название #6</td><td id="farr6"></td></tr><tr class="tewrt"><td id="rra7">Название #7</td><td id="farr7"></td></tr><tr class="tewrt"><td id="rra8">Название #8</td><td id="farr8"></td></tr><tr class="tewrt"><td id="rra9">Название #9</td><td id="farr9"></td></tr>');   
var text = document.getElementById("siF9");   
var content = text.innerHTML;   
var mas = new Array();   
mas = content.split("_x_");   
var razm =mas.length;   
var artt=mas[0];   
document.getElementById('siF9').innerHTML = artt;   
for (var i=1; i<razm;i++){   
var afr=mas[i];   
if(afr=='Polus6'){afr='';}   
var afrq=afr.replace('Polus'+i+' ','');   
$("#farr"+i).append('<input type="text" id="apodp'+i+'" value="'+afrq+'" style="width: 100%;">');   
}   
// Site Author Novi4ok.Ru   
$('.manFlSbm:last').click(function() {   
   for(i=1;i<10;i++) {   
$('#siF9:last').val($('#siF9').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());   
$('#rra' + i).remove()   
$('#farr' + i).remove()   

   }   
});   
}   
else {   

$('#siM33').after('<tr class="tewrt"><td id="rra1">Название #1</td><td id="farr1"></td></tr><tr class="tewrt"><td id="rra2">Название #2</td><td id="farr2"></td></tr><tr class="tewrt"><td id="rra3">Название #3</td><td id="farr3"></td></tr><tr class="tewrt"><td id="rra4">Название #4</td><td id="farr4"></td></tr><tr class="tewrt"><td id="rra5">Название #5</td><td id="farr5"></td></tr><tr class="tewrt"><td id="rra6">Название #6</td><td id="farr6"></td></tr><tr class="tewrt"><td id="rra7">Название #7</td><td id="farr7"></td></tr><tr class="tewrt"><td id="rra8">Название #8</td><td id="farr8"></td></tr><tr class="tewrt"><td id="rra9">Название #9</td><td id="farr9"></td></tr>');   
for(j=1;j<10;j++) {   
$('#farr'+j).append('<input id="apodp'+j+'" type="text" style="width:100%;background:white;" />');   
}   
$('.manFlSbm:last').click(function() {   
   for(i=1;i<10;i++) {   
$('#siF9:last').val($('#siF9').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());   
$('#rra' + i).remove()   
$('#farr' + i).remove()   
if(i==9){   
document.getElementById('siF9').innerHTML = '';   
}  
}   
});   
}   
</script>


У когоuNet пользователи - тем этот код выше не вставлять

Теперь заходим в ПУ » Управление дизайном » Пользователи » Персональная страница пользователя
И ищем такой код: $_SIGNATURE$ - Этот код выводит подпись пользователя
Заменяем его на этот код:

Код
<?if($_SIGNATURE$)?>   
<?if(strrpos($_SIGNATURE$,'Polus1')>0)?>   
<?if(len(substr($_SIGNATURE$,0,strrpos($_SIGNATURE$,'_x_Polus1')))>0)?>   

//Код ниже выводит подпись, если она есть и заполнены какие-то доп.поля   
   <?substr($_SIGNATURE$,0,strrpos($_SIGNATURE$,'_x_Polus1'))?>   

<?else?>   

//Тут ничего нету т.к. пользователь не ввёл ничего в подпись, но некоторые доп.поля заполнил   

<?endif?>   
   <?else?>   

//Код ниже выводит подпись, а пользователь все доп.поля оставил пустыми(незаполненными)   
   $_SIGNATURE$   

<?endif?>   
<?else?>   

//Вообще ничего не заполнял, ни подписи, ни доп.полей   

<?endif?>


Комментарии (которые начинаются с двух косых //) удалите.
Их я написал, чтобы вы поняли что за что отвечает.

Теперь в Персональной странице где хотите выводите доп. поля через эти коды:

Код
<?if(strrpos($_SIGNATURE$,'_x_Polus1')>2)?>   
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus1') + 9,strrpos($_SIGNATURE$,'_x_Polus2') - strrpos($_SIGNATURE$,'_x_Polus1') - 9)?>   
<?endif?>   

<?if(strrpos($_SIGNATURE$,'_x_Polus2')>2)?>   
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus2') + 9,strrpos($_SIGNATURE$,'_x_Polus3') - strrpos($_SIGNATURE$,'_x_Polus2') - 9)?>   
<?endif?>   

<?if(strrpos($_SIGNATURE$,'_x_Polus3')>2)?>   
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus3') + 9,strrpos($_SIGNATURE$,'_x_Polus4') - strrpos($_SIGNATURE$,'_x_Polus3') - 9)?>   
<?endif?>   

<?if(strrpos($_SIGNATURE$,'_x_Polus4')>2)?>   
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus4') + 9,strrpos($_SIGNATURE$,'_x_Polus5') - strrpos($_SIGNATURE$,'_x_Polus4') - 9)?>   
<?endif?>   

<?if(strrpos($_SIGNATURE$,'_x_Polus5')>2)?>   
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus5') + 9,strrpos($_SIGNATURE$,'_x_Polus6') - strrpos($_SIGNATURE$,'_x_Polus5') - 9)?>   
<?endif?>   

<?if(strrpos($_SIGNATURE$,'_x_Polus6')>2)?>   
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus6') + 9,strrpos($_SIGNATURE$,'_x_Polus7') - strrpos($_SIGNATURE$,'_x_Polus6') - 9)?>   
<?endif?>   

<?if(strrpos($_SIGNATURE$,'_x_Polus7')>2)?>   
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus7') + 9,strrpos($_SIGNATURE$,'_x_Polus8') - strrpos($_SIGNATURE$,'_x_Polus7') - 9)?>   
<?endif?>   

<?if(strrpos($_SIGNATURE$,'_x_Polus8')>2)?>   
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus8') + 9,strrpos($_SIGNATURE$,'_x_Polus9') - strrpos($_SIGNATURE$,'_x_Polus8') - 9)?>   
<?endif?>   

<?if(strrpos($_SIGNATURE$,'_x_Polus9')>2)?>   
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus9') + 9,len($_SIGNATURE$) - strrpos($_SIGNATURE$,'_x_Polus9'))?>   
<?endif?>


Все они идут по порядку, из них вы можете делать ссылки или просто информацию
Также есть вариант сделать выбор цвета фона пользователем и т.п.

Теперь, если вы используете форум заходим сюда:
ПУ » Управление дизайном » Форум » Вид материалов
Находим такой код: $SIGNATURE$ и заменяем его на это:

Код
<?if($SIGNATURE$)?>   
<?if(strrpos($SIGNATURE$,'Polus1')>0)?>   
<?if(len(substr($SIGNATURE$,0,strrpos($SIGNATURE$,'_x_Polus1')))>0)?>   
//Код ниже выводит подпись, если она есть и заполнены какие-то доп.поля   
<?substr($SIGNATURE$,0,strrpos($SIGNATURE$,'_x_Polus1'))?>   
<?else?>   
//Тут ничего нету т.к. пользователь не ввёл ничего в подпись, но некоторые доп.поля заполнил   
<?endif?>   
<?else?>   
//Код ниже выводит подпись, а пользователь все доп.поля оставил пустыми(незаполненными)   
$SIGNATURE$   
<?endif?>   
<?else?>   
//Вообще ничего не заполнял, ни подписи, ни доп.полей   
<?endif?>


Комментарии (которые начинаются с двух косых //) удалите.
И если тут хотите вывести информацию из доп.поля то вот коды для вывода:

Код
<?if(strrpos($SIGNATURE$,'_x_Polus1')>2)?>   
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus1') + 9,strrpos($SIGNATURE$,'_x_Polus2') - strrpos($SIGNATURE$,'_x_Polus1') - 9)?>   
<?endif?>   

<?if(strrpos($SIGNATURE$,'_x_Polus2')>2)?>   
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus2') + 9,strrpos($SIGNATURE$,'_x_Polus3') - strrpos($SIGNATURE$,'_x_Polus2') - 9)?>   
<?endif?>   

<?if(strrpos($SIGNATURE$,'_x_Polus3')>2)?>   
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus3') + 9,strrpos($SIGNATURE$,'_x_Polus4') - strrpos($SIGNATURE$,'_x_Polus3') - 9)?>   
<?endif?>   

<?if(strrpos($SIGNATURE$,'_x_Polus4')>2)?>   
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus4') + 9,strrpos($SIGNATURE$,'_x_Polus5') - strrpos($SIGNATURE$,'_x_Polus4') - 9)?>   
<?endif?>   

<?if(strrpos($SIGNATURE$,'_x_Polus5')>2)?>   
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus5') + 9,strrpos($SIGNATURE$,'_x_Polus6') - strrpos($SIGNATURE$,'_x_Polus5') - 9)?>   
<?endif?>   

<?if(strrpos($SIGNATURE$,'_x_Polus6')>2)?>   
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus6') + 9,strrpos($SIGNATURE$,'_x_Polus7') - strrpos($SIGNATURE$,'_x_Polus6') - 9)?>   
<?endif?>   

<?if(strrpos($SIGNATURE$,'_x_Polus7')>2)?>   
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus7') + 9,strrpos($SIGNATURE$,'_x_Polus8') - strrpos($SIGNATURE$,'_x_Polus7') - 9)?>   
<?endif?>   

<?if(strrpos($SIGNATURE$,'_x_Polus8')>2)?>   
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus8') + 9,strrpos($SIGNATURE$,'_x_Polus9') - strrpos($SIGNATURE$,'_x_Polus8') - 9)?>   
<?endif?>   

<?if(strrpos($SIGNATURE$,'_x_Polus9')>2)?>   
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus9') + 9,len($SIGNATURE$) - strrpos($SIGNATURE$,'_x_Polus9'))?>   
<?endif?>


В общем-то и всё, надеюсь всё понятно - вопросы в комментарии.
Доп. полей можно было сделать ещё больше - например 15,
Но тогда будет немного хуже для поля подписи,
Так как там уменьшается мак. количество символов..

На этом все, удачи)

Дополнительные, поля, для, Персональной, страницы

    
Game-Portals.3dn.ru - The Best.
Форум » Система Ucoz » Пользователи » Дополнительные поля для Персональной страницы
  • Страница 1 из 1
  • 1
Поиск: