С помощью данной модификации мы изменим стандартный вид категорий при добавлении материала на
uCoz.
Напомним, что стандартный вид категорий при добавлении реализован в виде самого простого выпадающего списка с
checkbox'ами или
radio-кнопками, в зависимости от того, во сколько категорий можно добавлять материал. Эту опцию можно активировать/дезактивировать в настройках моделей.
Данное решение использует замечательную библиотеку
jQuery «
Chosen», разработанную Патриком Филлером (
страница плагина). Можно сказать, он выполнил всю работу по визуализации выпадающих списков, а нам только остается «
прикрутить» их к стандартным
uCoz-овским спискам.
Примечание: Тестировался данный скрипт только в модулях "Каталог файлов" и "Каталог статей". Если вам он нужен и для других категорий, оставляем комментарии, скрипт будет модифицирован.
Установка:
Установка очень простая, не займет много времени.
1.
Страница добавления/редактирования материалов. Вставьте следующий код после
$BODY$:
Код
<script>var config = {'.chosen-select' : {},'.chosen-select-deselect' : {allow_single_deselect:true},'.chosen-select-no-single' : {disable_search_threshold:10},'.chosen-select-no-results': {no_results_text:'Oops, nothing found!'},'.chosen-select-width' : {width:"95%"}};$(document).ready(function(){var str="<option value=''></option>";var multy1="";$("input[name='ocat']").each(function(){var typee=$(this).attr("type");if (typee!="radio") multy1="multiple";var value1=$(this).val();var idt=$(this).attr("id");var che;if ($(this).prop("checked")) che="selected"; else che="";var id=idt;var name = $("label[for='"+id+"']").html();str=str+"<option "+che+" value='"+value1+"'>"+name+"</option>";});$( "#ldM57" ).after("<td class='manTd2'><select id='selectchange' data-placeholder='Выберите категорию...' class='chosen-select' style='width:100%;' "+multy1+">"+str+"</select></td>");$( "#ldM57" ).hide(); $("#selectchange").change(function(){$( "select#selectchange option" ).each(function() {var srrr=$(this).val();var srrr2=$(this).prop("selected");if (srrr2) $('#cus'+srrr).prop("checked",true); else $('#cus'+srrr).prop("checked",false);})}); for (var selector in config) {$(selector).chosen(config[selector]);}});</script><link rel="stylesheet" href="http://updatesite.ru/demo/chosen/chosen.min.css"><script src="http://updatesite.ru/demo/chosen/chosen.jquery.min.js" type="text/javascript"></script>
2. Если вы устанавливаете скрипт для модуля «
Каталог файлов», то ничего изменять не нужно. Если же, для «
Каталог статей», то находим две строчки с «
ldM57», и меняем это слово на «
puM30». Как не сложно догадаться, «
ldM» расшифровывается как
loadModule, а «
puM» -
publModule.
Установка завершена!
Скрипт плагина и стили к нему, подключенные к конце скрипта лучше всего залить себе на сайт.