Criação de campos ao criar um tópico

2 participantes

Ver o tópico anterior Ver o tópico seguinte Ir para baixo

Tópico resolvido Criação de campos ao criar um tópico

Mensagem por NatO_MagiC 18.12.18 1:35

Detalhes da questão


Endereço do fórum: http://brasilmagicrpg.forumeiros.com/
Versão do fórum: ModernBB

Descrição


Olá, gostaria de criar um formulário como esse daqui do forumeiro:
https://i.imgur.com/AzBjc60.png

Esse formulário terá as seguintes perguntas...
Jogado Denunciado:
Provas:
Organização:
Tentou a resolver in-game:

O mesmo terá que ficar em todas áreas de denúncias no meu fórum, para quando clicar em novo tópico para denunciar alguém, o mesmo já aparecer.

Terá duas regras como tem aqui na hora de criar
1. Coloque o motivo (ocorrido/explicação) no espaço abaixo.
2. Não tente forjar denúncia, caso contrário o mesmo pode pedir reversa e você tomar punição.

Me ajuda por favor.
Desde já agradeço!
Por favor Amigos
NatO_MagiC

NatO_MagiC
*

Membro desde : 14/12/2018
Mensagens : 48
Pontos : 74

http://brasilplaymagic.forumeiros.com/

Ir para o topo Ir para baixo

Admineiro

Tópico resolvido Re: Criação de campos ao criar um tópico

Mensagem por tikky 18.12.18 11:14

Olá @NatO_MagiC,
Leia o seguinte tópico: [TUTORIAL] Criar campos na criação dum tópico , responderá às suas questões.
Também pode ler este tópico: Questão Resolvida. Qualquer dúvida relate neste tópico!


Cordialmente,
pedxz.
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7821
Pontos : 9063

Ir para o topo Ir para baixo

Tópico resolvido Re: Criação de campos ao criar um tópico

Mensagem por NatO_MagiC 18.12.18 13:33

Pode me explicar uma coisa, como ponho as regras como tem aqui?
E tem como eu adicionar esse formulário somente na área de denúncias?

Porque fica em todos os fóruns e é para ficar só em alguns.


Última edição por NatO_MagiC em 18.12.18 13:58, editado 1 vez(es)
NatO_MagiC

NatO_MagiC
*

Membro desde : 14/12/2018
Mensagens : 48
Pontos : 74

http://brasilplaymagic.forumeiros.com/

Ir para o topo Ir para baixo

Admineiro

Tópico resolvido Re: Criação de campos ao criar um tópico

Mensagem por tikky 18.12.18 15:05

Qual o código que o Senhor está a usar, o do tutorial?
Relativamente às regras leia o seguinte tópico: [FAQ] Regulamento dum fórum .
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7821
Pontos : 9063

Ir para o topo Ir para baixo

Tópico resolvido Re: Criação de campos ao criar um tópico

Mensagem por NatO_MagiC 18.12.18 15:31

Código:
/*globals jQuery, FA*/
 
/**
 * Criar inputs na criação do tópico.
 *
 * @author lffg <https://github.com/lffg>
 * @version 1.0
 */
 /**
* Criado pelo Daemon
*/
(function($) {
  'use strict';
 
  var inputs = [{
    label: 'Jogador Denunciado:',
    insert: '[b]Jogador Denunciado:[/b] {{CONTENT}}. \n\n', // {{CONTENT}} = O que o usuário colocou.
    required: true
  }, {
    label: 'Provas:',
    insert: '[b]Provas:[/b] {{CONTENT}}. \n\n', // O caractere especial \n é o mesmo que uma quebra de linha.
    required: true
  }, {
    label: 'Organização:',
    insert: '[b]Organização:[/b] {{CONTENT}}. \n\n',
    required: false
  }, {
    label: 'Tentou a resolver in-game:',
    placeholder: 'Sim/Não. Se sim, prove-o de contrário será considerado como não e poderá ser punido dependendo do motivo.',
    insert: '[b]Tentou a resolver in-game:[/b] {{CONTENT}}. \n\n', // O caractere especial \n é o mesmo que uma quebra de linha.
    required: true
  }];
 
  inputs.reverse();
 
  window.FA = window.FA || {};
  FA.Posting = FA.Posting || {};
 
  var Inputs;
  FA.Posting.Inputs = Inputs = function(userConfig) {
    var self = this;
 
    self.defaults = {
      label: undefined,
      placeholder: undefined,
      insert: undefined,
      forums: ['*'],
      required: false
    };
 
    self.userConfig = userConfig;
 
    self.config = $.extend({}, self.defaults, self.userConfig);
  };
 
  Inputs.prototype.init = function() {
    var self = this;
 
    if (!$.sceditor) {
      return false;
    }
 
    if (self.config.forums.indexOf('*') === -1) {
      var hrefId = parseInt(location.href.replace(/^.*\/post\?f=(\d+)&.*$/g, '$1'));
 
      if (self.config.forums.indexOf(hrefId) === -1) {
        return false;
      }
    }
 
    self.generate();
    self.listen(function() {
      self.parse();
    });
  };
 
  Inputs.prototype.generate = function() {
    var self = this;
 
    self.$wrapper = $([
      '<dl>',
      '  <dt>',
      '    ' + $('<label>', { 'text': self.config.label }).prop('outerHTML'),
      '  </dt>',
      '  <dd>',
      '    ' + $('<input />', { 'type': 'text' }).prop('outerHTML'),
      '  </dd>',
      '</dl>'
    ].join('\n'));
 
    self.$input = self.$wrapper.find('input');
 
    self.$input
      .attr('class', 'inputbox medium fa-generated-input')
      .attr('data-content', self.config.insert)
      .attr('placeholder', self.config.placeholder || '')
    ;
 
    if (self.config.required) {
      self.$input.attr('required', 'required');
    }
 
    $('input[name="subject"]')
      .parents('dl')
      .after(self.$wrapper)
    ;
  };
 
  Inputs.prototype.listen = function(fn) {
    var selectors = [
      '[required]',
      '[required="required"]',
      '[name="subject"]'
    ];
 
    $('[type="submit"]').on('click', function() {
      if ($(selectors.join(',')).val() === '') {
        return;
      }
 
      fn();
    });
  };
 
  Inputs.prototype.parse = function() {
    var self = this;
 
    var $sceditor = $('#text_editor_textarea').sceditor('instance');
 
    var content = self.config.insert;
    var value = $.trim(self.$input.val());
 
    content = content.replace(/{{CONTENT}}/gi, value);
 
    $sceditor.val(content + $sceditor.val());
  };
 
  $(function() {
    $.each(inputs, function() {
      var self = this;
 
      (new FA.Posting.Inputs(self)).init();
    });
  });
}(jQuery));

Só adicionei formulários a mais.
Queria deixar somente no tópico de denúncias: brasilmagicrpg.forumeiros.com
NatO_MagiC

NatO_MagiC
*

Membro desde : 14/12/2018
Mensagens : 48
Pontos : 74

http://brasilplaymagic.forumeiros.com/

Ir para o topo Ir para baixo

Admineiro

Tópico resolvido Re: Criação de campos ao criar um tópico

Mensagem por tikky 18.12.18 15:52

Mude o código para:
Código:
/*globals jQuery, FA*/
 
/**
 * Criar inputs na criação do tópico.
 *
 * @author lffg <https://github.com/lffg>
 * @version 1.0
 */
 
(function($) {
  'use strict';
 
  var inputs = [{
    label: 'Jogador Denunciado:',
    placeholder: 'Nome do Jogador',
    insert: '[b]Jogador Denunciado:[/b] {{CONTENT}}. \n\n',
    required: true,
    forums: [1]
  }, {
    label: 'Provas:',
    placeholder: 'Indique alguma prova.',
    insert: '[b]Provas:[/b] {{CONTENT}}. \n\n',
    required: true,
    forums: [1]
  }, {
    label: 'Organização:',
    placeholder: 'Qual a organização?',
    insert: '[b]Organização:[/b] {{CONTENT}}. \n\n',
    required: true,
    forums: [1]
  }, {
    label: 'Tentou a resolver in-game:',
    placeholder: 'Sim/Não. Se sim, prove-o de contrário será considerado como não e poderá ser punido dependendo do motivo.',
    insert: '[b]Tentou a resolver in-game:[/b] {{CONTENT}}. \n\n',
    required: true,
    forums: [1]
  }];
 
  inputs.reverse();
 
  window.FA = window.FA || {};
  FA.Posting = FA.Posting || {};
 
  var Inputs;
  FA.Posting.Inputs = Inputs = function(userConfig) {
    var self = this;
 
    self.defaults = {
      label: undefined,
      placeholder: undefined,
      insert: undefined,
      forums: ['*'],
      required: false
    };
 
    self.userConfig = userConfig;
 
    self.config = $.extend({}, self.defaults, self.userConfig);
  };
 
  Inputs.prototype.init = function() {
    var self = this;
 
    if (!$.sceditor) {
      return false;
    }
 
    if (self.config.forums.indexOf('*') === -1) {
      var hrefId = parseInt(location.href.replace(/^.*\/post\?f=(\d+)&.*$/g, '$1'));
 
      if (self.config.forums.indexOf(hrefId) === -1) {
        return false;
      }
    }
 
    self.generate();
    self.listen(function() {
      self.parse();
    });
  };
 
  Inputs.prototype.generate = function() {
    var self = this;
 
    self.$wrapper = $([
      '<dl>',
      '  <dt>',
      '    ' + $('<label>', { 'text': self.config.label }).prop('outerHTML'),
      '  </dt>',
      '  <dd>',
      '    ' + $('<input />', { 'type': 'text' }).prop('outerHTML'),
      '  </dd>',
      '</dl>'
    ].join('\n'));
 
    self.$input = self.$wrapper.find('input');
 
    self.$input
      .attr('class', 'inputbox medium fa-generated-input')
      .attr('data-content', self.config.insert)
      .attr('placeholder', self.config.placeholder || '')
    ;
 
    if (self.config.required) {
      self.$input.attr('required', 'required');
    }
 
    $('input[name="subject"]')
      .parents('dl')
      .after(self.$wrapper)
    ;
  };
 
  Inputs.prototype.listen = function(fn) {
    var selectors = [
      '[required]',
      '[required="required"]',
      '[name="subject"]'
    ];
 
    $('[type="submit"]').on('click', function() {
      if ($(selectors.join(',')).val() === '') {
        return;
      }
 
      fn();
    });
  };
 
  Inputs.prototype.parse = function() {
    var self = this;
 
    var $sceditor = $('#text_editor_textarea').sceditor('instance');
 
    var content = self.config.insert;
    var value = $.trim(self.$input.val());
 
    content = content.replace(/{{CONTENT}}/gi, value);
 
    $sceditor.val(content + $sceditor.val());
  };
 
  $(function() {
    $.each(inputs, function() {
      var self = this;
 
      (new FA.Posting.Inputs(self)).init();
    });
  });
}(jQuery));
Localize forums: [1] para adicionar a um determinado fórum, se quiser adicionar mais que um adicione uma virgula, por exemplo: forums: [1, 2]
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7821
Pontos : 9063

Ir para o topo Ir para baixo

Tópico resolvido Re: Criação de campos ao criar um tópico

Mensagem por NatO_MagiC 18.12.18 16:18

Até ai tudo certo, e a parte de colocar regras como tem aqui, tem como fazer isso?

Exemplo: https://i.imgur.com/hleld9X.png
NatO_MagiC

NatO_MagiC
*

Membro desde : 14/12/2018
Mensagens : 48
Pontos : 74

http://brasilplaymagic.forumeiros.com/

Ir para o topo Ir para baixo

Admineiro

Tópico resolvido Re: Criação de campos ao criar um tópico

Mensagem por tikky 18.12.18 18:34

Pedxz escreveu:Qual o código que o Senhor está a usar, o do tutorial?
Relativamente às regras leia o seguinte tópico: [FAQ] Regulamento dum fórum .

Leia este tópico, e siga os passos!
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7821
Pontos : 9063

Ir para o topo Ir para baixo

Tópico resolvido Re: Criação de campos ao criar um tópico

Mensagem por NatO_MagiC 18.12.18 21:28

Obrigado mano, pode fechar!
lol!
NatO_MagiC

NatO_MagiC
*

Membro desde : 14/12/2018
Mensagens : 48
Pontos : 74

http://brasilplaymagic.forumeiros.com/

Ir para o topo Ir para baixo

Admineiro

Tópico resolvido Re: Criação de campos ao criar um tópico

Mensagem por tikky 18.12.18 21:39

Tópico resolvido


Movido para "Questões resolvidas".
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7821
Pontos : 9063

Ir para o topo Ir para baixo

Ver o tópico anterior Ver o tópico seguinte Ir para o topo


Permissões neste sub-fórum
Não podes responder a tópicos