Зарабатываю на smmka.ru
Главная » Статьи » Скрипты » Скрипты для uCoz

Дополнительные поля для разных модулей uCoz

Если вы хотите сделать для модуля news или blog:

Страница архива материалов, после $BODY$

Code
<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>

Меняем названия ваших доп. полей.
Страница материала и комментариев к нему. Заменяем $MESSAGE$

Code
<?if(strrpos($MESSAGE$, '|||') = -1)?>$MESSAGE$<?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 = ''.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>

Опять же заменяем названия доп. полей, на такие же, как это делали раньше.
Ищем

Code
<tr><td><b>(name):</b></td><td>(value)</td></tr>

И подгоняем под свой дизайн. Где (name) — имя доп. поля, (value) — значение.
Вид материалов » заменяем $MESSAGE$

Code
<?if(strrpos($MESSAGE$, '|||') = -1)?>$MESSAGE$<?substr($MESSAGE$,0,strrpos($MESSAGE$, '|||'))?>

А что бы сделать в других модулях дополнительные поля

Заходим на Страница добавления/редактирования материала и после $BODY$ ставим:

Code
<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>

Страница материала и комментариев к нему, меняем $MESSAGE$ на:

Code
<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 = ''.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>

Вид материалов:

Code
<?if(strrpos($MESSAGE$, '|||') = -1)?>$MESSAGE$<?substr($MESSAGE$,0,strrpos($MESSAGE$, '|||'))?>
Категория: Скрипты для uCoz | Добавил: dEnny (28.01.2011)
Просмотров: 503 | Комментарии: 1 | Теги: дополнительные, разных, поля, ucoz, для, модулей | Рейтинг: 0.0/0
Всего комментариев: 1



05.02.2011 в 15:07 Профиль пользователя


Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Дизайн сайтов и шаблоны для Ucoz