Нужно чтобы отображались дополнительные поля в полном тексте не как просто текст а как ССЫЛКА, как этого добиться, может кто хорошо разбирается с скриптами, помогите. На страницу "Добавления/редактирования материала" после $BODY$
Code
<?if($PAGE_ID$='add')?><script type="text/javascript">
$(["Доп. поле 5", "Доп. поле 4", "Доп. поле 3", "Доп. поле 2", "Доп. поле 1"]).each(function(){
$('#message').parent().parent().parent().after('<tr><td class="manTd1">' + this + '</td><td class="manTd2"><input type="text" style="width: 100%;" class="mistermo1" maxlength="100"></td></tr>');
});
$("#addEntForm").submit(function(){
$("#message").val($("#message").val().replace(/\|{3}\{.+?$/, ""));
var nf=[];
$(".mistermo1").each(function(i){
if (this.value) nf.push("{" + (i+1) + "}" + this.value);
});
if (nf.length) $("#message")[0].value += "|||" + nf.join('||');
});
</script><?endif?>
Страница материала и комментариев к нему. Заменяем $MESSAGE$ на
Code
<?if(strrpos($MESSAGE$, '|||') = -1)?>$MESSAGE$<?else?><?substr($MESSAGE$,0,strrpos($MESSAGE$, '|||'))?><div id="mistermo1"></div>
<script type="text/javascript">
(function(){
var names = [0, "Доп. поле 1", "Доп. поле 2", "Доп. поле 3", "Доп. поле 4", "Доп. поле 5"],
htmlStr = '<tr><td><b>(name):</b></td><td>(value)</td></tr>',
str = '<?substr($MESSAGE$,strrpos($MESSAGE$, '|||')+3)?>'.split('||');
for (var i=0; i<str.length; i++) {
if (str[i]) {
var h = htmlStr,
n = str[i].match(/^\{(\d+)\}/);
str[i] = h.replace("(name)", names[n[1]]).replace("(value)", str[i].match(/^\{\d+\}(.+)/)[1]);
}
}
$("#mistermo1").html(str.join(""));
})();
</script><?endif?>