Здравствуйте! Вот нашел время что бы выложить скрипт который я подготовил уже давно но не как не хватало время что бы написать инструкцию для него!
Пару слов о материале, материал был подготовлен по просьбе пользователя который оставил просьбу в мастерской но только просьба выполнена частично в смысле там говорилось исправить скрипт но я решил предложить немного другой так как на мой взгляд он проще да и удобнее в использование!
О скрипте
Данный скрипт поможет увеличить количество дополнительных полей для нужного вам модуля на любое число так то но для примера я по умолчанию сделал всего 10 полей именно столько нужно было пользователю который оставил просьбу но вы их сможете увеличить при необходимости или уменьшить!
Что ещё написать.. Наверно то что данный скрипт использует поле полное описание так же наверное важно будет написать то что я не сделал возможность редактировать поля отдельна , В данной версии редактирование доступно только изменением кода в редакторе
BB-codes + HTML а вот добавление будет работать в любом редактора даже в визуальном по крайней мери при проверки на тестовом сайте всё хорошо работало и в этом редакторе! На этом думаю хватит болтовни и предлагаю приступить к установке!
Установка
Для примера я буду устанавливать на модуль каталог файлов но вы можете ставить на тот что вам нужно. Для начало копируем код ниже и ставим его на страницу материала и комментария к нему в нужное место где будет выводиться информация из полей!
Код
<div class="waak_dop1"><b>поле 1:</b> <span id="waak_dop1"></span></div>
<div class="waak_dop2"><b>поле 2</b> <span id="waak_dop2"></span></div>
<div class="waak_dop3"><b>поле 3:</b> <span id="waak_dop3"></span></div>
<div class="waak_dop4"><b>поле 4:</b> <span id="waak_dop4"></span></div>
<div class="waak_dop5"><b>поле 5:</b> <span id="waak_dop5"></span></div>
<div class="waak_dop6"><b>поле 6:</b> <span id="waak_dop6"></span></div>
<div class="waak_dop7"><b>поле 7:</b> <span id="waak_dop7"></span></div>
<div class="waak_dop8"><b>поле 8:</b> <span id="waak_dop8"></span></div>
<div class="waak_dop9"><b>поле 9:</b> <span id="waak_dop9"></span></div>
<div class="waak_dop10"><b>поле 10:</b> <span id="waak_dop10"></span></div>
Теперь нам нужно обернуть заменить оператор
$MESSAGE$
на код ниже
Код
<span id="talantlev">
$MESSAGE$
</span>
Ну и после замены под данным кодам нужно разместить скрипт который и будет получать нужную информацию и размещать её в нкжное нам место
Код
<script>
var text = $('#talantlev').html(),
fields = /[<-]{2}WAAK([\s\S]*)\/WAAK[->]{2}/gm.exec(text)[1];
$.each(fields.split("||"), function() {
if(/\|/gm.exec(this)) {
var value = this.split("|");
$('#waak_' + value[0].trim()).html(value[1].trim());
}
});
$('*[id^=waak_]').each(function(e) {
if($(this).text().length < 1) {
$('.' + $(this).attr('id')).remove();
}
});
</script>
Отлично не забываем сохранить!
Теперь нам нужно перейти в пункт
Форма добавления/редактирования материала этого же модуля и разместить скрип который предложен ниже по месту где хотим видеть доп. поля для заполнения
Код
<?if($URI_ID$ ="ldEdit2")?><?else?>
<li><label>Поле 1:</label> <li><input type="text" class="waak_idop1"> <li class="notcolumn"><hr /><li class="notcolumn">
<li><label>Поле 2:</label> <li><input type="text" class="waak_idop2"> <li class="notcolumn"><hr /><li class="notcolumn">
<li><label>Поле 3:</label> <li><input type="text" class="waak_idop3"> <li class="notcolumn"><hr /><li class="notcolumn">
<li><label>Поле 4:</label> <li><input type="text" class="waak_idop4"> <li class="notcolumn"><hr /><li class="notcolumn">
<li><label>Поле 5:</label> <li><input type="text" class="waak_idop5"> <li class="notcolumn"><hr /><li class="notcolumn">
<li><label>Поле 6:</label> <li><input type="text" class="waak_idop6"> <li class="notcolumn"><hr /><li class="notcolumn">
<li><label>Поле 7:</label> <li><input type="text" class="waak_idop7"> <li class="notcolumn"><hr /><li class="notcolumn">
<li><label>Поле 8:</label> <li><input type="text" class="waak_idop8"> <li class="notcolumn"><hr /><li class="notcolumn">
<li><label>Поле 9:</label> <li><input type="text" class="waak_idop9"> <li class="notcolumn"><hr /><li class="notcolumn">
<li><label>Поле 10:</label> <li><input type="text" class="waak_idop10"> <li class="notcolumn"><hr /><li class="notcolumn">
<script>
$(document).ready(function(){
$('.manFlSbm').click(function(){
txt = $('#message').val(),
text1 = $('.waak_idop1').val(),
text2 = $('.waak_idop2').val(),
text3 = $('.waak_idop3').val(),
text4 = $('.waak_idop4').val(),
text5 = $('.waak_idop5').val(),
text6 = $('.waak_idop6').val(),
text7 = $('.waak_idop7').val(),
text8 = $('.waak_idop8').val(),
text9 = $('.waak_idop9').val(),
text10 = $('.waak_idop10').val(),
$('#message').val(txt +'<!--WAAK dop1 | '+text1+'|| dop2 | '+text2+'|| dop3 | '+text3+'|| dop4 | '+text4+'|| dop5 | '+ text5+'|| dop6 | '+ text6+'|| dop7 | '+ text7+'|| dop8 | '+ text8+'|| dop9 | '+ text9+'|| dop10 | '+ text10+'/WAAK-->');
});
});
</script> <?endif?>
Отлично не забываем сохранить!
Теперь пару слов про редактирование информации в полях! после того как вы перейдёте на страницу редактирования материала вам нужно будет перейти в редактор
Панель HTML кодов для поля полного текст материала и в самом незу поля вы увидите примерно такой код
Код
<!--WAAK dop1 | текст номер 1|| dop2 | текст номер 2|| dop3 | текст номер 3|| dop4 | текст номер 4|| dop5 | текст номер 5|| dop6 | текст номер 6|| dop7 | текст номер 7|| dop8 | текст номер 8|| dop9 | текст номер 9|| dop10 | текст номер 10/WAAK-->
вот он и отвечает за вывод информации и что бы изменить текст поля вам нужно будет изменить текст указанный после номера поля к примеру возьмём поле 5 его код в данный момент выглядит так
dop5 | текст номер 5 номер поля который менять нельзя
dop5 | ну и текст что был указан при добавлении который вам можно мень при необходимости!
Ну на этом можно сказать всё готово! Для тех кому что то будет не понятно или нужно будет увеличить поля пишите в комментариях!
Так же хочу предупредить что в ближайшее время по стараюсь написать ещё один вариант в котором уже будет возможность редактировать поля отдельно от полного описания так же как и при добавлении