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

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

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


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


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

Сообщений 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


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