Can we load posts from a topic in our SMF forum and display them somewhere else?

Started by horowitz, May 24, 2023, 10:24:53 AM

Previous topic - Next topic

horowitz

Hello,

Quick question here, but googling has so far not yielded any results. We run a website on which we have an SMF forum and some other stuff, like a blog, static pages and the like. We would like to be able to load the content (messages) in a given topic of our SMF forum and display them on another part of the website which is not part of the forum. Let's say we have the /smf/index.php?topic=12345 , we would like to be able to load the posts/messages from that topic and display them on any part of the site we would like. Does this make sense? Is there an API or anything that lets us do this?

Thanks,
Horowitz

Aleksi "Lex" Kilpinen

Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

How you can help SMF

horowitz

Thanks for your swift reply!

A list of recent posts is not quite what I am looking for, unfortunately. I'll try to explain a bit better.

Let's say I have a topic in our SMF forum at www dot ourcoolwebbypage dot com/smf/index.php?topic=69893.0

In the topic, there are three messages from three users, something like this:

Member1
This is my awesome topic!
Hello guys!

Member2
Re: this is my awesome topic!
Nice topic!

Member3
Re: this is my awesome topic!
Yeah, I agree, nice topic!


What we are looking for is an API or mod or anything that enables us to load the messages (usernames, message contents, etc) from that particular topic and display them outside the forum, on another part of the site.

Something like, in our code:

getMessages({topicId: 69893})

returns either an array of messages, HTML, or anything else we can use to display the messages that have been posted in that particular topic anywhere we would like.

Is this possible?

Aleksi "Lex" Kilpinen

Do take a closer look at the SSI_Examples. ;)
The Function list on the left side of it in particular.
I think you'll find out that it does a fair bit more than just show you your recent posts.
Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

How you can help SMF

horowitz

Quote from: Aleksi "Lex" Kilpinen on May 26, 2023, 11:31:10 AMDo take a closer look at the SSI_Examples. ;)
The Function list on the left side of it in particular.
I think you'll find out that it does a fair bit more than just show you your recent posts.

I have throughly read through that page, and I feel like I'm going a bit crazy :p Is it the

ssi_boardNews()
ssi_fetchPosts()

functions you are referring to? That's more like it, but they don't seem to do exactly what I want. It doesn't seem like I can give a specific topic ID to the ssi_fetchPosts() function, just an array of message ID:s, no? How would I get the post IDs that belong to a particular topic ID?

Or did you have some other functions in mind?

Aleksi "Lex" Kilpinen

You just need to create the array (perhaps with a database query directly) and then you can use ssi_fetchposts.
Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

How you can help SMF

lather

You could code a simple php page that reads the selected messages from the messages table in the database and displays them.

Kindred

use ssi_queryPosts


Warning - untested
<?php

require_once('SSI.php');

$gettopic='id_topic=1234';
$max_count=100;

$topic_posts=ssi_queryPosts($gettopic,null,$max_count,'m.id_msg DESC','array',false,false);

ssi_fetchPosts($topic_posts,false,'echo');

?>


alternatively, replace the echo in the fetchPosts and output the content in the format that you want....
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Advertisement: