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.

require("ruta/al/foro/SSI.php");
Code language: 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.

// 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();
Code language: PHP (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 thought on “Integrar Simple Machines Forum con cualquier script PHP

Leave a Reply

Your email address will not be published.

Required fields are marked *

Your avatar