[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Ucoz » Скрипты для ucoz » Дополнительные поля на любом модуле без PHP для Ucoz
Дополнительные поля на любом модуле без PHP для Ucoz
offtop
Дата: Суббота, 18.05.2013, 21:20 | Сообщение # 1
Оффлайн
Пользователи
Сообщений: 216
IP: Скрытная информация


Плюсы:
- ограничение только на символы, суммарно 9999.
- работает БЕЗ PHP.
- дополнительные поля всегда заполняются автоматически при редактировании материала, что очень удобно и отличает этот скрипт от многих других аналогов.
- можно вставлять поля в плеера музыки и видео, да и вообще почти куда угодно, кроме как в сами операторы юкоза (например: , такое не прокатит).
- ну и вроде бы простой

Минусы:
- убивает поле краткого описания (по умолчанию), можно убить поле полного описания, но эта проблема решаема, просто добавьте новое поле textarea.
остальные не выявлены.

Установка:

1. Скачиваем скрипт и закидываем себе на сайт.
2. На странице добавления и редактирования материала после $BODY$ (или любого другого тега):

Код
<div class="blockaddinput">    
    1: <input class="addinput" type="text"><br>    
    2: <textarea rows="10" cols="45" class="addinput"></textarea>    
   </div>    
   <a href="javascript://" class="addinputbutton">Добавить поле</a>    

   <script src="http://dedicated.3dn.ru/uCoz/raznoe/2644_nexInput.js"></script>


3. В шаблоне вида материала заключаем весь код в div с class="addinput$ID$",
в самый конец:

Код
<div class="inputmess$ID$">$MESSAGE$</div>    
    <script>    
   //By Nexonion специально для apo-ucoz.com    
   var input$ID$ = $('.inputmess$ID$').html().split(' |$|');    
   var classMaterial = ".addinput$ID$";    

   for(var i = 0; i < input$ID$.length; i++){    
   var sorce = $(classMaterial).html();    
   var reg = new RegExp("%other"+i+"%", "gi");    
   if(input$ID$ [i]== ""){    
    $(classMaterial).html(sorce.replace(reg,''));    
   } else {    
    $(classMaterial).html(sorce.replace(reg,input$ID$));    
   }    
   }    
   //By Nexonion    
    </script>

4. В шаблоне страницы с комментариями заключаем весь код в div с class="addinput$ID$",
в самый конец:

<div class="inputmess$ID$">$BRIEF$</div>    
    <script>    
   //By Nexonion
   var input$ID$ = $('.inputmess$ID$').html().split(' |$|');    
   var classMaterial = ".addinput$ID$";    

   for(var i = 0; i < input$ID$.length; i++){    
   var sorce = $(classMaterial).html();    
   var reg = new RegExp("%other"+i+"%", "gi");    
   if(input$ID$ == ""){    
    $(classMaterial).html(sorce.replace(reg,''));    
   } else {    
    $(classMaterial).html(sorce.replace(reg,input$ID$));    
   }    
   }    
   //By Nexonion
    </script>

5. В нужном вам месте вашего шаблона выводим данные:

%other1%

Где 1 это порядковый номер. Счёт полей идёт с 0.
6. Вот и всё должно работать.

  [b]Внимание:[/b][/i]

- Установка указана с настройками по умолчанию.
- Внутри скрипта имеются дополнительные настройки.
- Отключив Автоматический контроль вы можете как и где угодно расставить свою поля, но записываться они будут по порядку расположения.
- Структура иерархии input'ов не важна, главное чтобы у них был правильный класс (в соответствии с настройками) и скрипт стоял под ними.
- Кнопка добавить так же не обязательна.
- Нельзя использовать сочетания символов идентичные с уникальным разделителем.
Прикрепления: 3225633.png (6.2 Kb)


Сообщение отредактировал offtop - Суббота, 18.05.2013, 21:20
Форум » Ucoz » Скрипты для ucoz » Дополнительные поля на любом модуле без PHP для Ucoz
  • Страница 1 из 1
  • 1
Поиск: