Personalizar sistema de votação com Like como Fórum dos Fóruns

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

Resolvido Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 19/06/15, 02:13 pm

Olá,

Eu observei os últimos dias um ícone semelhante a um "like" em algumas mensagens do fórum FDF:



É possível colocar este botão em meu fórum, de modo que cada "like" represente um ponto a mais de reputação?

Se for possível, gostaria que apenas os moderadores pudessem dar um "like", mas se não for possível, esta parte não é necessária.
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/
  • 0

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por GSCode em 19/06/15, 07:35 pm

Olá, crie um novo JavaScript com investimento nos tópicos:
Código:
jQuery(document).ready(function() {
    for (var a = $('.post', document.getElementById('main-content')), i = 0, p, rep, votes, plus, item, button, pseudo, opts; p = a[i]; i++) {
        item = document.createElement('LI');
        button = document.createElement('A');
        button.innerHTML = '<i class="fa"></i>';
        button.className = 'fa_vote';
        rep = $('.vote', p)[0];
        opts = p.getElementsByTagName('UL')[0];
        pseudo = $('.postprofile dt', p).text();
        if (rep) {
            votes = $('.vote-bar', rep)[0];
            plus = rep.getElementsByTagName('A')[0];
            if (votes) {
                votes = votes.title.replace(/.*\((\d+).*/, '$1');
                item.innerHTML = '<span class="fa_votes">' + votes + '</span>';
                item.title = votes + (votes == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + pseudo + ''
            } else {
                item.innerHTML = '<span class="fa_votes">0</span>';
                item.title = 'Nenhum voto foi computado para ' + pseudo + ''
            }
            if (plus && /plus/i.test(plus.href)) {
                button.className += ' fa_like';
                button.href = plus.href;
                button.title = 'Curtir a mensagem de ' + pseudo + '';
                button.onclick = function() {
                    var t = this;
                    t.onclick = function() {
                        return false
                    };
                    $.get(t.href, function() {
                        var v = t.nextSibling;
                        v.innerHTML = Number(v.innerHTML) + 1;
                        t.className += 'd';
                        t.parentNode.title = v.innerHTML + (v.innerHTML == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + t.title.replace(/.*?\s(.*?)'.*/, '$1') + '';
                        t.removeAttribute('title');
                        t.href = '#'
                    });
                    return false
                }
            } else {
                button.href = '#';
                button.className += ' fa_liked';
                button.onclick = function() {
                    return false
                }
            }
            item.insertBefore(button, item.firstChild);
            opts.insertBefore(item, opts.firstChild);
            rep.parentNode.removeChild(rep)
        }
    }
});

E adicione a sua CSS também:
Código:
.vote {
    float: right;
    margin-left: 4px;
    width: 9px
}
.vote .vote-button {
    font-weight: 700;
    margin-left: -1px;
    text-align: center
}
.vote .vote-button a {
    text-decoration: none!important
}
.vote .vote-bar {
    border: 1px solid #666;
    font-size: 0;
    height: 50px;
    margin: 0 auto;
    width: 3px
}
.vote .vote-no-bar {
    letter-spacing: -2px;
    margin-left: -2px;
    white-space: nowrap
}
.vote .vote-bar-plus {
    background-color: #0f0
}

.vote .vote-bar-minus {
    background-color: red
}
.fa_votes,a.fa_vote {
    display: inline-block!important;
    width: auto!important
}
a.fa_vote {
    color: #6A3;
    font-size: 18px;
    margin-right: 3px;
    text-decoration: none
}
a.fa_vote.fa_like:hover {
    color: #8C5
}
a.fa_vote.fa_liked {
    color: #ADA;
    cursor: default
}
.fa_votes {
    color: #4A0;
    cursor: default;
    font-size: 12px;
    font-weight: 700
}

Até! zen
avatar

GSCode
Usuário destaque

Masculino
Inscrito dia : 11/10/2013
Mensagens : 590
Pontos Ativos : 1031

Ver perfil do usuário http://testforumbrasil.forumeiros.com/forum

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 19/06/15, 09:00 pm

Obrigado, @zSuYaNw.

Você poderia me ajudar agora me explicando o passo a passo?

Sou iniciante, ainda não consegui encontrar nenhum tutorial sobre isso.

Então, peço por gentileza que me ajude me mostrando as etapas para realizar isto, ou me indique algum tópico em que explique sobre isso.

Desde já obrigado!
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/
  • 0

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por VitorC. em 19/06/15, 09:28 pm

Olá caro @Admim_Forum,

por favor aceda a seu fórum em: Painel de Controle Seta Módulos Seta HTML & JavaScript Seta Gestão de códigos JavaScript.

Clique em 'Criar um novo JavaScript'. No 'Título' coloque o que você desejar, em 'Investimento' marque somente 'nos tópicos' e em 'Código JavaScript' cole o primeiro código. Salve.

Agora, ainda no Painel de Controle, vá em: Visualização Seta Imagens e Cores Seta Cores Seta Folha de estilo CSS e cole o segundo código. Salve.

Até mais! zen
avatar

VitorC.
Super usuário

Masculino
Inscrito dia : 22/02/2012
Mensagens : 3792
Pontos Ativos : 4932

Ver perfil do usuário http://nolabels.forumeiros.com

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por GSCode em 19/06/15, 09:50 pm

Desculpe-me! Falta de atenção de minha parte, em não explicar o caminho para adição dos códigos!

Enfim, faça o que o amigo disse acima!
Até! zen
avatar

GSCode
Usuário destaque

Masculino
Inscrito dia : 11/10/2013
Mensagens : 590
Pontos Ativos : 1031

Ver perfil do usuário http://testforumbrasil.forumeiros.com/forum

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 20/06/15, 12:57 pm

O código não funcionou como o esperado.

Está aparecendo um quadrado em vez de um "like" como aparece aqui no FDF.

Tem como arrumar isso?



Última edição por Admim_Forum em 20/06/15, 01:14 pm, editado 1 vez(es)
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por VitorC. em 20/06/15, 01:05 pm

Olá caro @Admim_Forum,

queira se certificar de que a opção 'Habilitar o gerenciamento dos códigos JavaScript' esteja marcada como 'Sim'.
Essa opção encontra-se na mesma aba que eu lhe informei.

Até mais. zen
avatar

VitorC.
Super usuário

Masculino
Inscrito dia : 22/02/2012
Mensagens : 3792
Pontos Ativos : 4932

Ver perfil do usuário http://nolabels.forumeiros.com
  • 0

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 20/06/15, 01:17 pm

@VitorC. observei alguns problemas que estão na mensagem acima:

Admim_Forum escreveu:O código não funcionou como o esperado.

Está aparecendo um quadrado em vez de um "like" como aparece aqui no FDF.

Tem como arrumar isso?

avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 20/06/15, 01:28 pm

@zSuYaNw e @VitorC. é possível alterar o código para que apareça este botão "like" da imagem?



Desde já obrigado!
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por VitorC. em 20/06/15, 01:39 pm

Adicione ao seu CSS:

Código:
.fa_votes,a.fa_vote{display:inline-block!important;width:auto!important}a.fa_vote{color:#6A3;font-size:18px;margin-right:3px;text-decoration:none}a.fa_vote.fa_like:hover{color:#8C5}a.fa_vote.fa_liked{color:#ADA;cursor:default}.fa_votes{color:#4A0;cursor:default;font-size:12px;font-weight:700}.fa_thanks{background:#DFD;border:1px solid #BDB;border-radius:6px;color:#280;font-size:16px;font-weight:700;margin-top:15px;padding:5px;text-align:center}.fa_thanks i.fa{color:#8C5;font-size:48px;vertical-align:middle}#quick_reply textarea{background:url(http://i.imgur.com/8Nwxxkj.png)}

Até mais. zen
avatar

VitorC.
Super usuário

Masculino
Inscrito dia : 22/02/2012
Mensagens : 3792
Pontos Ativos : 4932

Ver perfil do usuário http://nolabels.forumeiros.com

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 20/06/15, 01:44 pm

@VitorC. escreveu:Adicione ao seu CSS:

Código:
.fa_votes,a.fa_vote{display:inline-block!important;width:auto!important}a.fa_vote{color:#6A3;font-size:18px;margin-right:3px;text-decoration:none}a.fa_vote.fa_like:hover{color:#8C5}a.fa_vote.fa_liked{color:#ADA;cursor:default}.fa_votes{color:#4A0;cursor:default;font-size:12px;font-weight:700}.fa_thanks{background:#DFD;border:1px solid #BDB;border-radius:6px;color:#280;font-size:16px;font-weight:700;margin-top:15px;padding:5px;text-align:center}.fa_thanks i.fa{color:#8C5;font-size:48px;vertical-align:middle}#quick_reply textarea{background:url(http://i.imgur.com/8Nwxxkj.png)}

Até mais. zen

Não funcionou. Continua do mesmo jeito.
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por Rafael em 20/06/15, 04:29 pm

Olá!

Adicione mais este código JavaScript:

Código:
    $(function() {
    $('head').append('<link rel="stylesheet" href="path/to/font-awesome/css/font-awesome.min.css">');
    });

Atenciosamente,
iChees
avatar

Rafael
Hiperativo

Masculino
Inscrito dia : 26/04/2014
Mensagens : 3118
Pontos Ativos : 4029

Ver perfil do usuário http://maisforum.forumeiros.com

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 20/06/15, 06:54 pm

@iChees o código não funcionou. O ícone continua um quadrado.
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por GSCode em 20/06/15, 07:24 pm

Olá,

Código:
/*Icones*/
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

Adicione a sua CSS:
Visualização Seta Imagens e Cores Seta Cores Seta Folha de estilo CSS e cole o segundo código.
Até! zen
avatar

GSCode
Usuário destaque

Masculino
Inscrito dia : 11/10/2013
Mensagens : 590
Pontos Ativos : 1031

Ver perfil do usuário http://testforumbrasil.forumeiros.com/forum

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 21/06/15, 08:43 am

@zSuYaNw o último código também não funcionou.

Mas deixo outra possibilidade.

Se você quiser pode trocar o ícone por este troféu que está abaixo:



Url da imagem:
Código:
http://i18.servimg.com/u/f18/19/24/82/70/icone10.jpg

Então pode optar pelo troféu ou pelo "like".

Aguardo sua ajuda Muito feliz
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por GSCode em 21/06/15, 03:43 pm

Olá amigo,
Necessito da URL de seu fórum!
Até! zen
avatar

GSCode
Usuário destaque

Masculino
Inscrito dia : 11/10/2013
Mensagens : 590
Pontos Ativos : 1031

Ver perfil do usuário http://testforumbrasil.forumeiros.com/forum
  • 0

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por Shek em 22/06/15, 10:38 am

Bom dia!

Acesse Painel de Controle >> Visualização >> Templates >> Geral >> overall_header e lá, procure por:
Código:
{META}
Ao encontrá-la, basta adicionar abaixo:
Código:
<link rel=stylesheet href=//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css>
Salve e publique o template. Em seguida, pressione o Ctrl + F5 após a aplicação em seu tópico.

Atenciosamente,
Shek King


Shek CrowleyAdmineiro - Fórum dos Fóruns

Clicar no botão ou no OBRIGADO não mata ninguém!
avatar

Shek
Admineiro
Admineiro

Masculino
Inscrito dia : 11/04/2009
Mensagens : 17161
Pontos Ativos : 21418

Ver perfil do usuário http://www.shiftactif.com https://go.topicit.net/ZosT/61pMt1mPsG https://www.facebook.com/shek.crowley https://twitter.com/shek_forumactif

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 22/06/15, 01:57 pm

zSuYaNw escreveu:Olá amigo,
Necessito da URL de seu fórum!
Até! zen

A url de meu fórum é: http://olimpiadaenem.forumeiros.com/
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 22/06/15, 02:01 pm

@Shek escreveu:Bom dia!

Acesse Painel de Controle >> Visualização >> Templates >> Geral >> overall_header e lá, procure por:
Código:
{META}
Ao encontrá-la, basta adicionar abaixo:
Código:
<link rel=stylesheet href=//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css>
Salve e publique o template. Em seguida, pressione o Ctrl + F5 após a aplicação em seu tópico.

Atenciosamente,
Shek King

Funcionou @Shek, Obrigado!
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 22/06/15, 02:02 pm

Antes de encerrar o tópico, gostaria de saber mais um detalhe:

É possível fazer com que este botão fique visível apenas para moderadores?

Ou ainda, que apenas os moderadores possam "curtir" uma mensagem?
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por Rafael em 22/06/15, 02:28 pm

Olá amigo!

É possível sim, mas porém o senhor deveria evitar as mensagens consecutivas antes de passar 24 horas da última mensagem. O senhor poderia ter simplesmente editado sua mensagem anterior. Peço que faça mais atenção a este pormenor no futuro.

Bem, troque o código JavaScript passado pelo @zSuYaNw:

Código:
    jQuery(document).ready(function() {
if (_userdata["user_level"] == 2 ) {
        for (var a = $('.post', document.getElementById('main-content')), i = 0, p, rep, votes, plus, item, button, pseudo, opts; p = a[i]; i++) {
            item = document.createElement('LI');
            button = document.createElement('A');
            button.innerHTML = '<i class="fa"></i>';
            button.className = 'fa_vote';
            rep = $('.vote', p)[0];
            opts = p.getElementsByTagName('UL')[0];
            pseudo = $('.postprofile dt', p).text();
            if (rep) {
                votes = $('.vote-bar', rep)[0];
                plus = rep.getElementsByTagName('A')[0];
                if (votes) {
                    votes = votes.title.replace(/.*\((\d+).*/, '$1');
                    item.innerHTML = '<span class="fa_votes">' + votes + '</span>';
                    item.title = votes + (votes == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + pseudo + ''
                } else {
                    item.innerHTML = '<span class="fa_votes">0</span>';
                    item.title = 'Nenhum voto foi computado para ' + pseudo + ''
                }
                if (plus && /plus/i.test(plus.href)) {
                    button.className += ' fa_like';
                    button.href = plus.href;
                    button.title = 'Curtir a mensagem de ' + pseudo + '';
                    button.onclick = function() {
                        var t = this;
                        t.onclick = function() {
                            return false
                        };
                        $.get(t.href, function() {
                            var v = t.nextSibling;
                            v.innerHTML = Number(v.innerHTML) + 1;
                            t.className += 'd';
                            t.parentNode.title = v.innerHTML + (v.innerHTML == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + t.title.replace(/.*?\s(.*?)'.*/, '$1') + '';
                            t.removeAttribute('title');
                            t.href = '#'
                        });
                        return false
                    }
                } else {
                    button.href = '#';
                    button.className += ' fa_liked';
                    button.onclick = function() {
                        return false
                    }
                }
                item.insertBefore(button, item.firstChild);
                opts.insertBefore(item, opts.firstChild);
                rep.parentNode.removeChild(rep)
            }
        }
}
    });

Atenciosamente,
iChees
avatar

Rafael
Hiperativo

Masculino
Inscrito dia : 26/04/2014
Mensagens : 3118
Pontos Ativos : 4029

Ver perfil do usuário http://maisforum.forumeiros.com

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 23/06/15, 06:41 am

@iChees me desculpe pela questão das mensagens, vou tomar mais cuidado...

Quanto a seu código, ele não funcionou. Quando eu substituo pelo seu código os botões desaparecem para todos os membros.
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por Rafael em 23/06/15, 06:56 am

Olá novamente,

Tente este então:

Código:
    jQuery(document).ready(function() {
if (_userdata["user_level"] === 2 ) {
        for (var a = $('.post', document.getElementById('main-content')), i = 0, p, rep, votes, plus, item, button, pseudo, opts; p = a[i]; i++) {
            item = document.createElement('LI');
            button = document.createElement('A');
            button.innerHTML = '<i class="fa"></i>';
            button.className = 'fa_vote';
            rep = $('.vote', p)[0];
            opts = p.getElementsByTagName('UL')[0];
            pseudo = $('.postprofile dt', p).text();
            if (rep) {
                votes = $('.vote-bar', rep)[0];
                plus = rep.getElementsByTagName('A')[0];
                if (votes) {
                    votes = votes.title.replace(/.*\((\d+).*/, '$1');
                    item.innerHTML = '<span class="fa_votes">' + votes + '</span>';
                    item.title = votes + (votes == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + pseudo + '';
                } else {
                    item.innerHTML = '<span class="fa_votes">0</span>';
                    item.title = 'Nenhum voto foi computado para ' + pseudo + '';
                }
                if (plus && /plus/i.test(plus.href)) {
                    button.className += ' fa_like';
                    button.href = plus.href;
                    button.title = 'Curtir a mensagem de ' + pseudo + '';
                    button.onclick = function() {
                        var t = this;
                        t.onclick = function() {
                            return false;
                        };
                        $.get(t.href, function() {
                            var v = t.nextSibling;
                            v.innerHTML = Number(v.innerHTML) + 1;
                            t.className += 'd';
                            t.parentNode.title = v.innerHTML + (v.innerHTML == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + t.title.replace(/.*?\s(.*?)'.*/, '$1') + '';
                            t.removeAttribute('title');
                            t.href = '#';
                        });
                        return false;
                    };
                } else {
                    button.href = '#';
                    button.className += ' fa_liked';
                    button.onclick = function() {
                        return false;
                    };
                }
                item.insertBefore(button, item.firstChild);
                opts.insertBefore(item, opts.firstChild);
                rep.parentNode.removeChild(rep);
            }
        }
}else {
}
    });
avatar

Rafael
Hiperativo

Masculino
Inscrito dia : 26/04/2014
Mensagens : 3118
Pontos Ativos : 4029

Ver perfil do usuário http://maisforum.forumeiros.com

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 23/06/15, 12:47 pm

Apresentou o mesmo problema. Os botões somem para todos os usuários e não ficam visíveis para os moderadores como o desejado.
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por GSCode em 23/06/15, 03:29 pm

Olá,
Ok, vamos lá,

Painel de Controle Seta Módulos Seta HTML & JAVASCRIPT Seta Gestão dos códigos JavaScript
Investimento: Em todas as páginas!

Estou utilizando, o código de ícones elegantes em usuários, feito pelo wag.
Isso é apenas uma tentativa, para sanar sua dúvida.

Código:
var _0x40a3=["\x68\x65\x61\x64","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x73\x42\x79\x54\x61\x67\x4E\x61\x6D\x65","\x6C\x69\x6E\x6B","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x74\x79\x70\x65","\x74\x65\x78\x74\x2F\x63\x73\x73","\x72\x65\x6C","\x73\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x68\x72\x65\x66","\x68\x74\x74\x70\x3A\x2F\x2F\x6E\x65\x74\x64\x6E\x61\x2E\x62\x6F\x6F\x74\x73\x74\x72\x61\x70\x63\x64\x6E\x2E\x63\x6F\x6D\x2F\x66\x6F\x6E\x74\x2D\x61\x77\x65\x73\x6F\x6D\x65\x2F\x34\x2E\x30\x2E\x33\x2F\x63\x73\x73\x2F\x66\x6F\x6E\x74\x2D\x61\x77\x65\x73\x6F\x6D\x65\x2E\x6D\x69\x6E\x2E\x63\x73\x73","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64"];var headID=document[_0x40a3[1]](_0x40a3[0])[0];var cssNode=document[_0x40a3[3]](_0x40a3[2]);cssNode[_0x40a3[4]]=_0x40a3[5];cssNode[_0x40a3[6]]=_0x40a3[7];cssNode[_0x40a3[8]]=_0x40a3[9];headID[_0x40a3[10]](cssNode);

Até! zen
avatar

GSCode
Usuário destaque

Masculino
Inscrito dia : 11/10/2013
Mensagens : 590
Pontos Ativos : 1031

Ver perfil do usuário http://testforumbrasil.forumeiros.com/forum

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por Rafael em 23/06/15, 04:55 pm

Olá

@zSuYaNw não é dos ícones que ele está precisando pois isso funciona. Ele deseja que só apareça para os moderadores/administradores.

@Admim_Forum eu estarei procurando por uma solução para resolver isso, assim que tiver resultados eu posto aqui.

Atenciosamente,
iChees
avatar

Rafael
Hiperativo

Masculino
Inscrito dia : 26/04/2014
Mensagens : 3118
Pontos Ativos : 4029

Ver perfil do usuário http://maisforum.forumeiros.com

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 24/06/15, 01:28 pm

Exatamente @iChees.

O botão está funcionando normalmente, quero agora que o botão apareça apenas para os moderadores/administradores.
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por GSCode em 24/06/15, 01:44 pm

Olá,
Não sei se irá funcionar, tente:
(Substitua esse código pelo meu anterior.)

Código:
jQuery(document).ready(function() {
    var sPrefAdmin =
    for (var a = $('.post', document.getElementById('main-content')), i = 0, p, rep, votes, plus, item, button, pseudo, opts; p = a[i]; i++) {
        item = document.createElement('LI');
        button = document.createElement('A');
        button.innerHTML = '<i class="fa"></i>';
        button.className = 'fa_vote';
        rep = $('.vote', p)[0];
        opts = p.getElementsByTagName('UL')[0];
        pseudo = $('.postprofile dt', p).text();
        if(_userdata["user_level"] === 1){
            jQuery('input[name=subject]').after(sPrefAdmin);            
        }
        if (rep) {
            votes = $('.vote-bar', rep)[0];
            plus = rep.getElementsByTagName('A')[0];
            if (votes) {
                votes = votes.title.replace(/.*\((\d+).*/, '$1');
                item.innerHTML = '<span class="fa_votes">' + votes + '</span>';
                item.title = votes + (votes == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + pseudo + ''
            } else {
                item.innerHTML = '<span class="fa_votes">0</span>';
                item.title = 'Nenhum voto foi computado para ' + pseudo + ''
            }
            if (plus && /plus/i.test(plus.href)) {
                button.className += ' fa_like';
                button.href = plus.href;
                button.title = 'Curtir a mensagem de ' + pseudo + '';
                button.onclick = function() {
                    var t = this;
                    t.onclick = function() {
                        return false
                    };
                    $.get(t.href, function() {
                        var v = t.nextSibling;
                        v.innerHTML = Number(v.innerHTML) + 1;
                        t.className += 'd';
                        t.parentNode.title = v.innerHTML + (v.innerHTML == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + t.title.replace(/.*?\s(.*?)'.*/, '$1') + '';
                        t.removeAttribute('title');
                        t.href = '#'
                    });
                    return false
                }
            } else {
                button.href = '#';
                button.className += ' fa_liked';
                button.onclick = function() {
                    return false
                }
            }
            item.insertBefore(button, item.firstChild);
            opts.insertBefore(item, opts.firstChild);
            rep.parentNode.removeChild(rep)
        }
    }
});

Até! zen
avatar

GSCode
Usuário destaque

Masculino
Inscrito dia : 11/10/2013
Mensagens : 590
Pontos Ativos : 1031

Ver perfil do usuário http://testforumbrasil.forumeiros.com/forum

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 25/06/15, 12:52 pm

@zSuYaNw o código fornecido não funcionou, os botões sumiram para todos os usuários (o Admin também).
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 27/06/15, 01:09 pm

Olá,

Vou repetir a pergunta para tentar esclarecer dúvidas.

O botão está funcionando corretamente. Os códigos que usei seguem abaixo:

Preciso agora que este botão fique visível apenas para moderadores/administradores, ou seja, que apenas esses usuários possam "votar". Alguém pode me ajudar?

zSuYaNw escreveu:JavaScript com investimento nos tópicos:
Código:
jQuery(document).ready(function() {
    for (var a = $('.post', document.getElementById('main-content')), i = 0, p, rep, votes, plus, item, button, pseudo, opts; p = a[i]; i++) {
        item = document.createElement('LI');
        button = document.createElement('A');
        button.innerHTML = '<i class="fa"></i>';
        button.className = 'fa_vote';
        rep = $('.vote', p)[0];
        opts = p.getElementsByTagName('UL')[0];
        pseudo = $('.postprofile dt', p).text();
        if (rep) {
            votes = $('.vote-bar', rep)[0];
            plus = rep.getElementsByTagName('A')[0];
            if (votes) {
                votes = votes.title.replace(/.*\((\d+).*/, '$1');
                item.innerHTML = '<span class="fa_votes">' + votes + '</span>';
                item.title = votes + (votes == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + pseudo + ''
            } else {
                item.innerHTML = '<span class="fa_votes">0</span>';
                item.title = 'Nenhum voto foi computado para ' + pseudo + ''
            }
            if (plus && /plus/i.test(plus.href)) {
                button.className += ' fa_like';
                button.href = plus.href;
                button.title = 'Curtir a mensagem de ' + pseudo + '';
                button.onclick = function() {
                    var t = this;
                    t.onclick = function() {
                        return false
                    };
                    $.get(t.href, function() {
                        var v = t.nextSibling;
                        v.innerHTML = Number(v.innerHTML) + 1;
                        t.className += 'd';
                        t.parentNode.title = v.innerHTML + (v.innerHTML == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + t.title.replace(/.*?\s(.*?)'.*/, '$1') + '';
                        t.removeAttribute('title');
                        t.href = '#'
                    });
                    return false
                }
            } else {
                button.href = '#';
                button.className += ' fa_liked';
                button.onclick = function() {
                    return false
                }
            }
            item.insertBefore(button, item.firstChild);
            opts.insertBefore(item, opts.firstChild);
            rep.parentNode.removeChild(rep)
        }
    }
});

E adicione a sua CSS também:
Código:
.vote {
    float: right;
    margin-left: 4px;
    width: 9px
}
.vote .vote-button {
    font-weight: 700;
    margin-left: -1px;
    text-align: center
}
.vote .vote-button a {
    text-decoration: none!important
}
.vote .vote-bar {
    border: 1px solid #666;
    font-size: 0;
    height: 50px;
    margin: 0 auto;
    width: 3px
}
.vote .vote-no-bar {
    letter-spacing: -2px;
    margin-left: -2px;
    white-space: nowrap
}
.vote .vote-bar-plus {
    background-color: #0f0
}

.vote .vote-bar-minus {
    background-color: red
}
.fa_votes,a.fa_vote {
    display: inline-block!important;
    width: auto!important
}
a.fa_vote {
    color: #6A3;
    font-size: 18px;
    margin-right: 3px;
    text-decoration: none
}
a.fa_vote.fa_like:hover {
    color: #8C5
}
a.fa_vote.fa_liked {
    color: #ADA;
    cursor: default
}
.fa_votes {
    color: #4A0;
    cursor: default;
    font-size: 12px;
    font-weight: 700
}

Até! zen

e

@Shek escreveu:Acesse Painel de Controle >> Visualização >> Templates >> Geral >> overall_header e lá, procure por:
Código:
{META}
Ao encontrá-la, basta adicionar abaixo:
Código:
<link rel=stylesheet href=//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css>
Salve e publique o template. Em seguida, pressione o Ctrl + F5 após a aplicação em seu tópico.

Atenciosamente,
Shek King
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por Rafael em 27/06/15, 02:23 pm

Olá!

Troque o JavaScript por este:

Código:
    jQuery(document).ready(function() {
        for (var a = $('.post', document.getElementById('main-content')), i = 0, p, rep, votes, plus, item, button, pseudo, opts; p = a[i]; i++) {
            item = document.createElement('LI');
            button = document.createElement('A');
            button.innerHTML = '<i class="fa"></i>';
            button.className = 'fa_vote';
            rep = $('.vote', p)[0];
            opts = p.getElementsByTagName('UL')[0];
            pseudo = $('.postprofile dt', p).text();
            if (rep) {
                votes = $('.vote-bar', rep)[0];
                plus = rep.getElementsByTagName('A')[0];
                if (votes) {
                    votes = votes.title.replace(/.*\((\d+).*/, '$1');
                    item.innerHTML = '<span class="fa_votes">' + votes + '</span>';
                    item.title = votes + (votes == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + pseudo + ''
                } else {
                    item.innerHTML = '<span class="fa_votes">0</span>';
                    item.title = 'Nenhum voto foi computado para ' + pseudo + ''
                }
                if (plus && /plus/i.test(plus.href)) {
                    button.className += ' fa_like';
                    button.href = plus.href;
                    button.title = 'Curtir a mensagem de ' + pseudo + '';
                    button.onclick = function() {
                        var t = this;
                        t.onclick = function() {
                            return false
                        };
                        $.get(t.href, function() {
                            var v = t.nextSibling;
                            v.innerHTML = Number(v.innerHTML) + 1;
                            t.className += 'd';
                            t.parentNode.title = v.innerHTML + (v.innerHTML == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + t.title.replace(/.*?\s(.*?)'.*/, '$1') + '';
                            t.removeAttribute('title');
                            t.href = '#'
                        });
                        return false
                    }
                } else {
                    button.href = '#';
                    button.className += ' fa_liked';
                    button.onclick = function() {
                        return false
                    }
                }
                item.insertBefore(button, item.firstChild);
                opts.insertBefore(item, opts.firstChild);
                rep.parentNode.removeChild(rep)
            }
        }
    });
$(function() {
if (_userdata["user_level"] === 0 || _userdata["user_level"] === 1) {
$( "li" ).has( "a.fa_vote" ).hide();
}
});

Resulta? Positivo

Abraços Piscada
avatar

Rafael
Hiperativo

Masculino
Inscrito dia : 26/04/2014
Mensagens : 3118
Pontos Ativos : 4029

Ver perfil do usuário http://maisforum.forumeiros.com

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 27/06/15, 02:28 pm

iChees escreveu:Olá!

Troque o JavaScript por este:

Código:
    jQuery(document).ready(function() {
        for (var a = $('.post', document.getElementById('main-content')), i = 0, p, rep, votes, plus, item, button, pseudo, opts; p = a[i]; i++) {
            item = document.createElement('LI');
            button = document.createElement('A');
            button.innerHTML = '<i class="fa"></i>';
            button.className = 'fa_vote';
            rep = $('.vote', p)[0];
            opts = p.getElementsByTagName('UL')[0];
            pseudo = $('.postprofile dt', p).text();
            if (rep) {
                votes = $('.vote-bar', rep)[0];
                plus = rep.getElementsByTagName('A')[0];
                if (votes) {
                    votes = votes.title.replace(/.*\((\d+).*/, '$1');
                    item.innerHTML = '<span class="fa_votes">' + votes + '</span>';
                    item.title = votes + (votes == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + pseudo + ''
                } else {
                    item.innerHTML = '<span class="fa_votes">0</span>';
                    item.title = 'Nenhum voto foi computado para ' + pseudo + ''
                }
                if (plus && /plus/i.test(plus.href)) {
                    button.className += ' fa_like';
                    button.href = plus.href;
                    button.title = 'Curtir a mensagem de ' + pseudo + '';
                    button.onclick = function() {
                        var t = this;
                        t.onclick = function() {
                            return false
                        };
                        $.get(t.href, function() {
                            var v = t.nextSibling;
                            v.innerHTML = Number(v.innerHTML) + 1;
                            t.className += 'd';
                            t.parentNode.title = v.innerHTML + (v.innerHTML == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + t.title.replace(/.*?\s(.*?)'.*/, '$1') + '';
                            t.removeAttribute('title');
                            t.href = '#'
                        });
                        return false
                    }
                } else {
                    button.href = '#';
                    button.className += ' fa_liked';
                    button.onclick = function() {
                        return false
                    }
                }
                item.insertBefore(button, item.firstChild);
                opts.insertBefore(item, opts.firstChild);
                rep.parentNode.removeChild(rep)
            }
        }
    });
$(function() {
if (_userdata["user_level"] === 0 || _userdata["user_level"] === 1) {
$( "li" ).has( "a.fa_vote" ).hide();
}
});

Resulta? Positivo

Abraços Piscada

Não funcionou, o botão desapareceu para o administrador/moderadores.
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/
  • 0

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por Rafael em 27/06/15, 02:34 pm

Olá!

Acho que agora funciona ao trocar por este:

Código:
        jQuery(document).ready(function() {
            for (var a = $('.post', document.getElementById('main-content')), i = 0, p, rep, votes, plus, item, button, pseudo, opts; p = a[i]; i++) {
                item = document.createElement('LI');
                button = document.createElement('A');
                button.innerHTML = '<i class="fa"></i>';
                button.className = 'fa_vote';
                rep = $('.vote', p)[0];
                opts = p.getElementsByTagName('UL')[0];
                pseudo = $('.postprofile dt', p).text();
                if (rep) {
                    votes = $('.vote-bar', rep)[0];
                    plus = rep.getElementsByTagName('A')[0];
                    if (votes) {
                        votes = votes.title.replace(/.*\((\d+).*/, '$1');
                        item.innerHTML = '<span class="fa_votes">' + votes + '</span>';
                        item.title = votes + (votes == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + pseudo + ''
                    } else {
                        item.innerHTML = '<span class="fa_votes">0</span>';
                        item.title = 'Nenhum voto foi computado para ' + pseudo + ''
                    }
                    if (plus && /plus/i.test(plus.href)) {
                        button.className += ' fa_like';
                        button.href = plus.href;
                        button.title = 'Curtir a mensagem de ' + pseudo + '';
                        button.onclick = function() {
                            var t = this;
                            t.onclick = function() {
                                return false
                            };
                            $.get(t.href, function() {
                                var v = t.nextSibling;
                                v.innerHTML = Number(v.innerHTML) + 1;
                                t.className += 'd';
                                t.parentNode.title = v.innerHTML + (v.innerHTML == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + t.title.replace(/.*?\s(.*?)'.*/, '$1') + '';
                                t.removeAttribute('title');
                                t.href = '#'
                            });
                            return false
                        }
                    } else {
                        button.href = '#';
                        button.className += ' fa_liked';
                        button.onclick = function() {
                            return false
                        }
                    }
                    item.insertBefore(button, item.firstChild);
                    opts.insertBefore(item, opts.firstChild);
                    rep.parentNode.removeChild(rep)
                }
            }
        });
  $(function() {
if (_userdata["user_level"] == 0) {
$( "li" ).has( "a.fa_vote" ).hide();
}else{
$( "li" ).has( "a.fa_vote" ).show();
}
});

Abraços Piscada
avatar

Rafael
Hiperativo

Masculino
Inscrito dia : 26/04/2014
Mensagens : 3118
Pontos Ativos : 4029

Ver perfil do usuário http://maisforum.forumeiros.com

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por TreiMark em 27/06/15, 02:53 pm

Perfeito @iChees, o código funcionou, muito obrigado pela ajuda...

Agora, se possível me dê um auxílio neste outro tópico: http://ajuda.forumeiros.com/t100205-como-inserir-uma-imagem-no-forum

Muito obrigado amigo!  Feliz

iChees escreveu:Olá!

Acho que agora funciona ao trocar por este:

Código:
        jQuery(document).ready(function() {
            for (var a = $('.post', document.getElementById('main-content')), i = 0, p, rep, votes, plus, item, button, pseudo, opts; p = a[i]; i++) {
                item = document.createElement('LI');
                button = document.createElement('A');
                button.innerHTML = '<i class="fa"></i>';
                button.className = 'fa_vote';
                rep = $('.vote', p)[0];
                opts = p.getElementsByTagName('UL')[0];
                pseudo = $('.postprofile dt', p).text();
                if (rep) {
                    votes = $('.vote-bar', rep)[0];
                    plus = rep.getElementsByTagName('A')[0];
                    if (votes) {
                        votes = votes.title.replace(/.*\((\d+).*/, '$1');
                        item.innerHTML = '<span class="fa_votes">' + votes + '</span>';
                        item.title = votes + (votes == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + pseudo + ''
                    } else {
                        item.innerHTML = '<span class="fa_votes">0</span>';
                        item.title = 'Nenhum voto foi computado para ' + pseudo + ''
                    }
                    if (plus && /plus/i.test(plus.href)) {
                        button.className += ' fa_like';
                        button.href = plus.href;
                        button.title = 'Curtir a mensagem de ' + pseudo + '';
                        button.onclick = function() {
                            var t = this;
                            t.onclick = function() {
                                return false
                            };
                            $.get(t.href, function() {
                                var v = t.nextSibling;
                                v.innerHTML = Number(v.innerHTML) + 1;
                                t.className += 'd';
                                t.parentNode.title = v.innerHTML + (v.innerHTML == 1 ? ' pessoa gostou do tópico ' : ' pessoas gostaram do tópico ') + t.title.replace(/.*?\s(.*?)'.*/, '$1') + '';
                                t.removeAttribute('title');
                                t.href = '#'
                            });
                            return false
                        }
                    } else {
                        button.href = '#';
                        button.className += ' fa_liked';
                        button.onclick = function() {
                            return false
                        }
                    }
                    item.insertBefore(button, item.firstChild);
                    opts.insertBefore(item, opts.firstChild);
                    rep.parentNode.removeChild(rep)
                }
            }
        });
   $(function() {
if (_userdata["user_level"] == 0) {
$( "li" ).has( "a.fa_vote" ).hide();
}else{
$( "li" ).has( "a.fa_vote" ).show();
}
});

Abraços Piscada
avatar

TreiMark
Nível 9

Masculino
Inscrito dia : 12/06/2015
Mensagens : 170
Pontos Ativos : 214

Ver perfil do usuário http://promec.forumeiros.com/

Resolvido Re: Personalizar sistema de votação com Like como Fórum dos Fóruns

Mensagem por Rafael em 27/06/15, 03:30 pm

Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada.
Tópico marcado como Resolvido e movido para Questões resolvidas.
avatar

Rafael
Hiperativo

Masculino
Inscrito dia : 26/04/2014
Mensagens : 3118
Pontos Ativos : 4029

Ver perfil do usuário http://maisforum.forumeiros.com

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum