Главная » Файлы » Все для uCoz » Скрипты для uCoz |
Дополнительные поля для модуля news
01.12.2010, 13:53 | |
Страница архива материалов, после $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="newfield" maxlength="100"></td></tr>'); }); $("#addEntForm").submit(function(){ $("#message").val($("#message").val().replace(/\|{3}\{.+?$/, "")); var nf=[]; $(".newfield").each(function(i){ if (this.value) nf.push("{" + (i+1) + "}" + this.value); }); if (nf.length) $("#message")[0].value += "|||" + nf.join('||'); }); </script><?endif?> Меняем названия ваших доп. полей. Code <?if(strrpos($MESSAGE$, '|||') = -1)?>$MESSAGE$<?else?><?substr($MESSAGE$,0,strrpos($MESSAGE$, '|||'))?><div id="newfields"></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]); } } $("#newfields").html(str.join("")); })(); </script><?endif?> Опять же заменяем названия доп. полей, на такие же, как это делали раньше. Code <tr><td><b>(name):</b></td><td>(value)</td></tr> И подгоняем под свой дизайн. Где (name) — имя доп. поля, (value) — значение. Code <?if(strrpos($MESSAGE$, '|||') = -1)?>$MESSAGE$<?else?><?substr($MESSAGE$,0,strrpos($MESSAGE$, '|||'))?><?endif?> | |
Просмотров: 247 | Загрузок: 0 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |