Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 114
Sexo: Masculino
Localização: Vitória/ES - Brazil
Contato:

Função Tópicos relacionados

01-11-2008 23:18

Olá web

Como você implementou no seu fórum a função de tópicos relacionados quando um usuário posta um novo tópico ??

Obrigado
0
Rodrigo Borges
" A verdadeira função do professor é criar condições para que o aluno aprenda sozinho. (...)
Ensinar de fato não é passar conhecimento, mas estimular o aluno a buscá-lo.
Poderíamos até dizer que ensina melhor quem menos ensina." John Milton Gregory
http://www.universodaeletricidade.com
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Função Tópicos relacionados

01-11-2008 23:43

Já alterei tanta coisa que nem sei mais :o

Vou tentar explicar o que fiz

Isso no PHPBB3

Vai no Admin na área de templates, seleciona o seu modelo atual e pede para editar o viewtopic_body.html

Como eu já editei muita coisa nele não sei a linha certa, mas, o que vem antes é isso

...
<!-- ENDIF -->

<div class="topic-actions">
<div class="buttons">
<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
<!-- ENDIF -->
</div>

Ai depois disso você coloca
{AQUI}

Esse aqui vai ser substituído por um iframe, eu tentei fazer um lance com include mais deu uns conflitos.

Agora você vai lá no viewtopic.php

Esse também já alterei bastante coisa, o que posso dizer que tem perto da linha a ser adicionada é

...
// Send vars to template
$template->assign_vars(array(
'seuip' => $seuip,
'variavel' => $variavel,
'copiador' => $copiador,

'FORUM_ID' => $forum_id,
'FORUM_NAME' => $topic_data['forum_name'],
'FORUM_DESC' => generate_text_for_display($topic_data['forum_desc'], $topic_data['forum_desc_uid'], $topic_data['forum_desc_bitfield'], $topic_data['forum_desc_options']),
'TOPIC_ID' => $topic_id,
'TOPIC_TITLE' => $topic_data['topic_title'],
'TOPIC_POSTER' => $topic_data['topic_poster'],

Ai você adiciona o seguinte:
'AQUI' => "<iframe frameborder='0' src='troca_links.php?assunto=".$topic_data['topic_title']."' width='100%' height='150'></iframe>",

Note que é passado o título do tópico como base para o troca_links.php

Meu troca links é meio personalizado por causa do htaccess que faz uma conversão no URL, mas, vou te passar ele inteiro, ai você ajusta os links do resultado como precisar.

<html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <style> body{ font-family:tahoma; font-size:12px; color:#111111; } a{ font-family:tahoma; font-size:12px; color:#111111; text-decoration:none; } </style> <title>Posts relacionados do Fórum CodigosnaWeb</title> </head> <body> <center>Tópicos relacionados</center> <?php $dbhost="localhost"; $dbuser="login"; $dbpasswd="senha"; $dbname="bd"; $valor = $_GET['assunto']; $separando = explode(" ", $valor); $conexao = @mysql_connect($dbhost, $dbuser, $dbpasswd) or die ("não foi possível a conexão, verifique os dados."); $db = @mysql_select_db($dbname) or die ("não foi possível o acesso ao banco de dados $dbname."); function sem_acentos($str) { $a = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ"; $b = "aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyyby"; return strtolower(strtr($str, $a, $b)); } $query=mysql_query("SELECT DISTINCT post_subject, forum_id, topic_id FROM phpbb_posts WHERE post_subject LIKE '%".$separando[rand(1, count($separando))-1]."%' ORDER BY RAND() LIMIT 5"); while($dados=mysql_fetch_array($query)) { $forum_id = $dados['forum_id']; $topic_id = $dados['topic_id']; $var = $dados['post_subject']; $var2 = $dados['post_subject']; $var3 = $dados['post_subject']; $var = str_replace(" ", "-", $var); $var = str_replace("--", "", $var); $var = str_replace("---", "", $var); $var = str_replace(".", "", $var); $var = str_replace(",", "", $var); $var = str_replace("\"", "", $var); echo "<a target='_top' href='http://www.codigosnaweb.com/".sem_acentos(ereg_replace("[^A-Za-z0-9 -]", "", $var))."/$forum_id/$topic_id' title='$var3'>$var2</a><br>"; } mysql_close($conexao); ?> </body> </html>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 114
Sexo: Masculino
Localização: Vitória/ES - Brazil
Contato:

Função Tópicos relacionados

02-11-2008 10:33

beleza!!!

vou tentar fazer e qualquer coisa te pergunto.

Mas, de novo, foi uma idéia muito boa essa sua. Parabéns!!!

abraço
0
Rodrigo Borges
" A verdadeira função do professor é criar condições para que o aluno aprenda sozinho. (...)
Ensinar de fato não é passar conhecimento, mas estimular o aluno a buscá-lo.
Poderíamos até dizer que ensina melhor quem menos ensina." John Milton Gregory
http://www.universodaeletricidade.com
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Função Tópicos relacionados

02-11-2008 10:42

Flw :;)
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado