Restringir o uso de tags

2 participantes

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

Tópico resolvido Restringir o uso de tags

Mensagem por SitioMarado 05.10.19 12:08

Detalhes da questão


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

Descrição


tava a ver este topic https://ajuda.forumeiros.com/t110573-tutorial-tags-nos-topicos

eu queria este codigo mas com sub foruns especificos, por exemplo eu queria colocar as tags "css, html, etc." so na area de programaçao e por exemplo na area de gaming queria colocar "transformice, habbo, ...." tendeu?

para a area de Futebol (f17-) eu queria que aparecesse tags Benfica (vermelho), FC Porto(azul) e Sporting(verde)
para a area de Smartphones (f7-) eu queria que aparecesse tags iOS (preto), Android (azul)
SitioMarado

SitioMarado
**

Membro desde : 25/09/2019
Mensagens : 57
Pontos : 97

http://sitiomarado.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Restringir o uso de tags

Mensagem por SitioMarado 06.10.19 21:32

24h up
SitioMarado

SitioMarado
**

Membro desde : 25/09/2019
Mensagens : 57
Pontos : 97

http://sitiomarado.forumeiros.com

Ir para o topo Ir para baixo

Admineiro
  • 0

Tópico resolvido Re: Restringir o uso de tags

Mensagem por tikky 06.10.19 21:54

Olá @SitioMarado,
altere o código JavaScript para o seguinte:
Código:
/**
 *! Criar tags no título dos tópicos com painel de seleção.
 *
 *  @author Luiz~
 *  @see <a href="http://ajuda.forumeiros.com">Fórum dos Fóruns</a>
 *  @licence MIT
 */
(function ($) {
  'use strict';
 
  var tags = [
    {
      tag: 'imagem',
      forum: [1,2],
      background: '#666'
    },
    {
      tag: 'widget',
      forum: [2],
      background: '#000'
    }
  ];
 
  $(function () {
    var counter = 1;
 
    /**
    * Parte 1.
    * Aqui nós criamos o seletor de tags acima do editor:
    */

    if (location.pathname === '/post' && $('form input[name="subject"]').length > 0) {
      // Criar a zona para colocar-se os inputs:
      var $textarea = $('#textarea_content');
      var $title = $('form [name="subject"]');
      var $zone = $([
        '<div class="fa-icon-selector">',
        '  <div class="fa-icon-selector-inner">',
        '  </div>',
        '</div>',
      ].join('\n'))
        .prependTo($textarea)
      ;
 
      // Criar-se os inputs dentro da zona criada anteriormente:
      var $appendZone = $zone.find('.fa-icon-selector-inner');
      $.each(tags, function (index, tag) {
       
      var inputVal = $('input[name="f"]').val();
      if ($.inArray(parseInt(inputVal), tag.forum) === -1) {
         return;
      }
       
        $([
          '<div class="fa-tag-form-group">',
          '  <input type="radio" class="select-tag-input" name="select-tag-radio" id="tag-input-' + counter + '" data-tag="' + tag.tag + '" />',
          '  <label for="tag-input-' + counter + '" class="fa-tag-label">' + tag.tag + '</label>',
          '</div>',
        ].join('\n'))
          .appendTo($appendZone)
        ;
     
        counter++;
      });
 
      // Função para dar focus num input X caso este seja a tag dum tópico X:
      if (/^\[.*\]/gi.test($title.val())) {
        $title.val().replace(/^\[(.*)\]/gi, function (find, match) {
          $('[data-tag="' + match + '"]').prop('checked', true);
        });
      }
 
      // Trigger para a adição/edição do prefixo no input de título:
      $zone
        .find('input.select-tag-input')
          .on('focus', function () {
            setPrefix($(this).attr('data-tag'));
          })
      ;
 
      // Função para setar/editar o prefixo:
      var setPrefix = function (prefix) {
 
        if (/^\[.*\]/gi.test($title.val())) {
          $title.val($title.val().replace(/^\[.*\]/gi, function () {
            return '[' + prefix + ']';
          }));
       
          return;
        }
     
        $title.val('[' + prefix + '] ' + $title.val().trim());
      };
    }
 
    /**
    * Parte 2.
    * Aqui nós iremos substituir a tag entre os colchetes por uma tag real:
    */
    var $link = $('a[href^="/t"]');
    $link.each(function () {
 
      var $this = $(this);
 
      $.each(tags, function (index, tag) {
        var regex = new RegExp ('\\[' + tag.tag + '\\]', 'gim');
        var text = $this.text();
 
        if (!regex.test(text)) {
          return;
        }
 
        $this.addClass('fa-tagged-link');
        $this.text(text.trim().replace(regex, ''));
        $this.prepend('<span class="fa-topic-tag" style="background-color: ' + tag.background + ';">' + tag.tag + '</span>');
      });
    });
 
    /**
    * Parte 3:
    * Estilos.
    */
    var styles = [
      '.fa-icon-selector-inner strong {',
      '  display: block;',
      '  margin-bottom: 4px;',
      '  font-weight: bold;',
      '}',
      '',
      '.fa-icon-selector .fa-tag-form-group {',
      '  display: inline-block;',
      '  margin-right: 15px;',
      '  margin-top: 4px;',
      '}',
      '',
      '.fa-tagged-link {',
      '  text-decoration: none !important;',
      '}',
      '',
      '.fa-tagged-link:hover {',
      '  color: #f73 !important;',
      '  text-decoration: none !important;',
      '}',
      '',
      'span.fa-topic-tag {',
      '  color: #fff;',
      '  background-color: #39c;',
      '  padding: 1px 5px;',
      '  border-radius: 3px;',
      '  margin-right: 4px;',
      '  display: inline;',
      '  text-decoration: none!important',
      '}'
    ].join('\n');
 
    $(['<style type="text/css">', styles, '</style>'].join('\n')).appendTo('head');
 
  });
}(jQuery));
o código em cima só vai apresentar às tags em determinados fóruns ao criar o tópico. O senhor pode observar que forum: [1,2] o id dos fóruns deve ser separado com vírgulas.


Cordialmente,
pedxz.
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7964
Pontos : 9219

Ir para o topo Ir para baixo

Tópico resolvido Re: Restringir o uso de tags

Mensagem por SitioMarado 06.10.19 22:11

funcionou
SitioMarado

SitioMarado
**

Membro desde : 25/09/2019
Mensagens : 57
Pontos : 97

http://sitiomarado.forumeiros.com

Ir para o topo Ir para baixo

Admineiro

Tópico resolvido Re: Restringir o uso de tags

Mensagem por tikky 06.10.19 22:14

Questão resolvida

Esta questão foi dada como resolvida pelo seu autor, e por esse motivo será marcada como resolvida e movida para o arquivo de questões resolvidas desta área.
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7964
Pontos : 9219

Ir para o topo Ir para baixo

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

- Tópicos semelhantes

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