Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Новые возможности форумов » Скрипт для создания анкет (новая версия)


Скрипт для создания анкет (новая версия)

Сообщений 381 страница 400 из 481

Перевести1

По многочисленным просьбам, для ролевых форумов реализован новый скрипт анкет,

Спасибо Герде за инициативу и стимулирование создания новой версии!                     

Скрипт для создания анкет

Новая версия

(Шаблон АнкDEMO (Шаблон анкеты) 
Анкета (Итог)

http://s6.uploads.ru/qIWjv.png

1. Позволяет создавать нужные типы полей для ввода текста: input и textarea, select и checkbox с заранее заданными пунктами на выбор.
2. Позволяет автоматически задавать название анкет связанное с именем ника, либо с именем нового персонажа, вводимого юзером, либо постоянным именем для всех анкет, либо с именем полностью задаваемым заполнящим анкету.
3. Позволяет создавать анкеты либо отдельной темой, либо присоединяемыми постами к шаблону анкеты. Можно создавать неограниченное число независимых шаблонов анкет в прописанных заранее форумах!
4. Позволяет помечать обязательность некоторых(или всех) полей для заполнения.
5. Позволяет пользователю вставлять в поле textarea BB-теги  http://s3.uploads.ru/t5xo2.jpg (см. дополнение к скрипту)  /Ссылки вставляются обычным текстом, они автоматически преобразуются сервисом/
6. Позволяет разбивать длинную анкету на несколько частей, последовательно открываемых по заполнении нужных полей

ВСТАВКА КОДА:

В HTML верх

<!-- Скрипт для создания анкет © Alex_63 -->
<script type="text/javascript">
var Questnr = {};
Questnr.groups = [
1,2]; //Группы, которым разрешено создавать шаблоны для анкет
Questnr.forums = [1,4,26]; //Форумы с допуском к анкетированию
Questnr.title  = 'Анкета от '; //Начало заголовка темы с анкетой (по умолчанию)
Questnr.noedit = 1; //Запрет редактирования заполненной анкеты пользователем
</script><script type="text/javascript">
['viewforum','viewtopic','post','edit'].indexOf($('.punbb')[0].id.substr(4))!=-1&&
$().pun_mainReady(function(){var s='script',l='//forumstatic.ru/files/0015/c4/3f/45857.js';
var f=$('#pun-viewforum').length?$('link[rel="alternate"]'):$('.crumbs a[href*="viewforum"]:last');
f=+f[0].href.match(/id=(\d+)$/)[1];Questnr.forums.indexOf(f)!=-1&&document.write('<'+s+' src="'+l+'"></'+s+'>')});
</script>

Красным Ваши настройки для скрипта анкет.


Дополнение: Кнопки BB-тегов над многострочными полями в анкете
http://sg.uploads.ru/5lKMI.png
В HTML верх:

<!-- Анкета: Добавка кнопок BB-тегов к textarea -->
<style>
.new[id=form-buttons]{max-width:104px}.new[id=form-buttons] table{margin:0}
.new[id=form-buttons] td{border:0 none transparent!important; height:24px;padding:0!important}
</style>

<script type="text/javascript">
if(GroupID != 3)$(function() {var button_tbl = $('#post #form-buttons').clone().addClass('new');
  button_tbl.find('#button-image>img')[0].setAttribute('onclick','bbcode(\'['+'img]\',\'[/img]\')');
  button_tbl.find('td:not(#button-bold):not(#button-italic):not(#button-underline):not(#button-image)').remove();
  button_tbl.insertBefore('.questionary-post textarea');
  $('.new[id="form-buttons"]').on('mouseenter',function() {
     var area = $(this).next('textarea');if(!area.length){area = $(this).next().find('textarea');}
     $('.questionary-post').find('textarea').removeAttr('id');
     if(area[0].id!='main-reply')area.attr('id','main-reply');
  }).on('mouseleave',function(){$('.questionary-post textarea').removeAttr('id');});
});
</script>

СКРИНШОТЫ

Вид кнопки создания шаблона анкет в прописанных в скрипте форумах


http://s3.uploads.ru/8Nqxy.jpg


Вид панели управления создания шаблона анкеты


http://s2.uploads.ru/evoS4.jpg


Развернутый вид меню панели управления создания шаблона анкеты


http://sh.uploads.ru/T16dA.jpg

СОЗДАНИЕ ШАБЛОНОВ АНКЕТ, ПОЯСНЕНИЯ

Для создания в определенном форуме шаблона анкеты, должна быть создана хотя бы одна тема.
http://sf.uploads.ru/DzUlY.jpg


Начало работы происходит в левой части панели управления создания шаблона анкеты (элементы управления 1-3)

Элементы управления:
1. Радиокнопки переключения варианта создания анкет(создавать новую тему/добавлять пост в текущую)
2. Меню для выбора варианта создания заголовка анкеты
3. Кнопка вставки управляющего тега, определяемого ваш выбор элементов управления 1 и 2 (Где создавать анкету и формат заголовка)
PS: Простановка своего варианта начала названия темы в шаблоне анкеты:
[input topic-name=Анкета от ...]
В первом теге в шаблоне выставлено имя темы по умолчанию (см. пример выше), заменяем в очередном шаблоне на нужное


11. Заполните название (очередной) темы с шаблоном анкеты (К примеру шаблон анкеты к сюжету «Альфа и Омега»)


12. Форма ответа, создающая шаблон анкеты


Вставка тегов:  input и textarea, select и checkbox
4. Осуществляем выбор нужного элемента в выпадающем меню №4
5. Вписываем поясняющий текст, отображаемый внутри выбранного элемент, input под номером 5
6. Прописываем размеры выбранного элемента, поле (поля) под номером 6. Размеры прописываются числом, подразумеваются пикселы!
(Ширину можно также указывать в процентах.)
7. Флажок выбора обязательности заполнения вставленного элемента пользователем (Если обязательный элемент не заполнен - анкета не отправляется)
8. Кнопка вставки выбранного элемента в форму создания шаблона


9. Разделитель анкеты на части.
Если применяем тег разделения [part], то его необходимо вставлять перед каждой частью анкеты, включая первую!
http://sf.uploads.ru/t/aLKsx.jpg


10. Вставка обрамляющих тегов пояснения (пояснения не включаются в отправляемую анкету, заполненную юзером)


P.S.: Все теги input и textarea, select и checkbox можно оборачивать в любые теги, кроме textarea, для которого исключения теги: [b][/b], [i][/i], [u][/u], [img][/img],
которые может вставить сам пользователь в поле textarea через кнопки вставки:
http://s9.uploads.ru/4SQqk.png

ДОПОЛНЕНИЯ

Разрешаем отправку ответов в некоторых темах в анкет-форумах
В HTML верх ниже основной части скрипта анкет:

<script>
Questnr.allowReply = [ 17,28 ];// ID тем в анкет-форумах, где разрешено отвечать юзерам
</script>

Если нужно вернуть форму ответа во всех темах анкет-форумов, -
код будет выглядеть так:

<script>
Questnr.allowReply = [+$('link[rel="alternate"]')[0].href.match(/id=(\d+)$/)[1]]; //текущая тема
</script>


Тестируем, отписываемся о работе скрипта!

+10

Перевести381

Ivan_V  Ну я вроде поправил уже >

Alex_63 написал(а):

..., - В Форуме с анкетами должна быть разрешена отправка сообщений нужным группам (Включил в админке - теперь отправка должна работать, по крайней мере кнопка "Отправить" появилась)

+1

Перевести382

Alex_63 написал(а):

Ivan_V
Успел глянуть сейчас..., - В Форуме с анкетами должна быть разрешена отправка сообщений нужным группам (Включил в админке - теперь отправка должна работать, по крайней мере кнопка "Отправить" появилась)

оО! Спасибо Алекс, ты как всегда на высоте! )))
Через пару дней проверю ))))))

