Enlazar SPIP con mediawiki
SPIP puede conectarse a la base de datos de mediawiki para por ejemplo mostar algunas tablas de esta wiki, además SPIP puede conectarse a otras bases de datos aparte de la que usa por defecto.
En este caso se configurará SPIP para que muestre los últimos cambios en mediawiki en una o más páginas mostradas con SPIP.
archivo de conexion
en config/ se define una conexión por ejemplo: conexion_con_mediawiki.php que debería tener lo siguiente:
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
spip_connect_db('localhost','','usuario','password','nombre_de_la_bd','mysql',
'spip','');
?>
En el esqueleto
Ahora que la conexion esta definida se puede utilizar la base de datos de mediawiki, basta con incluir en un archivo las tablas y el tipo de consulta que se quiere mostrar.
Por ejemplo se puede definir un nuevo archivo que este dentro una carpeta de esqueletos concretamente en inclure/. En este ejemplo el archivo es recent_mediawiki.html (un_esqueleto/include/recent_mediawiki.html)
<h5>Cambios recientes en la <a href="http://wiki.hacklab.org.bo">wiki</a></h5>
<div class="menu menu_breves">
<BOUCLE_mediawiki(conexion_con_mediawiki:recentchanges)
{!par rc_timestamp, rc_user_text, rc_title}
{0, 4}> <!-- muestra los ultimos 4 cambios -->
<li>art:<a href="http://wiki.hacklab.org.bo/index.php?title=#RC_TITLE"> #RC_TITLE</a> <br>autor: [(#RC_USER_TEXT)]</li>
<br>
</BOUCLE_mediawiki>
</div>
Lo que hace lo anterior es definir un BOUCLE llamado BOUCLE_mediawiki que hace consultas en la conexion conexion_con_mediawiki (que definimos en el archivo de arriba) sobre la tabla recentchanges.
- {!par rc_timestamp, ... } actua sobre las columnas rc_timestamp, ...
- {0,4} un total de cuatro iteraciones
- Dentro la etiqueta < li > todo es html pero las etiquetas como #RC_TITLE son reemplazadas por las respuestas de la consulta.
El BOUCLE que definimos se cierra en este caso con </BOUCLE_mediawiki>
NOTA.- Todas esas etiquetas raras como #RC_TITLE o {!par } son funciones predefinidas de SPIP (revisar
Finalmente, en cualquier archivo del esqueleto se puede incluir esto por ejemplo con :
<!-- ******** Enlace con mediawiki ******************** --> <INCLURE{fond=inclure/recent_mediawiki} />