Дополнительные поля для uCoz на персональной странице из подписи
Добавлено 20.04.2016 в 22:49
Дополнительные поля для uCoz на персональной странице из подписи
Проблема с дополнительными полями в редактировании данных на персональной странице, которых так не хватает, давно решена. К сожалению, скрипт не добавляет поля, а просто разбивает существующее поле Подпись на столько, сколько Вы захотите. Ну, все-таки, дополнительные поля на персональной странице для uCoz – это отлично.

Если Вы редактировали стандартный вид персональной страницы, и не оставили ничего стандартного, то придется изрядно поработать, нужно будет обратить внимание на #block21

Установка

Вставьте следующий код на персональной странице пользователя и на странице редактирования информации перед </body>:

Код
<script type="text/javascript">  
var nT = {fields: ['Подпись','Интересы','Любимая музыка','Портфолио','Биография'], // поля  
// %CLASS% — порядковый номер элемента. служит для указания класса.  
// %NAME% — название поля  
// %VALUE% — текстовое поле  
// настройки для страницы редактирования  
form: '<tr><td valign="top" class="manTd1 a%CLASS%">%NAME%:</td><td class="manTd2 b%CLASS%">%VALUE%</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr"/></td></tr>', // форма полей  
iForm: '<textarea class="signField%CLASS%" style="width:100%;"></textarea>', // форма текстовых полей  

// настройки для персональной страницы  
pForm: '<div id="blockT%CLASS%" class="udtb"><div class="udtlb">%NAME%:</div> <span>%VALUE%</span></div>' // форма полей  
};  
</script>  

<script type="text/javascript">  
$(".manTable").each(function(){  
var a="";  
for(nF=0;nF<nT.fields.length;nF++)a+=nT.form.replace("%NAME%",nT.fields[nF]).replace("%VALUE%",nT.iForm.replace("%CLASS%",nF)).replace(/%CLASS%/g,nF);$("#siM33").before(a).prev().remove();$("#siM33").hide()});  
$("#siF20").click(function(){var a="";for(nK=0;nK<nT.fields.length;nK++){a+=$(".signField"+nK).val()+"{|}";  
$("#siF9").val(a)}adduser.submit()});  
$("#siF9").each(function(){iReg=$(this).val().split("{|}");  
$('textarea[class^="signField"]').each(function(){iRV= iReg[$(this).attr("class").substr(9)*1];$(this).val(iRV)})})  

$("#block21").each(function(){  
iNReg=$("span",this).html().split("{|}");nV="";for(nM=0;nM<nT.fields.length;nM++) {nV+=iNReg[nM]?nT.pForm.replace("%NAME%",nT.fields[nM]).replace("%VALUE%",iNReg[nM]).replace(/%CLASS%/g,nM):'';}  
});  

$('#block21').html(nV);  
</script>


Переходим к форме редактирования персональной информации:

Управление дизайном » Пользователи » Форма редактирования персональной информации.

Там находим и заменяем type="submit" на type="button"

Редактируя персональную информацию, найдите $_SIGNATURE$ и заключите этот код в тег <span>:

Код
<?if($_SIGNATURE$)?>  
<div id="block21" class="udtb"><span>$_SIGNATURE$</span></div>  
<?endif?>
К материалу оставили 0 комментариев