Сайт ищет нового владельца по разумной цене :) По всем вопросам: promonik1@ya.ru, skype: nik-luck007, https://vk.com/promonik
2
Вы не авторизованы!
Присоединяйтесь к нашему сообществу :)
авторизация
Вакансии
На сайт требуется контент-менеджер
смотреть вакансии

Дополнительные поля на любом модуле без PHP для Ucoz

Скрипты для uCoz 2013-Апр-02 OkJkeee 3.0k 11 3


Плюсы:
- ограничение только на символы, суммарно 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://webo4ka.ru/Ucoz7/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$[i]));  
}  
}  
//By Nexonion специально для apo-ucoz.com  
  </script>


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

Код
<div class="inputmess$ID$">$BRIEF$</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$[i]));  
}  
}  
//By Nexonion специально для apo-ucoz.com  
  </script>


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

Код
%other1%


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

Внимание:
- Установка указана с настройками по умолчанию.
- Внутри скрипта имеются дополнительные настройки.
- Отключив Автоматический контроль вы можете как и где угодно расставить свою поля, но записываться они будут по порядку расположения.
- Структура иерархии input'ов не важна, главное чтобы у них был правильный класс (в соответствии с настройками) и скрипт стоял под ними.
- Кнопка добавить так же не обязательна.
- Нельзя использовать сочетания символов идентичные с уникальным разделителем.
Источник: http://phpexample.ucoz.net/publ/dopolnitelnye_polja_dlja_modulej/1-1-0-21
3 комментария
avatar
0
1
Здравствуйте! Не получается вывести информацию через %other1% !! Уже все перепробовал, но никак! Делаю это все в модуле каталог сайтов! Помогите пож-та, в чем может быть проблема?!
avatar
0
2
Извиняюсь за спешку!) Все получилось, просто не совсем понятно написано что делать! "Заключите весь код" - не объяснено что весь код исходной страницы! Но спасибо за script - все работает!
avatar
3
А где ссылка на скачку скрипта? dry
avatar