+1

Перевести383

Ivan_V написал(а):

Через пару дней проверю ))))))

Ок :rolleyes:

+1

Перевести384

Все работает  :flag:
Еще раз спасибо!

Есть вопрос, уже год не брался за скрипты, все с головы повылетало, как запретить группам редактировать сообщения, или сообщения в определенных темах?

Отредактировано Ivan_V (Ср, 18 Янв 2017 13:36:48)

0

Перевести385

Ivan_V написал(а):

как запретить группам редактировать сообщения, или сообщения в определенных темах?

Ну первое настраивается в админке(Администрирование - Группы - Редактировать)
Для второго есть скрипт(правда не по темам, а по форумам ограничения ставит) => Запрет редактирования постов в некоторых форумах

+1

Перевести386

Спасибо :)

Жаль что нет по темам :(

0

Перевести387

Добавил в скрипт Анкет возможность отправки Поста с заполненной анкетой в определенную Тему
http://sh.uploads.ru/4nrVL.png

+3

Перевести388

Скрипт для создания анкет (новая версия)

7 Авг 2016 23:24:23 Кертес написал(а):

Deff, чувствую в вас силу мастера Йоды.
В таком разе не вопрос, на свежую голову попробую и завалю вопросами отчитаюсь.

Не прошло и года. : D
Но таки сделал → анкета.
В общем-то, проблем никаких не возникло (кроме ограничения количества символов в сообщении), но вопросы имеются:
1. Кнопки BB-тегов над многострочными полями в анкете
Есть ли возможность их расширить? Я, конечно, дополнил в инструкции, что для оного доступна панель в форме ответа ниже и редакция после создания темы, но сами понимаете.
В частности, интересуют выравнивание текста (по центру и правому краю), ссылка, спойлер, скрытый текст, цитата.
2. Автосохранение текста в полях
Увы, оно отсутствует. Можно ли как-то повлиять на этот факт?
3. Отступ после шаблона над нижней границей поста
Образуется за счет min-height и им же убирается, однако в шаблоне имеются спойлеры, и при их открытии нижний край шаблона выезжает за нижнюю границу поста. Опять же, можно как-то повлиять? Чтобы и пустоты этой не было, и за границу не выезжало.

В любом случае, снова-таки спасибо за потрясающий скрипт. : )

Отредактировано Кертес (Пт, 10 Мар 2017 20:20:19)

0

Перевести389

Кертес
Про автосохранение - поищите тут в теме, вроде было
Про остальное - гляну завтра, напомните

0

Перевести390

Alex_63 написал(а):

Про автосохранение - поищите тут в теме, вроде было

В общем, исходя из того, что я нашел → ссылка, автосохранение невозможно. Ок.

+1

Перевести391

Кертес

Кертес написал(а):

В общем, исходя из того, что я нашел → ссылка, автосохранение невозможно. Ок.

Мон попробовать сделать запись данных из полей в LocalStorage

Кертес написал(а):

1. Кнопки BB-тегов над многострочными полями в анкете
Есть ли возможность их расширить?

Замените скрипт - Добавку на такой( Кнопки нужные прописываете, выделено красным)

<!-- Анкета: Добавка кнопок BB-тегов к textarea -->
<style>
.new[id=form-buttons]{max-width:104px}.new[id=form-buttons] table{margin:0}
.new[id=form-buttons] td{border:0 none transparent!important; height:24px;padding:0!important}
</style>
<script type="text/javascript">
if(GroupID != 3)$(function() {var btn = 'button-bold,button-italic,button-underline,button-image,button-link,button-center,button-right',
  button_tbl = $('#post #form-buttons').clone().addClass('new'),str = '';btn = btn.split(',');
  button_tbl.find('#button-image>img')[0].setAttribute('onclick','bbcode(\'['+'img]\',\'[/img]\')');
  for(var i=0;i<btn.length;i++)str+=':not(#'+btn[i]+')'; button_tbl.find('td'+str).remove();
  button_tbl.insertBefore('.questionary-post textarea');
  $('.new[id="form-buttons"]').on('mouseenter',function() {
     var area = $(this).next('textarea');if(!area.length){area = $(this).next().find('textarea');}
     $('.questionary-post').find('textarea').removeAttr('id');
     if(area[0].id!='main-reply')area.attr('id','main-reply');
  }).on('mouseleave',function(){$('.questionary-post textarea').removeAttr('id');});
});
</script>

+1

Перевести392

Кертес написал(а):

3. Отступ после шаблона над нижней границей поста

Выложите сюда полный Текст поста с анкетой

0

Перевести393

Отредактировано Кертес (Сб, 11 Мар 2017 11:41:36)

0

Перевести394

Alex_63, готово, но буквально без пары строчек, где фигурируют теги хайда и кода.

Alex_63 написал(а):

Мон попробовать сделать запись данных из полей в LocalStorage

Если не сильно затруднит, то почет и уважение. : )

Alex_63 написал(а):

Замените скрипт - Добавку на такой( Кнопки нужные прописываете, выделено красным)

Спасибо большое!
Единственно, кнопка обтекания вставляет тег не в поле шаблона, а в форму ответа. В анкетах оно используется часто, но ничего страшного. Анкеты все равно потом редактируются при проверке - тогда и оформить можно, как нравится.

0

Перевести395

Кертес написал(а):

Единственно, кнопка обтекания вставляет тег не в поле шаблона

Коей вообще там быть не должно, исходя из перечисления. : D Как и кнопки маски возле первого поля. Убрать-то их оттуда, полагаю, я могу, но откуда они там появились?

http://fantezigra.rolka.su/viewtopic.php?id=5748

Отредактировано Кертес (Сб, 11 Мар 2017 12:02:17)

0

Перевести396

Кертес написал(а):

Коей вообще там быть не должно, исходя из перечисления. : D Как и кнопки маски возле первого поля. Убрать-то их оттуда, полагаю, я могу, но откуда они там появились?

Попробуйте скрипт - добавку для вставки кнопок перенести в самый низ HTML низ

+1

Перевести397

Alex_63 написал(а):

Попробуйте скрипт - добавку для вставки кнопок перенести в самый низ HTML низ

Еп, помогло, спасибо. Правда, только с обтеканием.
Маску все ж вручную убрал так:

Код:
.post-parts #form-buttons #button-mask {display: none !important;}

+1

Перевести398

Кертес написал(а):

Если не сильно затруднит, то почет и уважение. : )

Не затруднит, но сейчас я занят( и так очередь из задач), через пару недель напомните

Кертес написал(а):

3. Отступ после шаблона над нижней границей поста

Проверил на своем форуме, - У Меня норма => http://hostjs.mybb.ru/viewtopic.php?id=75#p13008

+1

Перевести399

Alex_63 написал(а):

Не затруднит, но сейчас я занят( и так очередь из задач), через пару недель напомните

Позволю себе усомниться, что через пару недель загрузка будет меньше. Учитывая. что на данный момент вы тут будто в одиночку колдуете, за что искреннее признание, равно как глубокая признательность за оперативность. : ) Но таки напомню, если и сам не забуду.

Alex_63 написал(а):

Проверил на своем форуме, - У Меня норма

Оке, будем искать у себя.

+2

Перевести400

Кертес написал(а):

Учитывая. что на данный момент вы тут будто в одиночку колдуете

Alex_63 тут на расхват  :D
Интересно, он спит вообще? )))

Отредактировано Ivan_V (Вс, 12 Мар 2017 17:15:11)

+1


Вы здесь » Единый форум поддержки » Новые возможности форумов » Скрипт для создания анкет (новая версия)