Дополнительные поля для Персональной страницы by F...
По просьбе пользователя "FAKIR" сделал хак для Персональной страницы.
Многие знают что в редактировании данных пользователя очень мало полей,
А вам например нужно чтобы пользователя заполнил как можно больше информации о себе:
WMR-кошелёк, любимые фильмы, музыку, skype и т.д.
Данный хак увеличивает количество дополнительных полей на девять штук
- Как работает это чудо? Ответ: Хак использует поле "Подпись"
Но сама поле подпись тоже останется доступным))
Особенности:
- Максимальная Длина введенных символов в эти доп.поля и в подпись в сумме 1000
Довольно таки хорошее число и её должно хватить
- Вывод информации из доп.поля в Персон. странице в любом место
- Информацию также можно выводить на форуме =D, что очень удобно в некоторых планах
- Заполнять все поля не обязательно
Установка не так уж легка, но надеюсь всё подробно написать: Заходим в ПУ » Управление дизайном » Пользователи » "Форма редактирования персональной информации"
И в самый конец добавляем этот код: Code
<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 вставляем этот код: Code
<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 = '';
}
}
// Site Author Novi4ok.Ru
});
}
</script>
У кого
uNet пользователи - тем этот код выше не вставлять
Теперь заходим в ПУ » Управление дизайном » Пользователи » Персональная страница пользователя
И ищем такой код: $_SIGNATURE$ - Этот код выводит подпись пользователя
Заменяем его на этот код: Code
<?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?>
Комментарии (которые начинаются с двух косых //) удалите.
Их я написал, чтобы вы поняли что за что отвечает
Теперь в Персональной странице где хотите выводите доп. поля через эти коды: Code
<?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$ и заменяем его на это: Code
<?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?>
Комментарии (которые начинаются с двух косых //) удалите.
И если тут хотите вывести информацию из доп.поля то вот коды для вывода: Code
<?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,
Но тогда будет немного хуже для поля подписи,
Так как там уменьшается мак. количество символов..
На этом все, удачи)
При копировании файла на свой сайт, ссылка на источник обязательна!
© Fakir-amxserv.ru
Добавил: FAKIR
|
25.11.2024 Просмотров: 872
Комментарии