"Similar Topics" für Content-Seite
Verfasst: 08.06.2010 17:30
Hallo zusammen,
wie kann ich den "Similar Topics" Mod (viewtopic.php?t=182408) so anpassen, dass ihn auch auf einer Content-Seite (außerhalb des phpBB-Ordners) nutzen kann?
Beispiel:
Ich habe ein Forum über Blumen.
In einem redaktionellen Bericht im Content-Bereich über "Rosen" (/rosen.php) möchte ich "similar Topics" (ähnliche Beiträge) aus dem Forum zum Thema "Rosen" anzeigen.
Wie gehe ich nun vor?
Ich habe mir folgendes überlegt:
Da ich von außerhalb des phpBB-Ordners - soweit ich weiß - nicht auf die Funktionen von phpBB zugreifen kann, muss ich also eine "similar-Datei" innerhakb des phpBB-Ordners erstellen. Dazu habe ich mit einen Ordner /phpBB/similar erstellt.
In diesem Ordner muss ich dann für jede (?) similar-Suche eine eigene Datei erstellen? ... also z.B. eine /phpBB/similar/similar-rosen.php, die ich dann per <include> in die rosen.php einfügen kann, oder?
Ich habe - mit diversen Codefragmenten aus der Instalationsanleitung des Similar-Mods - mal so eine /phpBB/similar/similar-rosen.php erstellt ... die natürlich nicht funktioniert; ich sehe zwar den html-Teil, dieser wird aber nicht mit Inhalten aus der Abfrage gefüllt.
Hier mal deren Inhalt, damit ihr es etwas nachverfolgen könnt:
Wie müsste ich vorgehen, damit es funktioniert?
DANKE!
Uwe
wie kann ich den "Similar Topics" Mod (viewtopic.php?t=182408) so anpassen, dass ihn auch auf einer Content-Seite (außerhalb des phpBB-Ordners) nutzen kann?
Beispiel:
Ich habe ein Forum über Blumen.
In einem redaktionellen Bericht im Content-Bereich über "Rosen" (/rosen.php) möchte ich "similar Topics" (ähnliche Beiträge) aus dem Forum zum Thema "Rosen" anzeigen.
Wie gehe ich nun vor?
Ich habe mir folgendes überlegt:
Da ich von außerhalb des phpBB-Ordners - soweit ich weiß - nicht auf die Funktionen von phpBB zugreifen kann, muss ich also eine "similar-Datei" innerhakb des phpBB-Ordners erstellen. Dazu habe ich mit einen Ordner /phpBB/similar erstellt.
In diesem Ordner muss ich dann für jede (?) similar-Suche eine eigene Datei erstellen? ... also z.B. eine /phpBB/similar/similar-rosen.php, die ich dann per <include> in die rosen.php einfügen kann, oder?
Ich habe - mit diversen Codefragmenten aus der Instalationsanleitung des Similar-Mods - mal so eine /phpBB/similar/similar-rosen.php erstellt ... die natürlich nicht funktioniert; ich sehe zwar den html-Teil, dieser wird aber nicht mit Inhalten aus der Abfrage gefüllt.
Hier mal deren Inhalt, damit ihr es etwas nachverfolgen könnt:
Code: Alles auswählen
<?php
/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
// Begin similar topics
$sql_array = array(
'SELECT' => 'f.forum_id, f.forum_name, t.topic_id, t.topic_title, u.user_id, u.username, u.user_colour, t.topic_replies',
'FROM' => array(
TOPICS_TABLE => 't',
),
'LEFT_JOIN' => array(
array(
'FROM' => array(USERS_TABLE => 'u'),
'ON' => 'u.user_id = t.topic_poster'
),
array(
'FROM' => array(FORUMS_TABLE => 'f'),
'ON' => 'f.forum_id = t.forum_id'
),
),
'WHERE' => 'topic_title' <> '%rosen%',
'GROUP_BY' => 't.topic_id',
'ORDER_BY' => 't.topic_last_post_time DESC',
);
$sql = $db->sql_build_query('SELECT', $sql_array);
if ($result = $db->sql_query_limit($sql, 10))
{
while($similar = $db->sql_fetchrow($result))
{
if ($auth->acl_get('f_read', $similar['forum_id']))
{
$similar_forum_url = append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=" . $similar['forum_id']);
$similar_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $similar['forum_id'] . '&t=' . $similar['topic_id']);
$similar_user = get_username_string('full', $similar['user_id'], $similar['username'], $similar['user_colour'], $similar['username']);
$template->assign_block_vars('similar', array(
'TOPIC_TITLE' => $similar['topic_title'],
'U_TOPIC' => $similar_topic_url,
'REPLIES' => $similar['topic_replies'],
'USER' => $similar_user,
'U_FORUM' => $similar_forum_url,
'FORUM' => $similar['forum_name'])
);
}
}
}
// End Similar Topics
?>
<!-- IF .similar -->
<br />
<table class="tablebg" width="100%" cellspacing="1" cellpadding="0" style="margin-top: 5px;">
<tr>
<th colspan="3" align="left">{L_SIMILAR_TOPICS}</th>
</tr>
<!-- BEGIN similar -->
<tr><td class="row1">
<a href="{similar.U_TOPIC}" class="topictitle">{similar.TOPIC_TITLE}</a></td>
<td class="row2">{L_FORUM}: <a href="{similar.U_FORUM}">{similar.FORUM}</a></td>
<td class="row1">{L_REPLIES}: {similar.REPLIES}</td>
</tr><!-- END similar -->
</table>
<br />
<!-- ENDIF -->
DANKE!
Uwe