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

5 participantes

Ir para baixo

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

Mensagem por TreiMark 19.06.15 18:13

Olá,

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

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

É 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.
TreiMark
TreiMark
***

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por GSCode 19.06.15 23:35

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
GSCode
GSCode
Membro

Membro desde : 11/10/2013
Mensagens : 591
Pontos : 1031

http://testforumbrasil.forumeiros.com/forum

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 20.06.15 1:00

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!
TreiMark
TreiMark
***

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por VitorC. 20.06.15 1:28

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
VitorC.
VitorC.
Hiper Membro

Membro desde : 22/02/2012
Mensagens : 3794
Pontos : 4939

http://nolabels.forumeiros.com

Ir para o topo Ir para baixo

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

Mensagem por GSCode 20.06.15 1:50

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
GSCode
GSCode
Membro

Membro desde : 11/10/2013
Mensagens : 591
Pontos : 1031

http://testforumbrasil.forumeiros.com/forum

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 20.06.15 16:57

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?

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


Última edição por Admim_Forum em 20.06.15 17:14, editado 1 vez(es)
TreiMark
TreiMark
***

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por VitorC. 20.06.15 17:05

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
VitorC.
VitorC.
Hiper Membro

Membro desde : 22/02/2012
Mensagens : 3794
Pontos : 4939

http://nolabels.forumeiros.com

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 20.06.15 17:17

@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?

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

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 20.06.15 17:28

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

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

Desde já obrigado!
TreiMark
TreiMark
***

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por VitorC. 20.06.15 17:39

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
VitorC.
VitorC.
Hiper Membro

Membro desde : 22/02/2012
Mensagens : 3794
Pontos : 4939

http://nolabels.forumeiros.com

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 20.06.15 17:44

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.
TreiMark
TreiMark
***

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por RafaelS. 20.06.15 20:29

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
RafaelS.
Membro Entusiasta

Membro desde : 26/04/2014
Mensagens : 5746
Pontos : 7156

http://techmais.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 20.06.15 22:54

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

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por GSCode 20.06.15 23:24

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
GSCode
GSCode
Membro

Membro desde : 11/10/2013
Mensagens : 591
Pontos : 1031

http://testforumbrasil.forumeiros.com/forum

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 21.06.15 12:43

@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:

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

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
TreiMark
TreiMark
***

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por GSCode 21.06.15 19:43

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

Membro desde : 11/10/2013
Mensagens : 591
Pontos : 1031

http://testforumbrasil.forumeiros.com/forum

Ir para o topo Ir para baixo

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

Mensagem por Shek 22.06.15 14:38

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
Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 19006
Pontos : 22969

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 22.06.15 17:57

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

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

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 22.06.15 18:01

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!
TreiMark
TreiMark
***

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 22.06.15 18:02

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?
TreiMark
TreiMark
***

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por RafaelS. 22.06.15 18:28

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
RafaelS.
Membro Entusiasta

Membro desde : 26/04/2014
Mensagens : 5746
Pontos : 7156

http://techmais.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 23.06.15 10:41

@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.
TreiMark
TreiMark
***

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por RafaelS. 23.06.15 10:56

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
RafaelS.
Membro Entusiasta

Membro desde : 26/04/2014
Mensagens : 5746
Pontos : 7156

http://techmais.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 23.06.15 16:47

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.
TreiMark
TreiMark
***

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por GSCode 23.06.15 19:29

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
GSCode
GSCode
Membro

Membro desde : 11/10/2013
Mensagens : 591
Pontos : 1031

http://testforumbrasil.forumeiros.com/forum

Ir para o topo Ir para baixo

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

Mensagem por RafaelS. 23.06.15 20:55

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
RafaelS.
Membro Entusiasta

Membro desde : 26/04/2014
Mensagens : 5746
Pontos : 7156

http://techmais.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 24.06.15 17:28

Exatamente @iChees.

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

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por GSCode 24.06.15 17:44

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
GSCode
GSCode
Membro

Membro desde : 11/10/2013
Mensagens : 591
Pontos : 1031

http://testforumbrasil.forumeiros.com/forum

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 25.06.15 16:52

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

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 27.06.15 17:09

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
TreiMark
TreiMark
***

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por RafaelS. 27.06.15 18:23

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
RafaelS.
Membro Entusiasta

Membro desde : 26/04/2014
Mensagens : 5746
Pontos : 7156

http://techmais.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 27.06.15 18:28

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.
TreiMark
TreiMark
***

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por RafaelS. 27.06.15 18:34

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
RafaelS.
Membro Entusiasta

Membro desde : 26/04/2014
Mensagens : 5746
Pontos : 7156

http://techmais.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por TreiMark 27.06.15 18:53

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

Agora, se possível me dê um auxílio neste outro tópico: https://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
TreiMark
TreiMark
***

Membro desde : 12/06/2015
Mensagens : 170
Pontos : 214

http://promec.forumeiros.com/

Ir para o topo Ir para baixo

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

Mensagem por RafaelS. 27.06.15 19:30

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
RafaelS.
Membro Entusiasta

Membro desde : 26/04/2014
Mensagens : 5746
Pontos : 7156

http://techmais.forumeiros.com/

Ir para o topo Ir para baixo

Ir para o topo


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