Personalizar sistema de votação com Like como Fórum dos Fóruns
5 participantes
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Personalizar sistema de votação com Like como Fórum dos Fóruns
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.
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.
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Olá, crie um novo JavaScript com investimento nos tópicos:
E adicione a sua CSS também:
Até!
- 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é!
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
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!
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!
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Olá caro @Admim_Forum,
por favor aceda a seu fórum em: Painel de Controle Módulos HTML & JavaScript 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 Imagens e Cores Cores Folha de estilo CSS e cole o segundo código. Salve.
Até mais!
por favor aceda a seu fórum em: Painel de Controle Módulos HTML & JavaScript 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 Imagens e Cores Cores Folha de estilo CSS e cole o segundo código. Salve.
Até mais!
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
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é!
Enfim, faça o que o amigo disse acima!
Até!
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
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?
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 17:14, editado 1 vez(es)
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
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.
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.
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
@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?
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
@zSuYaNw e @VitorC. é possível alterar o código para que apareça este botão "like" da imagem?
Desde já obrigado!
Desde já obrigado!
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Adicione ao seu CSS:
Até mais.
- 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.
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
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.
Não funcionou. Continua do mesmo jeito.
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Olá!
Adicione mais este código JavaScript:
Atenciosamente,
iChees
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
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
@iChees o código não funcionou. O ícone continua um quadrado.
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Olá,
Adicione a sua CSS:
Visualização Imagens e Cores Cores Folha de estilo CSS e cole o segundo código.
Até!
- 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 Imagens e Cores Cores Folha de estilo CSS e cole o segundo código.
Até!
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
@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:
Então pode optar pelo troféu ou pelo "like".
Aguardo sua ajuda
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
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Olá amigo,
Necessito da URL de seu fórum!
Até!
Necessito da URL de seu fórum!
Até!
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Bom dia!
Acesse Painel de Controle >> Visualização >> Templates >> Geral >> overall_header e lá, procure por:
Atenciosamente,
Shek
Acesse Painel de Controle >> Visualização >> Templates >> Geral >> overall_header e lá, procure por:
- Código:
{META}
- Código:
<link rel=stylesheet href=//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css>
Atenciosamente,
Shek
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
zSuYaNw escreveu:Olá amigo,
Necessito da URL de seu fórum!
Até!
A url de meu fórum é: http://olimpiadaenem.forumeiros.com/
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Shek escreveu:Bom dia!
Acesse Painel de Controle >> Visualização >> Templates >> Geral >> overall_header e lá, procure por:Ao encontrá-la, basta adicionar abaixo:
- Código:
{META}
Salve e publique o template. Em seguida, pressione o Ctrl + F5 após a aplicação em seu tópico.
- Código:
<link rel=stylesheet href=//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css>
Atenciosamente,
Shek
Funcionou @Shek, Obrigado!
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
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?
É possível fazer com que este botão fique visível apenas para moderadores?
Ou ainda, que apenas os moderadores possam "curtir" uma mensagem?
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
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:
Atenciosamente,
iChees
É 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
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
@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.
Quanto a seu código, ele não funcionou. Quando eu substituo pelo seu código os botões desaparecem para todos os membros.
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Olá novamente,
Tente este então:
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 {
}
});
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
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.
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Olá,
Ok, vamos lá,
Painel de Controle Módulos HTML & JAVASCRIPT 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.
Até!
Ok, vamos lá,
Painel de Controle Módulos HTML & JAVASCRIPT 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é!
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
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
@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
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Exatamente @iChees.
O botão está funcionando normalmente, quero agora que o botão apareça apenas para os moderadores/administradores.
O botão está funcionando normalmente, quero agora que o botão apareça apenas para os moderadores/administradores.
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Olá,
Não sei se irá funcionar, tente:
(Substitua esse código pelo meu anterior.)
Até!
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é!
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
@zSuYaNw o código fornecido não funcionou, os botões sumiram para todos os usuários (o Admin também).
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
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?
e
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é!
e
Shek escreveu:Acesse Painel de Controle >> Visualização >> Templates >> Geral >> overall_header e lá, procure por:Ao encontrá-la, basta adicionar abaixo:
- Código:
{META}
Salve e publique o template. Em seguida, pressione o Ctrl + F5 após a aplicação em seu tópico.
- Código:
<link rel=stylesheet href=//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css>
Atenciosamente,
Shek
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Olá!
Troque o JavaScript por este:
Resulta?
Abraços
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?
Abraços
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
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?
Abraços
Não funcionou, o botão desapareceu para o administrador/moderadores.
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Olá!
Acho que agora funciona ao trocar por este:
Abraços
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
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
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!
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!
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
Re: Personalizar sistema de votação com Like como Fórum dos Fóruns
Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada. Tópico marcado como Resolvido e movido para Questões resolvidas. |
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos