Die Endung .phtml sollte auch funktionieren, oder?Scotty hat geschrieben:Einfach via Include einfügen, deine HTML Datei muss dann natürlich die Endung .php haben. Sonnst kannst du nur mit Frames arbeiten und wirst mit jedem Script Probleme bekommen.
Letzte Beiträge auf separater Homepage
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
- nickvergessen
- Ehrenadmin
- Beiträge: 11559
- Registriert: 09.10.2006 21:56
- Wohnort: Stuttgart, Germany
- Kontaktdaten:
Ich habe dazu mal eine Frage, ich habe mir diesbezüglich selber was ausgedacht, weil ich meine eigentliche HP nicht auf dem gleichen Server habe wie das Forum und ein externer DB Zugriff natürlich nicht möglich ist.Scotty hat geschrieben:Oder nutze diesen MOD (siehe Anhang):
http://www.stubentiger-forum.de/viewtopic.php?t=181
Das ist eine Modifikation des MODs vom phpBB2 für das phpBB3, welchen ich auch nutze.
Ich hab mir eine Datenbankabfrage gebastelt, die immer die relevanten Daten der letzten 5 Posts in eine xml Datei schreibt. Diese lese ich dann auf meiner Homepage mit simplexml_load_file aus und gebe die Daten per for Schleife aus. Das klappt auch alles wunderbar. meine Frage ist eigentlich, wo kann man die Datei, die das xml File schreibt am besten includen im Board. Also ich will im Grunde, dass nach jedem Post egal ob neus Topic oder Reply oder nach einem Löschen eines Beitrages oder ganzen Threads oder auch Verschieben usw. diese xml Datei geschrieben wird. Nur wo ist da die günstigste Stelle wo man diese Datei includen kann? Oder muss man sie dann an mehrern Stellen includieren?
Ich hoffe es weiß jemand ne AW darauf
- nickvergessen
- Ehrenadmin
- Beiträge: 11559
- Registriert: 09.10.2006 21:56
- Wohnort: Stuttgart, Germany
- Kontaktdaten:
Danke für Deine Antwort aber das war mir schon klar soweit. In der posting.php aber wo genau, ich dachte das weiß vllt. jemand. Ich hab daraus jetzt ne Funktion gemacht makeXML(), die habe ich in der functions_posting.php untergebracht. Wenn ich jetzt eine Aktion ausführe also reply, post, edit oder delete soll nach erfolgter Aktion meine Funktion aufgerufen werden.
Ich habs bisher nur so hinbekommen, dass meine Funktion aufgerufen wird, bevor der eigentlich Update Prozess stattfindet. Das bringt mir dann natürlich nie die letzten 5 Posts sondern immer die letzten 5 ohne den gerade gemachten.
Ich könnts natürlich in der index.php einbinden, dann wird bei jedem Forumaufruf diese Datei aktuell geschrieben aber das ist ja nicht die feine englische Art.
Ich habs bisher nur so hinbekommen, dass meine Funktion aufgerufen wird, bevor der eigentlich Update Prozess stattfindet. Das bringt mir dann natürlich nie die letzten 5 Posts sondern immer die letzten 5 ohne den gerade gemachten.
Ich könnts natürlich in der index.php einbinden, dann wird bei jedem Forumaufruf diese Datei aktuell geschrieben aber das ist ja nicht die feine englische Art.

- nickvergessen
- Ehrenadmin
- Beiträge: 11559
- Registriert: 09.10.2006 21:56
- Wohnort: Stuttgart, Germany
- Kontaktdaten:
- andy3000
- Mitglied
- Beiträge: 95
- Registriert: 22.03.2007 14:45
- Wohnort: Weilheim an der Teck
- Kontaktdaten:
Eine Frage zu diesem Mod hier (wenn ich hier richtig bin):
http://www.stubentiger-forum.de/viewtopic.php?t=181
Wie kann man da eine Forum-ID aussließen? Ich wollte alle Foren berücksichtigen, außer einem. Und alle Foren-IDs reinzuschreiben ist etwas aufwendig.
Da steht nur:
Könnte vielleicht jemand sagen, was man hinzufügen muss um eine Forum-IDauszuschließen?
Vielen Dank im Vorraus.
http://www.stubentiger-forum.de/viewtopic.php?t=181
Wie kann man da eine Forum-ID aussließen? Ich wollte alle Foren berücksichtigen, außer einem. Und alle Foren-IDs reinzuschreiben ist etwas aufwendig.
Da steht nur:
Code: Alles auswählen
$topic_length = '50'; // length of topic title
$topic_limit = '5'; // limit of displayed topics
$special_forums = '0'; // specify forums ('0' = no; '1' = yes)
$forum_ids = ''; // IDs of forums; separate them with a comma
Vielen Dank im Vorraus.
Mein Forum: Klick
nickvergessen hat geschrieben:Ich würds mal versuchen in genannten Dateien vorCode: Alles auswählen
?>

Ich hab aber die Lösung gefunden, es muss in die functions_posting.php, dann klappt es ausgezeichnet. Wenn ich das Ganze komplett fertig habe veröffentliche ich das hier mal, vllt. braucht es noch jemand.
Best Reagrds
So, wie versprochen werde ich nun mal meinen Lösungsansatz dazu hier veröffentlichen.
Problematik:
man möchte die letzten 5 oder auch mehr Topics/Posts auf seiner Homepage anzeigen lassen, diese ist jedoch auf einem anderen Server und man hat keinen Datenbankzugriff auf den MySQL Server des Forums.
Dazu erstellt man sich zunächst eine neue Funktion und packt diese in eine Datei mit dem Namen functions_last_posts_extern.php
Die Pfadangabe in fopen sollte zum Rootverzeichnis verweisen. Diese Datei abspeichern und in den includes Ordner kopieren.
Als nächstes öffnen wir die Datei functions_posting.php ebenfalls im Verzeichnis includes zu finden.
Dort fügen wir an folgenden Stellen folgendes ein:
Suche:
Füge danach in einer neuen Zeile ein:
Suche:
Füge danach in einer neuen Zeile ein:
Suche:
Füge in der Zeile davor ein:
Das war alles in der Datei functions_posting.php, will man nun auch Moderatorenaktionen berücksichtigen, öffnet man die Datei includes/mcp/mcp_main.php
Suche:
Füge danach in einer neuen Zeile ein:
Suche:
In diesen Code Block fügt man dann makeXML(); ein, das Ganze sieht dann so aus:
Das war es dann auch in dieser Datei. Als nächstes braucht man dann noch die Datei, die auf dem Server der Homepage die Daten der erstellten Datei forum.xml ausliest und ausgibt an einer Stelle Eurer Wahl auf Eurer HP. Ich habe die Datei last_topics.php genannt
Diese Datei bindet man dann mittels der PHP Funktion include("last_topics.php"); an beliebiger Stelle in die HP ein.
Sollte es noch Fragen geben bitte hier dann posten.
Man könnte daraus vllt.auch einen Mod machen aber dazu fehlt mir momentan die Zeit, sollte jemand Lust haben daraus was zu machen, so bitte ich zumindest darüber informiert zu werden, da der Code von mir stammt!
PS: die fertigen Dateien werde ich auf Wunsch auch zum Download bereitstellen
mfg Kendoo
Problematik:
man möchte die letzten 5 oder auch mehr Topics/Posts auf seiner Homepage anzeigen lassen, diese ist jedoch auf einem anderen Server und man hat keinen Datenbankzugriff auf den MySQL Server des Forums.
Dazu erstellt man sich zunächst eine neue Funktion und packt diese in eine Datei mit dem Namen functions_last_posts_extern.php
Code: Alles auswählen
<?php
/**
* Make xml File
*/
function makeXML(){
global $db;
$xml_sql = 'SELECT t.topic_id, t.forum_id, t.icon_id, t.topic_title, t.topic_views, t.topic_replies, t.topic_type, t.topic_first_poster_name, t.topic_last_post_id, t.topic_last_poster_name, t.topic_last_poster_colour, t.topic_last_post_time, p.post_id
FROM ' . TOPICS_TABLE . ' t LEFT JOIN ' . POSTS_TABLE . " p ON t.topic_last_post_id = p.post_id
WHERE p.post_id <> ''
ORDER BY t.topic_last_post_time DESC LIMIT 5";
$xml_res = $db->sql_query($xml_sql);
$fh = fopen( "../forum.xml", "w" );
fputs( $fh, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
fputs( $fh, "<ResultSet>\n");
while ($data = $db->sql_fetchrow($xml_res)){
fputs( $fh, "<topic>\n<icon>".$data['icon_id']."</icon>\n<typ>".$data['topic_type']."</typ>\n<subject>".$data['topic_title']."</subject>\n<zeit>".$data['topic_last_post_time']."</zeit>\n<starter>".$data['topic_first_poster_name']."</starter>\n<poster>".$data['topic_last_poster_name']."</poster>\n<colour>".$data['topic_last_poster_colour']."</colour>\n<p_id>".$data['topic_last_post_id']."</p_id>\n<t_id>".$data['topic_id']."</t_id>\n<f_id>".$data['forum_id']."</f_id>\n<views>".$data['topic_views']."</views>\n<replies>".$data['topic_replies']."</replies>\n</topic>\n" );
}
fputs( $fh, "</ResultSet>");
fclose( $fh );
}
?>
Als nächstes öffnen wir die Datei functions_posting.php ebenfalls im Verzeichnis includes zu finden.
Dort fügen wir an folgenden Stellen folgendes ein:
Suche:
Code: Alles auswählen
if (!defined('IN_PHPBB'))
{
exit;
}
Code: Alles auswählen
include_once("functions_last_posts_extern.php");
Code: Alles auswählen
// $sql_data[USERS_TABLE] = ($data['post_postcount']) ? 'user_posts = user_posts - 1' : '';
Code: Alles auswählen
makeXML();
Code: Alles auswählen
return $url;
Code: Alles auswählen
makeXML();
Suche:
Code: Alles auswählen
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
Code: Alles auswählen
include_once("includes/functions_last_posts_extern.php");
Code: Alles auswählen
if (sizeof($post_ids) == 1)
Code: Alles auswählen
if (sizeof($post_ids) == 1)
{
if ($deleted_topics)
{
// We deleted the only post of a topic, which in turn has
// been removed from the database
$success_msg = $user->lang['TOPIC_DELETED_SUCCESS'];
makeXML();
}
else
{
$success_msg = $user->lang['POST_DELETED_SUCCESS'];
makeXML();
}
}
else
{
if ($deleted_topics)
{
// Some of topics disappeared
$success_msg = $user->lang['POSTS_DELETED_SUCCESS'] . '<br /><br />' . $user->lang['EMPTY_TOPICS_REMOVED_WARNING'];
makeXML();
}
else
{
$success_msg = $user->lang['POSTS_DELETED_SUCCESS'];
makeXML();
}
}
Code: Alles auswählen
<div style="padding:3px;background-color:transparent;">
<?php
function object2array($object){
$return = NULL;
if(is_array($object)) {
foreach($object as $key => $value) $return[$key] = object2array($value);
}
else{
$var = get_object_vars($object);
if($var) {
foreach($var as $key => $value)
$return[$key] = object2array($value);
}
else
return strval($object);
}
return $return;
}
$xml_filename="Pfad zur/forum.xml";
if(!$xml_content = @simplexml_load_file($xml_filename)) {
echo "Keine Daten verfügbar";
}
else {
$inhalt = object2array($xml_content);
for($i=0;$i<5;$i++){
switch ($inhalt['topic'][$i]['typ']){
case 3: $icon = "announce_unread.gif"; $title = "Announcement"; break;
case 2: $icon = "announce_unread.gif"; $title = "Global Announcement"; break;
case 1: $icon = "sticky_unread.gif"; $title = "Sticky"; break;
default: $icon = "topic_unread.gif"; $title = "Topic";
}
echo "<img src=\"images/".$icon."\" width=\"14\" height=\"15\" alt=\"".$title."\" /> <a style=\"color:#0B4A70;\" href=\"http://tortisoft.uttx.net/board/viewtopic.php?f=".$inhalt['topic'][$i]['f_id']."&t=".$inhalt['topic'][$i]['t_id']."&p=".$inhalt['topic'][$i]['p_id']."#p".$inhalt['topic'][$i]['p_id']."\" title=\"".$inhalt['topic'][$i]['subject']."\" onclick=\"window.open(this.href); return false;\">".((strlen($inhalt['topic'][$i]['subject'])>40)?utf8_substr($inhalt['topic'][$i]['subject'],0 , 40)."...":$inhalt['topic'][$i]['subject'])."<img src=\"images/pfeil.gif\" width=\"16\" height=\"7\" alt=\"zum Beitrag\" /></a><br />\n<span style=\"font-size:x-small;\">by: <strong><span style=\"color:".(($inhalt['topic'][$i]['colour'])?"#".$inhalt['topic'][$i]['colour']:"black").";\">".$inhalt['topic'][$i]['poster']."</span></strong> started by: ".$inhalt['topic'][$i]['starter']." (Replies: ".$inhalt['topic'][$i]['replies'].", Views: ".$inhalt['topic'][$i]['views'].")<br />\n".date("D d.M Y, H:i a", $inhalt['topic'][$i]['zeit'])."</span><br />\n\n";
}
}
?>
</div>
Sollte es noch Fragen geben bitte hier dann posten.
Man könnte daraus vllt.auch einen Mod machen aber dazu fehlt mir momentan die Zeit, sollte jemand Lust haben daraus was zu machen, so bitte ich zumindest darüber informiert zu werden, da der Code von mir stammt!
PS: die fertigen Dateien werde ich auf Wunsch auch zum Download bereitstellen
mfg Kendoo