Integrar Simple Machines Forum con cualquier script PHP
A la hora de montar una comunidad una de las cosas más importantes es hacer que todo el contenido quede bien relacionado, de modo que a pesar de usar diferentes scripts para el foro y el portal, el usuario tenga la sensación de que todo está perfectamente unido y sincronizado. Cosas como mostrar en el portal la lista de último temas del foro o los cumpleaños del día contribuyen a la cohesión de la comunidad.
Trasteando esta semana con Simple Machines Forum, me dio por curiosear el funcionamiento del archivo SSI.php, que según los desarrolladores de SMF nos permite enlazar el foro con el resto de la página web y vaya, no exageran, de hecho permite mucho más que enlazar: permite crear el foro entero en cualquier otro lugar de la página.
Pero vayamos paso a paso. Lo básico antes de comenzar es hacer un require al archivo SSI.php del foro para poder tener acceso a todas las funciones y variables que necesitamos.
[php]
require("ruta/al/foro/SSI.php");
[/php]
Con esto tendremos acceso a variables como $context (la matriz principal de SMF, que almacena cosas como los links del menú, el navegador desde el que se accede, información acerca del usuario actual, etc. También tenemos acceso a funciones más que interesantes, como la de mostrar el formulario de inicio de sesión o de búsqueda, la última encuesta, los mensajes más recientes, los foros con más popularidad, el usuario con más mensajes publicados, el último usuario registrado, los usuarios online, los cumpleaños del día, etc.
[php]
// Para mostrar los últimos temas
ssi_recentTopics($num_recent = 8, $exclude_boards = null, $include_boards = null, $output_method = ‘echo’);
// Para mostrar los últimos mensajes
ssi_recentPosts();
// Para mostrar la última encuesta
ssi_recentPoll();
// Para mostrar los foros con más mensajes
ssi_topBoards();
// Para mostrar los mensajes más vistos
ssi_topTopicsViews();
// Para mostrar la encuesta con más votos
ssi_topPoll();
// Para mostrar el usuario con más mensajes
ssi_topPoster();
// Para mostrar el último usuario registrado
ssi_latestMember();
// Para mostrar un usuario al azar cada día
ssi_randomMember(‘day’);
// Para mostrar los usuarios online en el foro
ssi_whosOnline();
// Para mostrar los usuarios online en el foro y en páginas que usen SSI
ssi_logOnline();
// Para mostrar el formulario de inicio de sesión (si no ha iniciado sesión)
ssi_login();
// Para mostrar el link para cerrar la sesión (si ha iniciado sesión)
ssi_logout();
// Para mostrar un mensaje de bienvenida
// Un mensaje como "Hola, sumolari, tienes 10 mensajes, 0 son nuevos."
ssi_welcome();
// Para mostrar todos los eventos del calendario del foro y los cumpleaños
ssi_todaysCalendar();
// Para mostrar sólo los cumpleaños
ssi_todaysBirthdays();
// Para mostrar las fiestas de hoy (si es que hay alguna en el calendario)
ssi_todaysHolidays();
// Para mostrar los eventos de hoy del calendario
ssi_todaysEvents();
// Para mostrar los eventos recientes
ssi_recentEvents();
// Para mostrar estadísticas del foro
ssi_boardStats();
// Para mostrar las últimas noticias del foro
ssi_news();
// Para mostrar los últimos temas del foro de noticias
ssi_boardNews();
// Para mostrar la barra de menús
// También se puede recorrer la matriz $content[‘menu_buttons’] para obtener el mismo resultado
ssi_menubar();
// Para mostrar el buscador del foro
ssi_quickSearch();
// Para mostrar un listado de los últimos archivos adjuntos subidos al foro
ssi_recentAttachments();
[/php]
Como veis, combinando esto con los filtros y las acciones de WordPress, podemos integrar sin mucha dificultad un foro SMF con un blog WordPress.
Por último os dejo la página de ejemplo de SMF, donde podéis ver en acción todas estas funciones.
One reply on “Integrar Simple Machines Forum con cualquier script PHP”