Como alterar a ordem dos Tópicos ?
Como alterar a ordem dos Tópicos ?
Criei uma categoria chamada "DICAS DO FÓRUM", na página principal do FÓRUM, e nela um fórum com o título "COMO UTILIZAR O FÓRUM". Dentro dele, fui criando aleatóriamente, conforme ia lembrando, vários TÓPICOS como por exemplo: "Como criar um tópico", "Acabei de me registra. O que faço agora ?", "Notificação de resposta", e assim por diante, com a finalidade de explicar aos novos usuários como utilizar o FÓRUM, só que agora eu percebi que tem TÓPICOS mais importantes que ficaram no final.
Por isso, quero saber se há uma forma de organizar os tópicos, como Administrador, colocando-os na posição que eu quiser, semelhante à organização dos SUB-FÓRUNS pelo ACP, onde se utiliza umas "setas azuis"(no prosilver) para mexer o SUB-FÓRUM para cima ou para baixo, dentro do FÓRUM o qual ele pertence.
Vi 2 MOD's que fazem algo parecido mas pelo que entendi eles só alteram a ordem dos TÓPICOS para visualização, inclusive para os usuários, como podem ver nos links abaixo:
1- http://www.phpbb.com/customise/db/mod/forum_sort_order
2- http://www.phpbbhacks.com/download/1225
O que eu quero é que somente o Administrador consiga alterar a posição dos TÓPICOS dentro de um FÓRUM ou SUB-FÓRUM.
Tentei pelo banco de dados, SQL, mas não vi nenhuma referência quanto a posição dos TÓPICOS dentro de um FÓRUM que pudesse alterá-las e assim mexer na posição dos TÓPICOS.
Alguém teria uma solução para isso ?
Obrigado. :|
Por isso, quero saber se há uma forma de organizar os tópicos, como Administrador, colocando-os na posição que eu quiser, semelhante à organização dos SUB-FÓRUNS pelo ACP, onde se utiliza umas "setas azuis"(no prosilver) para mexer o SUB-FÓRUM para cima ou para baixo, dentro do FÓRUM o qual ele pertence.
Vi 2 MOD's que fazem algo parecido mas pelo que entendi eles só alteram a ordem dos TÓPICOS para visualização, inclusive para os usuários, como podem ver nos links abaixo:
1- http://www.phpbb.com/customise/db/mod/forum_sort_order
2- http://www.phpbbhacks.com/download/1225
O que eu quero é que somente o Administrador consiga alterar a posição dos TÓPICOS dentro de um FÓRUM ou SUB-FÓRUM.
Tentei pelo banco de dados, SQL, mas não vi nenhuma referência quanto a posição dos TÓPICOS dentro de um FÓRUM que pudesse alterá-las e assim mexer na posição dos TÓPICOS.
Alguém teria uma solução para isso ?
Obrigado. :|
- UnionHost
- Membro Intermediá¡rio

- Mensagens: 564
- Registrado em: 10 Dez 2004, 08:35
- Nome Real: Edson
- Localização: Jequié - Bahia
- Contato:
Re: Como alterar a ordem dos Tópicos ?
existe uma modificação de nome: Sort Topics Alphabetically - v1.0.4
veja se atende a necessidade ae: download aqui!
veja se atende a necessidade ae: download aqui!
Tudo posso naquele que me fortalece
Re: Como alterar a ordem dos Tópicos ?
Ok, Hostguardian.HostGuardian escreveu:existe uma modificação de nome: Sort Topics Alphabetically - v1.0.4
veja se atende a necessidade ae: download aqui!
Vou tentar e depois eu posto a resposta aqui.
Obrigado.
[DICA] Antes de abrir um Novo Tópico, procure saber se a sua dúvida já foi respondida. Pesquise no Google por palavras(em inglês também) relacionadas à ela, somado à palavra "phpbb".
Re: Como alterar a ordem dos Tópicos ?
HostGuardian.
Fiz a devida instalação e este MOD faz exatamente a mesma coisa que os outros 2 MOD's dos links que postei, ou seja, ele dá mais opções de ordenar a visualização pessoal dos TÓPICOS e não alterar a ordem real dos TÓPICOS no FÓRUM, de forma que a alteração seja fixada para todos os usuários. Vou exemplificar:
FÓRUM: Como utilizar o FÓRUM
TÓPICOS DESTE FÓRUM:
ACABEI DE ME REGISTRAR. O QUE FAÇO AGORA ?
COMO CRIAR UM TÓPICO ?
QUANDO DEVO CRIAR UM TÓPICO ?
SIGA UM FÓRUM OU UM TÓPICO
NOTIFICAÇÃO DE RESPOSTA
Todos, ao entrarem no FÓRUM Como utilizar o FÓRUM, verão os TÓPICOS na ordem mostrada acima, por data de postagem automaticamente. Certo ?
Os usuários registrados, ao logarem e ao entrarem neste mesmo FÓRUM, têm a opção de ordenar os TÓPICOS por Autor, Data, Respostas, Título, Exibições, e ainda de forma Decrescente ou Crescente. Esta opção de alterar a ordem dos TÓPICOS é aplicada somente para o próprio usuário que está ordenando-os da maneira que acha melhor para visualizá-los.
O que eu procuro é uma forma, como Administrador, de colocar os TÓPICOS na ordem que eu quiser, sem ser por Data, Título, etc... algo como "arrastar e soltar" o TÓPICO para a linha de cima ou de baixo, ou então semelhante à organização dos SUB-FÓRUNS pelo ACP, onde se utiliza umas "setas azuis"(no prosilver) para mexer o SUB-FÓRUM para cima ou para baixo, dentro do FÓRUM o qual ele pertence, e estes ficarão na ordem que o Administrador colocá-los para a visualização de TODOS, tanto para visitantes como para os usuários registrados.
Usando o nosso exemplo do início, como Administrador eu poderia mexer na ordem dos TÓPICOS no FÓRUM Como utilizar o FÓRUM deixando-os visíveis à TODOS desta forma:
ACABEI DE ME REGISTRAR. O QUE FAÇO AGORA ?
NOTIFICAÇÃO DE RESPOSTA
SIGA UM FÓRUM OU UM TÓPICO
QUANDO DEVO CRIAR UM TÓPICO ?
COMO CRIAR UM TÓPICO ?
Independente da data de postagem, do título, ou de qualquer regra de ordenar a visualização pessoal.
Acho que agora eu consegui explicar melhor o que procuro.
Obrigado pela atenção.
Fiz a devida instalação e este MOD faz exatamente a mesma coisa que os outros 2 MOD's dos links que postei, ou seja, ele dá mais opções de ordenar a visualização pessoal dos TÓPICOS e não alterar a ordem real dos TÓPICOS no FÓRUM, de forma que a alteração seja fixada para todos os usuários. Vou exemplificar:
FÓRUM: Como utilizar o FÓRUM
TÓPICOS DESTE FÓRUM:
ACABEI DE ME REGISTRAR. O QUE FAÇO AGORA ?
COMO CRIAR UM TÓPICO ?
QUANDO DEVO CRIAR UM TÓPICO ?
SIGA UM FÓRUM OU UM TÓPICO
NOTIFICAÇÃO DE RESPOSTA
Todos, ao entrarem no FÓRUM Como utilizar o FÓRUM, verão os TÓPICOS na ordem mostrada acima, por data de postagem automaticamente. Certo ?
Os usuários registrados, ao logarem e ao entrarem neste mesmo FÓRUM, têm a opção de ordenar os TÓPICOS por Autor, Data, Respostas, Título, Exibições, e ainda de forma Decrescente ou Crescente. Esta opção de alterar a ordem dos TÓPICOS é aplicada somente para o próprio usuário que está ordenando-os da maneira que acha melhor para visualizá-los.
O que eu procuro é uma forma, como Administrador, de colocar os TÓPICOS na ordem que eu quiser, sem ser por Data, Título, etc... algo como "arrastar e soltar" o TÓPICO para a linha de cima ou de baixo, ou então semelhante à organização dos SUB-FÓRUNS pelo ACP, onde se utiliza umas "setas azuis"(no prosilver) para mexer o SUB-FÓRUM para cima ou para baixo, dentro do FÓRUM o qual ele pertence, e estes ficarão na ordem que o Administrador colocá-los para a visualização de TODOS, tanto para visitantes como para os usuários registrados.
Usando o nosso exemplo do início, como Administrador eu poderia mexer na ordem dos TÓPICOS no FÓRUM Como utilizar o FÓRUM deixando-os visíveis à TODOS desta forma:
ACABEI DE ME REGISTRAR. O QUE FAÇO AGORA ?
NOTIFICAÇÃO DE RESPOSTA
SIGA UM FÓRUM OU UM TÓPICO
QUANDO DEVO CRIAR UM TÓPICO ?
COMO CRIAR UM TÓPICO ?
Independente da data de postagem, do título, ou de qualquer regra de ordenar a visualização pessoal.
Acho que agora eu consegui explicar melhor o que procuro.
Obrigado pela atenção.
Re: Como alterar a ordem dos Tópicos ?
Consegui resolver pelo banco de dados.
Este procedimento é para que o criador do FÓRUM possa alterar a ordem ou a posição dos TÓPICOS de forma fixa, para que todos os usuários e visitantes possam vê-los na ordem alterada. Como disse no início, fui criando os TÓPICOS de forma aleatória, conforme ia lembrando de um assunto importante, mas depois vi que uns TÓPICOS mais importantes ficaram no final e outros, menos importantes, ficaram no início.
Muitas pessoas não sabem utilizar um FÓRUM e muitas outras, com preguiça de procurar um determinado tema na pesquisa, acaba criando TÓPICOS com o mesmo assunto e o com o mesmo título. Por isso, criei um fórum para que os usuários recentes ou os visitantes possam saber os passos iniciais para utilizarem o FÓRUM de forma correta.
Vamos tomar como exemplo o que citei no Tópico anterior:
Categoria: DICAS DO FÓRUM
Fórum: COMO UTILIZAR O FÓRUM
Tópicos:
ACABEI DE ME REGISTRAR. O QUE FAÇO AGORA ?
COMO CRIAR UM TÓPICO ?
QUANDO DEVO CRIAR UM TÓPICO ?
QUAL A DIFERENÇA ENTRE FÓRUM E TÓPICO ?
SEGURANÇA
NOTIFICAÇÃO DE RESPOSTA
Utilizei o phpMyAdmin para acessar o bando de dados do FÓRUM. No menu à esquerda, cliquei no _phpb1 e na lista que abriu, cliquei no phpbb_topics. Feito isso, do lado direito do menu, apareceu a tabela com todos os TÓPICOS postados no FÓRUM. Na 1ª linha desta tabela há vários campos, com o texto em azul, que definem as informações no banco de dados. O que me interessa são apenas os campos topic_id, forum_id, topic_title, topic_time, topic_last_post_time.
No banco de dados as informações são estas:

O FÓRUM organiza os TÓPICOS pela data de postagem, ficando o mais recente sempre no início. Os campos topic_time e topic_last_post_time tem os valores iguais e são eles que datam a postagem dos TÓPICOS. O de maior valor é o TÓPICO mais recente, então, é só atribuir valores aos TÓPICOS de forma decrescente na ordem que você deseja fixá-los para que todos vejam. No meu caso, fiz assim:

Agora os TÓPICOS estão fixados nesta ordem para todos:
ACABEI DE ME REGISTRAR. O QUE FAÇO AGORA ?
QUANDO DEVO CRIAR UM TÓPICO ?
COMO CRIAR UM TÓPICO ?
QUAL A DIFERENÇA ENTRE FÓRUM E TÓPICO ?
NOTIFICAÇÃO DE RESPOSTA
SEGURANÇA
OBS.: Apenas tenha o cuidado de alterar os valores com a diferença de uma unidade para evitar conflitos.
Abraço e espero ter ajudado.
Este procedimento é para que o criador do FÓRUM possa alterar a ordem ou a posição dos TÓPICOS de forma fixa, para que todos os usuários e visitantes possam vê-los na ordem alterada. Como disse no início, fui criando os TÓPICOS de forma aleatória, conforme ia lembrando de um assunto importante, mas depois vi que uns TÓPICOS mais importantes ficaram no final e outros, menos importantes, ficaram no início.
Muitas pessoas não sabem utilizar um FÓRUM e muitas outras, com preguiça de procurar um determinado tema na pesquisa, acaba criando TÓPICOS com o mesmo assunto e o com o mesmo título. Por isso, criei um fórum para que os usuários recentes ou os visitantes possam saber os passos iniciais para utilizarem o FÓRUM de forma correta.
Vamos tomar como exemplo o que citei no Tópico anterior:
Categoria: DICAS DO FÓRUM
Fórum: COMO UTILIZAR O FÓRUM
Tópicos:
ACABEI DE ME REGISTRAR. O QUE FAÇO AGORA ?
COMO CRIAR UM TÓPICO ?
QUANDO DEVO CRIAR UM TÓPICO ?
QUAL A DIFERENÇA ENTRE FÓRUM E TÓPICO ?
SEGURANÇA
NOTIFICAÇÃO DE RESPOSTA
Utilizei o phpMyAdmin para acessar o bando de dados do FÓRUM. No menu à esquerda, cliquei no _phpb1 e na lista que abriu, cliquei no phpbb_topics. Feito isso, do lado direito do menu, apareceu a tabela com todos os TÓPICOS postados no FÓRUM. Na 1ª linha desta tabela há vários campos, com o texto em azul, que definem as informações no banco de dados. O que me interessa são apenas os campos topic_id, forum_id, topic_title, topic_time, topic_last_post_time.
No banco de dados as informações são estas:

O FÓRUM organiza os TÓPICOS pela data de postagem, ficando o mais recente sempre no início. Os campos topic_time e topic_last_post_time tem os valores iguais e são eles que datam a postagem dos TÓPICOS. O de maior valor é o TÓPICO mais recente, então, é só atribuir valores aos TÓPICOS de forma decrescente na ordem que você deseja fixá-los para que todos vejam. No meu caso, fiz assim:

Agora os TÓPICOS estão fixados nesta ordem para todos:
ACABEI DE ME REGISTRAR. O QUE FAÇO AGORA ?
QUANDO DEVO CRIAR UM TÓPICO ?
COMO CRIAR UM TÓPICO ?
QUAL A DIFERENÇA ENTRE FÓRUM E TÓPICO ?
NOTIFICAÇÃO DE RESPOSTA
SEGURANÇA
OBS.: Apenas tenha o cuidado de alterar os valores com a diferença de uma unidade para evitar conflitos.
Abraço e espero ter ajudado.
-
professor mauricio
- Novato

- Mensagens: 130
- Registrado em: 02 Abr 2011, 11:58
Re: Como alterar a ordem dos Tópicos ?
No nosso fórum colocamos os tópicos ordenados por ID.
abre o viewforum.php que vc vai ver os códigos que o "fulano" inventou para a ordenação procurando por
um pouco de inglês e de php serão úteis.
na chave
temos o texto que aparece ao usuário caso ele queira reordenar os tópicos a seu modo, caso esteja disponível a ele essa opção de ordenação no viewforum.php
na chave
temos outro array, desta vez apontando as ordenações possíveis
veja essa chave inteira:
o escritor deste trecho usou 4 letras para indicar as ordenações, respectivamente:
autor (primeiro postador)
data do último post
respostas
título
visualizações
O que fizemos em nosso fórum foi encontrar na linha acima:
e substituir por
Assim, a data de criação, que corresponde diretamente ao ID, que fica sendo obedecida.
(obs.: para facilitar a escrita, o escritor abreviou TOPICS_TABLE (ou phpbb_XXXtopics) com a letra seguida de ponto "t.")
Ah... caso vc queira mudar de ASC (ascendente) para DESC (descendente) ou vice versa, procure por
e inverta nas duas condições, ou seja, onde está ASC : DESC vc troca pela debaixo e onde está ASC:DESC vc troca pela de cima.
Agora, um alerta: a chave $sort_dir é DESC por padrão, mudar aqui como eu mudei significa que o usuário vai selecionar invertido (caso ele saiba como). Quando ele apontar "descendente" vai organizar "ascendente" e vice versa.
Para ficar vanilla é só alterar as chaves de idioma. Onde tem as chaves de DESC vc põe ASC. Posso explicar onde fica caso deseje, mas não acho nem um pouco necessário.
abc e desculpe tomar o tempo de vcs.
abre o viewforum.php que vc vai ver os códigos que o "fulano" inventou para a ordenação procurando por
Código: Selecionar todos
// Topic ordering optionsna chave
Código: Selecionar todos
$sort_by_textna chave
Código: Selecionar todos
$sort_by_sqlveja essa chave inteira:
Código: Selecionar todos
$sort_by_sql = array('a' => 't.topic_first_poster_name', 't' => 't.topic_last_post_time', 'r' => 't.topic_replies', 's' => 't.topic_title', 'v' => 't.topic_views');autor (primeiro postador)
data do último post
respostas
título
visualizações
O que fizemos em nosso fórum foi encontrar na linha acima:
Código: Selecionar todos
t' => 't.topic_last_post_time',Código: Selecionar todos
t' => 't.topic_time',(obs.: para facilitar a escrita, o escritor abreviou TOPICS_TABLE (ou phpbb_XXXtopics) com a letra seguida de ponto "t.")
Ah... caso vc queira mudar de ASC (ascendente) para DESC (descendente) ou vice versa, procure por
Código: Selecionar todos
// Select the sort orderCódigo: Selecionar todos
$sql_sort_order = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'ASC' : 'DESC');Código: Selecionar todos
$sql_sort_order = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');Para ficar vanilla é só alterar as chaves de idioma. Onde tem as chaves de DESC vc põe ASC. Posso explicar onde fica caso deseje, mas não acho nem um pouco necessário.
abc e desculpe tomar o tempo de vcs.
Comeu uma pizza que pode melhorar?
Indique o Fórum de Pizzarias para a pizzaria do seu bairro!
Somos um grupo de empreendedores focados em capacitação e desenvolvimento de expertise em pizzas.
Indique o Fórum de Pizzarias para a pizzaria do seu bairro!
Somos um grupo de empreendedores focados em capacitação e desenvolvimento de expertise em pizzas.
Re: Como alterar a ordem dos Tópicos ?
Opa, professor... não precisa se desculpar, mesmo porque as suas informações agregaram em muito ao assunto deste Tópico.
Abraço.
Abraço.

[DICA] Antes de abrir um Novo Tópico, procure saber se a sua dúvida já foi respondida. Pesquise no Google por palavras(em inglês também) relacionadas à ela, somado à palavra "phpbb".
-
professor mauricio
- Novato

- Mensagens: 130
- Registrado em: 02 Abr 2011, 11:58
Re: Como alterar a ordem dos Tópicos ?
Vlw robra.
Já fui banido de um fórum por "excesso de conhecimento" e sempre fico meio receoso na hora de postar alguma coisa em qualquer lugar, afinal, temos de pensar também em quem está lendo né.
No caso, a solução que propus pode parecer afrontosa à solução inicial de nosso amigo (no caso, vc mesmo). Por isso o pedido de desculpas de antemão, pois minha intenção é sempre colaborar (mania de professor).
Tenho lido os comentários dentro do viewtopic e do viewforum e são muito muito interessantes e instrutivos para entender o phpbb. Recomendo a todos que entendem um pouco de inglês que façam o mesmo. Abram os arquivos no servidor e leiam o que os programadores escreveram (tem até piadinha)
abraços e, querendo pizza, fale conosco!
Já fui banido de um fórum por "excesso de conhecimento" e sempre fico meio receoso na hora de postar alguma coisa em qualquer lugar, afinal, temos de pensar também em quem está lendo né.
No caso, a solução que propus pode parecer afrontosa à solução inicial de nosso amigo (no caso, vc mesmo). Por isso o pedido de desculpas de antemão, pois minha intenção é sempre colaborar (mania de professor).
Tenho lido os comentários dentro do viewtopic e do viewforum e são muito muito interessantes e instrutivos para entender o phpbb. Recomendo a todos que entendem um pouco de inglês que façam o mesmo. Abram os arquivos no servidor e leiam o que os programadores escreveram (tem até piadinha)
abraços e, querendo pizza, fale conosco!
Comeu uma pizza que pode melhorar?
Indique o Fórum de Pizzarias para a pizzaria do seu bairro!
Somos um grupo de empreendedores focados em capacitação e desenvolvimento de expertise em pizzas.
Indique o Fórum de Pizzarias para a pizzaria do seu bairro!
Somos um grupo de empreendedores focados em capacitação e desenvolvimento de expertise em pizzas.
-
professor mauricio
- Novato

- Mensagens: 130
- Registrado em: 02 Abr 2011, 11:58
Re: Como alterar a ordem dos Tópicos ?
Informação adicional sobre mudar a ordem:
o padrão do fórum é 't' mas pode ser alterado em UCP pelo usuário.
Porém, fiz um teste aqui e deu certo:
dentro da chave:
criar uma nova letra, por exemplo, 'i' e atribuir uma nova coluna do sql.
ficando assim a minha atual:
e, para o usuário poder selecionar essa opção, fazemos duas alterações. A primeira, na linha
adicionando o 'nome' que queremos no rótulo, no caso,
e a seguinte nos arquivos de idiomas disponíveis, para que a chave '['POST_ID'] retorne o texto desejado. ou seja, no arquivo de idioma common.php adicionar
trata-se de uma dica um pouco mais avançada, que pode ser esmiuçada a quem quiser perguntar por aqui ou no fórum de pizzarias
o padrão do fórum é 't' mas pode ser alterado em UCP pelo usuário.
Código: Selecionar todos
t' => 't.topic_last_post_time',dentro da chave:
Código: Selecionar todos
$sort_by_sqlCódigo: Selecionar todos
'i' => 't.topic_id',Código: Selecionar todos
$sort_by_sql = array('a' => 't.topic_first_poster_name', 't' => 't.topic_id', 'i' => 't.topic_last_post_time', 'r' => 't.topic_replies', 's' => 't.topic_title', 'v' => 't.topic_views');Código: Selecionar todos
$sort_by_textCódigo: Selecionar todos
'i' => $user->lang['POST_ID'],Código: Selecionar todos
'POST_ID' => 'Número do Tópico',Comeu uma pizza que pode melhorar?
Indique o Fórum de Pizzarias para a pizzaria do seu bairro!
Somos um grupo de empreendedores focados em capacitação e desenvolvimento de expertise em pizzas.
Indique o Fórum de Pizzarias para a pizzaria do seu bairro!
Somos um grupo de empreendedores focados em capacitação e desenvolvimento de expertise em pizzas.