Areá do topico
Fórum dos Fóruns :: Atendimento ao Usuário Forumeiros :: Questões sobre códigos :: Questões resolvidas sobre HTML & BBCode
Página 1 de 1 • Compartilhe •
Areá do topico
Qual é minha questão:
Eu queria tipo quando a pessoa criar um Topico deixa ela assim Olha.
Tipo eu queria bota issu.

Aqui aonde ta essas 2 Flechas
Endereço do meu fórum:
http://supportibia.alianceforum.com
Versão do fórum:
PHPBB3
Eu queria tipo quando a pessoa criar um Topico deixa ela assim Olha.
Tipo eu queria bota issu.

Aqui aonde ta essas 2 Flechas

Endereço do meu fórum:
http://supportibia.alianceforum.com
Versão do fórum:
PHPBB3
Última edição por proberto em 10/04/14, 03:42 pm, editado 1 vez(es)
proberto- Nível 9
-
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374
Re: Areá do topico
Olá,
Pode nos passar o link do fórum onde viu isso?
Abraços.
Pode nos passar o link do fórum onde viu isso?
Abraços.

Kyo Panda- Super usuário
-
Inscrito dia : 08/01/2012
Mensagens : 4640
Pontos Ativos : 5925
Re: Areá do topico
Xtibia.com
Tipo eu queria bota ali tbm aonde tem o nome igual aquela barra ae
Tipo eu queria bota ali tbm aonde tem o nome igual aquela barra ae
proberto- Nível 9
-
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374
Re: Areá do topico
Adicione isso a um novo Javascript com Investimento em Tópicos:
E isso ao seu CSS:
Abraços.
- Código:
$(function() {
$('.post .postprofile strong a').each(function(key, element) {
var self;
self = $(element);
self.closest('.post').before('<div class="post-author">' + self.parent().get(0).outerHTML + '</div>');
self.closest('dt').remove();
});
});
E isso ao seu CSS:
- Código:
.post-author {
background: #262626 url('http://www.xtibia.com/forum//public/style_images/marble/branding_bg.png') repeat;
text-shadow: rgba(0,0,0,0.5) 0px -1px 0px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
-webkit-box-shadow: inset #000 0px 1px 3px;
-moz-box-shadow: inset #000 0px 1px 3px;
box-shadow: inset #000 0px 1px 3px;
padding: 0 10px;
height: 36px;
line-height: 36px;
font-weight: normal;
font-size: 13px;
}
.post-author a {
color: #fff;
font-size: 13px;
font-weight: normal;
}
Abraços.

Kyo Panda- Super usuário
-
Inscrito dia : 08/01/2012
Mensagens : 4640
Pontos Ativos : 5925
Re: Areá do topico
Cara eu te amo. Mais tipo na frente do nome sera que tem como bota 1 bola Verde fala que ta online e cinza fala que ta off.
2 Não tem como bota essa barra azul com o tanto de mensagens que tem no tópico.
essa barra

2 Não tem como bota essa barra azul com o tanto de mensagens que tem no tópico.
essa barra

proberto- Nível 9
-
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374
Re: Areá do topico
Amigo e a imagen não esta aparecendo agora que atualizo aqui
proberto- Nível 9
-
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374
Re: Areá do topico
Então, quanto a bolinha, troque o Javascript por esse:
Quanto a barra azul com a contagem não há como. O Forumeiros não exibe na tela o número de posts no tópico, logo para conseguir esse número, teria que carregar outra página, o que podia fazer o carregamento do tópico ficar lento. Malz.
E de que imagem você está falando?
$(function() {
$('.post .postprofile strong a').each(function(key, element) {
var self, post;
self = $(element);
post = self.closest('.post');
post.before('<div class="post-author"><img src="http://www.xtibia.com/forum//public/style_images/marble/post_' + (post.hasClass('online') ? 'on' : 'off') + 'line.png" /> ' + self.parent().get(0).outerHTML + '</div>');
self.closest('dt').remove();
});
});
Quanto a barra azul com a contagem não há como. O Forumeiros não exibe na tela o número de posts no tópico, logo para conseguir esse número, teria que carregar outra página, o que podia fazer o carregamento do tópico ficar lento. Malz.

E de que imagem você está falando?
Kyo Panda- Super usuário
-
Inscrito dia : 08/01/2012
Mensagens : 4640
Pontos Ativos : 5925
Re: Areá do topico
Tem essa possibilidade sim amigo, veja um print de um tópico em meu fórum:@Kyo Panda escreveu:Quanto a barra azul com a contagem não há como. O Forumeiros não exibe na tela o número de posts no tópico, logo para conseguir esse número, teria que carregar outra página, o que podia fazer o carregamento do tópico ficar lento. Malz.

Vou lhe dar uma dica: Basta somar quantas mensagens tem e subtrair uma, feito isso é só mostrar na "barra azul"...
Edit:
Aqui está os códigos que utilizo:
HTML:
- Código:
<!-- #region: Adds the number of replies to the topic bar -->
<font style='font-size: 12px; font-family: Arial;'><span itemprop="count_post"></span> respostas neste tópico</font>
<!-- #endregion: Adds the number of replies to the topic bar -->
JavaScript:
- Código:
var amount = $('span.count-post:last').html() - 1;
$('span[itemprop="count_post"]').html(amount);
JS
Última edição por JScript em 10/04/14, 09:44 am, editado 1 vez(es) (Razão : + infos...)
JScript- Membro do Fórum
-
Inscrito dia : 14/03/2013
Mensagens : 1449
Pontos Ativos : 1901
Re: Areá do topico
Duas perguntas, JS:
1) Quando diz somar a quantidade de mensagens que tem, diz somar as mensagens no tópico atual, correto? Mas eu não tenho como detectar qual o número de mensagens no último tópico, o que pode tornar o número incerto. Logo, como contornar isso? (Claro, sem carregarmos uma nova página, pois se for necessário, é mais fácil puxar a da listagem de tópicos).
2) No script, você puxa a quantidade de posts de um elemento que possui essa quantidade, o span.count-post:last, mas não sei ao certo se esse elemento existe no PHPBB3. Você sabe se existe? Pois não conseguiríamos alterar o layout no PHPBB3.
Abraços.
1) Quando diz somar a quantidade de mensagens que tem, diz somar as mensagens no tópico atual, correto? Mas eu não tenho como detectar qual o número de mensagens no último tópico, o que pode tornar o número incerto. Logo, como contornar isso? (Claro, sem carregarmos uma nova página, pois se for necessário, é mais fácil puxar a da listagem de tópicos).
2) No script, você puxa a quantidade de posts de um elemento que possui essa quantidade, o span.count-post:last, mas não sei ao certo se esse elemento existe no PHPBB3. Você sabe se existe? Pois não conseguiríamos alterar o layout no PHPBB3.
Abraços.

