Com este tutorial, será possível adicionar níveis a reputação.
Reputação com estilo de rank
TUTORIAIS, DICAS E ASTÚCIAS |
Instalação do código Javascript As páginas javascript ativas em seu fórum possibilita inserir scripts e jQuery para personalizar seu fórum, contudo é importante saber que qualquer script encontrado na internet acabam por não surgir efeito nos fóruns.
Painel de Controle Módulos HTML e Javascript Gestão dos códigos Javascript Criar um novo javascript |
| Habilitar o gerenciamento dos códigos Javascript - Permite ativar os scripts personalizados criados pelo administrador no fórum. Este recurso não tem qualquer impacto nos scripts nativos do fórum. |
| Tìtulo - Cria um título para identificar o script a ser modificado mais tarde na lista de scripts do fórum. |
| Investimento - Define o local em específico que este script será executado. Você pode investir o script para vários locais no fórum (Todas as páginas) ou pode definir para certos locais disponíveis na tela de investimento. Neste caso, estaremos investindo nos tópicos. |
| Código Javascript - Espaço destinado a receber o script que será ativado pelo administrador. Antes de aplicar o script ao fórum, é importante revisá-lo para ter certeza de seu funcionamento. | Explicação: Na parte do código apresentada em abaixo, são os níveis que a reputação dá:
- Código:
var reputation = [ { reputation: 0, level: "Neutro", class: "zero" }, { reputation: 1, level: "Iniciante" }, { reputation: 10, level: "Regular" }, { reputation: 30, level: "Bom" }, { reputation: 50, level: "Ótimo" }, { reputation: 100, level: "Excelente" }, { reputation: 200, level: "Destaque" }, { reputation: 400, level: "Membro Elite" }, { reputation: 600, level: "Membro Boss", class: "boss" } ]; Para perceber melhor:
- Código:
{ reputation: 0, // Reputação que o membro têm 0 = Reputação: 0 level: "Neutro", // Nome do nível class: "zero" // Nome da classe (Aplicar código do CSS) },// O Último ítem nunca deve receber a vírgula Código:
- Código:
/* * Application: Reputação em níveis * Date: 14/06/2018 * Version: 2.014062018 * Copyright (c) 2018 Daemon <help.forumotion.com> * Trabalho grátis. Pode ser distribuído ou modificado. */ function bs_reputation_ipb() { /* * Configure em baixo os níveis da reputação do perfil, * com o respetivo número para funcionar corretamente. * Podes adicionar também uma classe customizada do elemento. */ var reputation = [ { reputation: 0, level: "Neutro", class: "zero" }, { reputation: 1, level: "Iniciante" }, { reputation: 10, level: "Regular" }, { reputation: 30, level: "Bom" }, { reputation: 50, level: "Ótimo" }, { reputation: 100, level: "Excelente" }, { reputation: 200, level: "Destaque" }, { reputation: 400, level: "Membro Elite" }, { reputation: 600, level: "Membro Boss", class: "boss" } ]; /* * Não precisas alterar nada daqui para baixo */ var post = $(".post"), level = "", repClass = "", BreakException = {}; $.ajax({ url: post.first().find("a[href^='/u']").attr("href"), type: "GET", success: function(data) { var fieldName = $("#field_id-14", data).find("dt").text().split(" ")[0], regExp = RegExp("<span[^>]*>(?:<span[^>]*>)?(" + fieldName + ")(?:<\\/span>)?\\s:\\s<\\/span>\\s*(\\d+)", "g"); $.each($(".post"), function(idx) { $(this).html( $(this).html() .replace(regExp, "<div class='reputation-bs'>$1 : $2<br><span class='title' style='font-weight:normal'></span></div>") ); var repDiv = $(".reputation-bs", this), fieldValue = repDiv.text().match(/\d+/); try { $.each(reputation, function(i, item) { if (item.reputation <= fieldValue) { level = (item.level) ? item.level : "", repClass = (item.class) ? item.class : ""; } else { throw BreakException; } }); } catch (e) { if (e !== BreakException) throw e; } repDiv.addClass(repClass).find(".title").text(level); }); }, error: function(jqXHR, textStatus, errorThrown) { console.log(textStatus, errorThrown); } }); }; $(function() { bs_reputation_ipb(); }); Após a instalação, o código já estará a resultar. Demonstração
|