Como sincronizar a contagem de visualizações do tópico com o discourse?

Olá a todos,

Construí um VUE SPA com a API do Discourse para usar no WordPress e estava me perguntando se há alguma maneira de enviar uma solicitação POST para atualizar a contagem de visualizações do Tópico no Discourse quando o usuário abrir o Tópico no WordPress?

2 curtidas

Olá Alex,

Estou curioso para saber um pouco mais sobre isso. Algo que você possa compartilhar?

Visualizar posts puxados pelo plugin WP Discourse não cria novas visualizações no Discourse, no entanto, se você usar o endpoint show padrão no topics_controller e passar a verificação destacada abaixo, a “visualização” será rastreada. Observe que o uso de uma chave de API significará que há um current_user.

Observação

Um detalhe a notar ao ler esse código é que TopicView não é realmente o droide que você procura (é um modelo que lida com os dados serializados quando um tópico é exibido). O modelo real de “visualização de tópico” é TopicViewItem.

3 curtidas

Olá @angus,

Obrigado pela sua visão. Vou investigar a base de código para visualizações de tópicos.

Em relação ao aplicativo SPA:

Originalmente, tínhamos um plugin de fórum no Wordpress, que criava seu próprio tipo de postagem para perguntas e respostas, bem como categorias e tags. Ao configurar o SSO com o plugin WP Discourse, ativei Webhooks no discourse para sincronizar tópicos com o Wordpress com esse tipo de postagem e, usando a incorporação para respostas.

Neste ponto, o frontend do fórum é sem graça, pois cada item de pergunta depende de seus dados do WP, mostrando apenas título e autor, e eu gostaria de mostrar também os pôsteres, visualizações, curtidas e status de respostas. Não fez sentido para mim modificar esse plugin.

Com um SPA, buscar e exibir dados seria muito mais rápido e flexível. Ele mostra os tópicos mais recentes paginados e uma barra lateral com os principais tópicos, incluindo capacidade de filtragem/pesquisa.

Originalmente, na visualização de detalhes do tópico, eu queria lidar com a exibição das respostas/comentários também. Por algum motivo, as respostas incorporadas estavam mostrando o nome de usuário dos pôsteres em vez do nome completo.

Também encontrei problemas com emojis e outros ativos que são relativos ao site do discourse, então voltei a usar incorporações.

Outro problema foi o SEO, consegui lidar com isso com o hook wp_head no WordPress.

1 curtida