Kyo Panda- Super usuário
-
Inscrito dia : 08/01/2012
Mensagens : 4640
Pontos Ativos : 5925
Re: Areá do topico
@Kyo Panda
Não precisa tanto, para não fazer uma requisição só para ter o número de respostas, basta saber quantas tem na página atual mesmo!
Experimente em PHPBB3 (console):
Lembre-se: Quanto mais requisições com um curto intervalo entre elas é igual a Request Limit!
JS
Não precisa tanto, para não fazer uma requisição só para ter o número de respostas, basta saber quantas tem na página atual mesmo!
Experimente em PHPBB3 (console):
- Código:
jQuery('.post').length;
Lembre-se: Quanto mais requisições com um curto intervalo entre elas é igual a Request Limit!
JS
JScript- Membro do Fórum
-
Inscrito dia : 14/03/2013
Mensagens : 1449
Pontos Ativos : 1901
Re: Areá do topico
Jscript eu não entendi como que instala isso
proberto- Nível 9
-
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374
Re: Areá do topico
Nem tente ainda pois estou analisando com o @Kyo Panda, leia: http://ajuda.forumeiros.com/t91217-area-do-topico#619716@proberto escreveu:Jscript eu não entendi como que instala isso
JS
JScript- Membro do Fórum
-
Inscrito dia : 14/03/2013
Mensagens : 1449
Pontos Ativos : 1901
Re: Areá do topico
Então, até aí eu compreendo. Mas há algumas variáveis que influenciam.
Nós devemos calcular o número de mensagens que há no tópico, incluindo todas as páginas. Contando o número de posts nesse tópico, sabemos qual é o número de mensagens por tópico definido pelo usuário, se o tópico possuir paginação. Se não possuir, temos o número exato.
Mas aí entramos num problema. Supomos que o usuário não mexeu na quantidade de mensagens por página e possuímos o padrão de 15 mensagens, o jQuery('.post').length retornaria 15, se o $('#main-content > .pagination:first span a').eq(-2).text() retornasse um valor (indicando que há mais de uma página). Nessa linha de raciocínio, se possuíssemos 3 páginas, poderíamos ter até 45 mensagens no tópico. O problema é que a terceira página pode ter 15 ou menos mensagens e não teríamos como ter certeza desse número.
Isso que está complicado.
Nós devemos calcular o número de mensagens que há no tópico, incluindo todas as páginas. Contando o número de posts nesse tópico, sabemos qual é o número de mensagens por tópico definido pelo usuário, se o tópico possuir paginação. Se não possuir, temos o número exato.
Mas aí entramos num problema. Supomos que o usuário não mexeu na quantidade de mensagens por página e possuímos o padrão de 15 mensagens, o jQuery('.post').length retornaria 15, se o $('#main-content > .pagination:first span a').eq(-2).text() retornasse um valor (indicando que há mais de uma página). Nessa linha de raciocínio, se possuíssemos 3 páginas, poderíamos ter até 45 mensagens no tópico. O problema é que a terceira página pode ter 15 ou menos mensagens e não teríamos como ter certeza desse número.
Isso que está complicado.

Kyo Panda- Super usuário
-
Inscrito dia : 08/01/2012
Mensagens : 4640
Pontos Ativos : 5925
Re: Areá do topico
@Kyo Panda
Chegou ao ponto que eu queria: Se desejar ter precisão no número de respostas, terá que fazer no mínimo uma requisição!
JS
Chegou ao ponto que eu queria: Se desejar ter precisão no número de respostas, terá que fazer no mínimo uma requisição!
JS
JScript- Membro do Fórum
-
Inscrito dia : 14/03/2013
Mensagens : 1449
Pontos Ativos : 1901
Re: Areá do topico
Este é o ponto. 
Então proberto, eu posso até criar um script para tal, mas acho um pouco pesado demais para seus usuários, por uma informação não determinante. Ou podemos colocar um número aproximado. O que será?

Então proberto, eu posso até criar um script para tal, mas acho um pouco pesado demais para seus usuários, por uma informação não determinante. Ou podemos colocar um número aproximado. O que será?
Kyo Panda- Super usuário
-
Inscrito dia : 08/01/2012
Mensagens : 4640
Pontos Ativos : 5925
Re: Areá do topico
SS faz um ae que tipo seja igual ou algo assim. O que vocês fazer ta otimo...
proberto- Nível 9
-
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374
Re: Areá do topico
Cara e agora que eu percebi a Imagem de perfil não esta aparecendo...
proberto- Nível 9
-
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374
Re: Areá do topico
O que você quer fazer? Numerar seus posts? Se for crie um JS com investimento nos tópicos e adicione:
'
- Código:
$(function() {
var postspagina = 5; //Número de posts por página.
var pagina = document.title.match(/-\sPage\s(\d+)$/), pagina = pagina ? pagina[1] : 1;
var posts = $('.postprofile', document.getElementById('main-content')), numero = (pagina - 1) * postspagina;
for(var i = 0; i < postspagina; i++) {
if(!posts[i]) break;
var link = posts[i].previousSibling.getElementsByTagName('h2')[0].getElementsByTagName('a')[0].href;
posts[i].innerHTML = '<span id="n-post"><a href="' + link + '">#' + ++numero + '</a></span>' + posts[i].innerHTML;
}
});
- Código:
#n-post {float: right;font-size: 1.2em;font-weight: normal;}

Daemon- Membro do Fórum
-
Inscrito dia : 01/03/2012
Mensagens : 1096
Pontos Ativos : 1689
Re: Areá do topico
Nyeh, Daemon, não é bem isso. Estávamos discutindo a melhor maneira de se adicionar uma contagem com a soma de respostas no tópico. 
Proberto, quanto ao avatar, erro meu. E quanto ao número, vamos ficar com o valor aproximado para deixar o site mais rápido para os usuários, tudo bem?
Troque o script por esse:
E adicione isso ao seu CSS:
Abraços.

Proberto, quanto ao avatar, erro meu. E quanto ao número, vamos ficar com o valor aproximado para deixar o site mais rápido para os usuários, tudo bem?
Troque o script por esse:
- Código:
$(function() {
var last, count, message;
last = parseInt(/Página\s\d+\sde\s(\d+)/g.exec($('.pagination:first').text())[1]);
count = $('.post').length - 1;
if (last !== 1) {
count = (count + 1) * (last - 1);
message = 'Mais de ' + count + ' respostas neste tópico';
} else {
message = count + ' resposta' + (count > 1 ? 's' : '') + ' neste tópico'
}
$('.post:first').before('<div class="post-count">' + message + '</div>');
$('.post .postprofile strong a').each(function(key, element) {
var self, post;
self = $(element);
post = self.closest('.post');
post.before('<div class="post-author"><img src="http://www.xtibia.com/forum//public/style_images/marble/post_' + (post.hasClass('online') ? 'on' : 'off') + 'line.png" /> ' + self.parent().get(0).outerHTML + '</div>');
self.parent().next().remove();
self.parent().remove();
});
});
E adicione isso ao seu CSS:
- Código:
.post-count {
background: #2F558B url("http://www.xtibia.com/forum//public/style_images/marble/noise.png") repeat;
color: #fff;
text-shadow: rgba(0,0,0,0.25) 0px -1px 0px;
padding: 12px;
font-size: 14px;
font-weight: 300;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
-webkit-box-shadow: inset #778594 0px 1px 3px;
-moz-box-shadow: inset #778594 0px 1px 3px;
box-shadow: inset #778594 0px 1px 3px;
overflow: hidden;
margin-bottom: 2px;
font-size: 11px;
}
Abraços.

Kyo Panda- Super usuário
-
Inscrito dia : 08/01/2012
Mensagens : 4640
Pontos Ativos : 5925
Re: Areá do topico
Olá!
Kyo, ele realmente parece funcionar, aqui teve resultado, mas veja como ficam os nomes: http://prntscr.com/38qo06
É normal?
Hancki
Kyo, ele realmente parece funcionar, aqui teve resultado, mas veja como ficam os nomes: http://prntscr.com/38qo06
É normal?
Hancki
Hancki- Ex-Admineiro
-
Inscrito dia : 03/10/2009
Mensagens : 8070
Pontos Ativos : 12062
Re: Areá do topico
Sim, segue o padrão do fórum passado: http://www.xtibia.com/forum/topic/180827-2-conteudo/
Eles mantém o nome em cima e não o repetem no avatar.
Eles mantém o nome em cima e não o repetem no avatar.

Kyo Panda- Super usuário
-
Inscrito dia : 08/01/2012
Mensagens : 4640
Pontos Ativos : 5925
Re: Areá do topico
Se fosse PunBB facilitaria bastante, era só criar um Script com:
- Código:
$(function(){
var p = $('.main-head p.h2')[0];
var paging = $('p.paging');
var nf = $('.posthead').last().find('h2 strong').text().match(/\d+/g)-1;
var link = $('p.paging').find('img[alt="Seguinte"]').closest('a').attr('href');
if(!paging) {
$(p).replaceWith('<span class="countpost">'+nf+'</span>');
}else if(paging) {
$.get(link, function(data) {
var nl = $('.posthead', data).last().find('h2 strong').text().match(/\d+/g)-1;
$(p).replaceWith('<span class="countpost">'+nl+'</span>');
});
}
});
- Código:
.countpost:after {
content: ' respostas neste tópico';
}
Daemon- Membro do Fórum
-
Inscrito dia : 01/03/2012
Mensagens : 1096
Pontos Ativos : 1689
Re: Areá do topico
Mas Daemon, aqui:
Ele só pegaria o número da última postagem da página, ao invés de pegar a quantidade de respostas do tópico, não?
Veja:
http://ajuda-punbb.forumeiros.com/t6-cancao-katyusha
Este tópico possui 16 respostas, mas se executar o script nessa página, conseguiríamos apenas 14. Esse foi o ponto em que chegamos. Tive que calcular o número de páginas para chegar a um número aproximado, como Mais de 15 respostas, pois não sei quantas respostas há na segunda página.
- Código:
$('.posthead').last().find('h2 strong').text().match(/\d+/g) - 1;
Ele só pegaria o número da última postagem da página, ao invés de pegar a quantidade de respostas do tópico, não?
Veja:
http://ajuda-punbb.forumeiros.com/t6-cancao-katyusha
Este tópico possui 16 respostas, mas se executar o script nessa página, conseguiríamos apenas 14. Esse foi o ponto em que chegamos. Tive que calcular o número de páginas para chegar a um número aproximado, como Mais de 15 respostas, pois não sei quantas respostas há na segunda página.

Kyo Panda- Super usuário
-
Inscrito dia : 08/01/2012
Mensagens : 4640
Pontos Ativos : 5925
Re: Areá do topico
@Daemon.H
Veja:
http://ajuda.forumeiros.com/t91217-area-do-topico#619742
http://ajuda.forumeiros.com/t91217-area-do-topico#619753
Precisa ler o tópico na íntegra para entender...
JS
Veja:
http://ajuda.forumeiros.com/t91217-area-do-topico#619742
http://ajuda.forumeiros.com/t91217-area-do-topico#619753
Precisa ler o tópico na íntegra para entender...
JS
JScript- Membro do Fórum
-
Inscrito dia : 14/03/2013
Mensagens : 1449
Pontos Ativos : 1901
Re: Areá do topico
Creio que este sim é o certo:
- Código:
$(function(){
var p = $('.main-head p.h2')[0];
var paging = $('p.paging');
var nf = $('.posthead').last().find('h2 strong').text().match(/\d+/g)-1;
var link = $('p.paging').not('img').find('a:last').attr('href');
if(!paging) {
$(p).replaceWith('<span class="countpost">'+nf+'</span>');
}else if(paging) {
$.get(link, function(data) {
var nl = $('.posthead:last', data).find('h2 strong').text().match(/\d+/g)-1;
$(p).replaceWith('<span class="countpost">'+nl+'</span>');
});
}
});
Daemon- Membro do Fórum
-
Inscrito dia : 01/03/2012
Mensagens : 1096
Pontos Ativos : 1689
Re: Areá do topico
Ai eu te pergunto. Qual script eu uso KKKKK tem um monte....
proberto- Nível 9
-
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374
Kyo Panda- Super usuário
-
Inscrito dia : 08/01/2012
Mensagens : 4640
Pontos Ativos : 5925
Fórum dos Fóruns :: Atendimento ao Usuário Forumeiros :: Questões sobre códigos :: Questões resolvidas sobre HTML & BBCode
Página 1 de 1
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum