Areá do topico

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

Resolvido Areá do topico

Mensagem por proberto em 09/04/14, 10:23 pm

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


Última edição por proberto em 10/04/14, 03:42 pm, editado 1 vez(es)

proberto
Nível 9

Masculino
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374

Ver perfil do usuário http://tradebrasil.umforum.net/

Resolvido Re: Areá do topico

Mensagem por Kyo Panda em 09/04/14, 11:32 pm

Olá,

Pode nos passar o link do fórum onde viu isso?

Abraços. Feliz
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

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

Resolvido Re: Areá do topico

Mensagem por proberto em 09/04/14, 11:46 pm

Xtibia.com

Tipo eu queria bota ali tbm aonde tem o nome igual aquela barra ae

proberto
Nível 9

Masculino
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374

Ver perfil do usuário http://tradebrasil.umforum.net/

Resolvido Re: Areá do topico

Mensagem por Kyo Panda em 10/04/14, 12:06 am

Adicione isso a um novo Javascript com Investimento em Tópicos:

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. Feliz
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

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

Resolvido Re: Areá do topico

Mensagem por proberto em 10/04/14, 12:11 am

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



proberto
Nível 9

Masculino
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374

Ver perfil do usuário http://tradebrasil.umforum.net/

Resolvido Re: Areá do topico

Mensagem por proberto em 10/04/14, 12:12 am

Amigo e a imagen não esta aparecendo agora que atualizo aqui

proberto
Nível 9

Masculino
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374

Ver perfil do usuário http://tradebrasil.umforum.net/

Resolvido Re: Areá do topico

Mensagem por Kyo Panda em 10/04/14, 09:34 am

Então, quanto a bolinha, troque o Javascript por esse:

$(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. Triste

E de que imagem você está falando?
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

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

Resolvido Re: Areá do topico

Mensagem por JScript em 10/04/14, 09:43 am

@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. Triste
Tem essa possibilidade sim amigo, veja um print de um tópico em meu fórum:


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...)
avatar

JScript
Membro do Fórum

Masculino
Inscrito dia : 14/03/2013
Mensagens : 1449
Pontos Ativos : 1900

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

Resolvido Re: Areá do topico

Mensagem por Kyo Panda em 10/04/14, 10:14 am

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. Feliz
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

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

Resolvido Re: Areá do topico

Mensagem por JScript em 10/04/14, 10:27 am

@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):
Código:
jQuery('.post').length;

Lembre-se: Quanto mais requisições com um curto intervalo entre elas é igual a Request Limit!

JS
avatar

JScript
Membro do Fórum

Masculino
Inscrito dia : 14/03/2013
Mensagens : 1449
Pontos Ativos : 1900

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

Resolvido Re: Areá do topico

Mensagem por proberto em 10/04/14, 10:29 am

Jscript eu não entendi como que instala isso

proberto
Nível 9

Masculino
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374

Ver perfil do usuário http://tradebrasil.umforum.net/

Resolvido Re: Areá do topico

Mensagem por JScript em 10/04/14, 10:31 am

@proberto escreveu:Jscript eu não entendi como que instala isso
Nem tente ainda pois estou analisando com o @Kyo Panda, leia: http://ajuda.forumeiros.com/t91217-area-do-topico#619716

JS
avatar

JScript
Membro do Fórum

Masculino
Inscrito dia : 14/03/2013
Mensagens : 1449
Pontos Ativos : 1900

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

Resolvido Re: Areá do topico

Mensagem por Kyo Panda em 10/04/14, 10:39 am

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. Triste
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

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

Resolvido Re: Areá do topico

Mensagem por JScript em 10/04/14, 11:23 am

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

JScript
Membro do Fórum

Masculino
Inscrito dia : 14/03/2013
Mensagens : 1449
Pontos Ativos : 1900

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

Resolvido Re: Areá do topico

Mensagem por Kyo Panda em 10/04/14, 11:48 am

Este é o ponto. Triste

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á?
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

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

Resolvido Re: Areá do topico

Mensagem por proberto em 10/04/14, 12:30 pm

SS faz um ae que tipo seja igual ou algo assim. O que vocês fazer ta otimo...

proberto
Nível 9

Masculino
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374

Ver perfil do usuário http://tradebrasil.umforum.net/

Resolvido Re: Areá do topico

Mensagem por proberto em 10/04/14, 12:42 pm

Cara e agora que eu percebi a Imagem de perfil não esta aparecendo...

proberto
Nível 9

Masculino
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374

Ver perfil do usuário http://tradebrasil.umforum.net/

Resolvido Re: Areá do topico

Mensagem por Daemon em 10/04/14, 01:14 pm

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;

  }
});
Depois em seu css adicione:
Código:
#n-post {float: right;font-size: 1.2em;font-weight: normal;}
Feliz'
avatar

Daemon
Membro do Fórum

Masculino
Inscrito dia : 01/03/2012
Mensagens : 1096
Pontos Ativos : 1688

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

Resolvido Re: Areá do topico

Mensagem por Kyo Panda em 10/04/14, 01:40 pm

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. Feliz

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. Feliz
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

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

Resolvido Re: Areá do topico

Mensagem por Hancki em 10/04/14, 01:46 pm

Olá!

Kyo, ele realmente parece funcionar, aqui teve resultado, mas veja como ficam os nomes: http://prntscr.com/38qo06
É normal?

Hancki
avatar

Hancki
Principal contribuidor
Principal contribuidor

Masculino
Inscrito dia : 03/10/2009
Mensagens : 8047
Pontos Ativos : 12032

Ver perfil do usuário http://programacaoweb.forumeiros.com/ https://www.facebook.com/djtomoficial https://www.facebook.com/djtomoficial

Resolvido Re: Areá do topico

Mensagem por Kyo Panda em 10/04/14, 01:49 pm

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. Feliz
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

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

Resolvido Re: Areá do topico

Mensagem por Daemon em 10/04/14, 02:23 pm

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>');
 });
}
});
E adicionar ao css:
Código:
.countpost:after {
  content: ' respostas neste tópico';
}
:/'
avatar

Daemon
Membro do Fórum

Masculino
Inscrito dia : 01/03/2012
Mensagens : 1096
Pontos Ativos : 1688

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

Resolvido Re: Areá do topico

Mensagem por Kyo Panda em 10/04/14, 02:37 pm

Mas Daemon, aqui:

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. Feliz
avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

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

Resolvido Re: Areá do topico

Mensagem por JScript em 10/04/14, 02:51 pm

avatar

JScript
Membro do Fórum

Masculino
Inscrito dia : 14/03/2013
Mensagens : 1449
Pontos Ativos : 1900

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

Resolvido Re: Areá do topico

Mensagem por Daemon em 10/04/14, 02:56 pm

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>');
 });
}
});
Para PunBB claro.
avatar

Daemon
Membro do Fórum

Masculino
Inscrito dia : 01/03/2012
Mensagens : 1096
Pontos Ativos : 1688

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

Resolvido Re: Areá do topico

Mensagem por proberto em 10/04/14, 03:39 pm

Ai eu te pergunto. Qual script eu uso KKKKK tem um monte....

proberto
Nível 9

Masculino
Inscrito dia : 21/09/2012
Mensagens : 223
Pontos Ativos : 374

Ver perfil do usuário http://tradebrasil.umforum.net/

Resolvido Re: Areá do topico

Mensagem por Kyo Panda em 10/04/14, 03:41 pm

avatar

Kyo Panda
Super usuário

Masculino
Inscrito dia : 08/01/2012
Mensagens : 4638
Pontos Ativos : 5914

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

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

- Tópicos similares

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