> Manuales > Taller de PHP

Analizamos una clase para mostrar fotos de los álbums, que haya subidas a Facebook en las Fan Pages, dentro de otras paginas web.

A medida que las redes sociales se han colado en nuestras vidas, van surgiendo nuevas vías de integración de las funcionalidades que aportan, para que estén disponibles en otras webs. Existen muchas maneras de integrar Facebook en una página, por ejemplo a través de los plugins sociales que el propio Facebook tiene en su área para "developers". Sin embargo, en este artículo vamos a tratar un script que no forma parte de los que nos ofrecen desde la red social y que puede ser interesante para muchas personas.

Este clase (de programación orientada a objetos) nos ayuda a mostrar un álbum de fotos, que tengamos previamente subido a la red social de Facebook dentro de una "Fan Page", en cualquier sitio web que nosotros deseemos.

Nota: Es importante tener en cuenta que no muestra los álbumes de fotos de personas, sólo los de las páginas creadas en Facebook, lo que se conoce como "Fan Pages".

Esta clase puede ser interesante si tenéis una web que muestra imágenes y habéis creado su análoga en Facebook, de esta forma si metéis imágenes en Facebook no sería necesario subirlas también a la web, simplemente las podríais mostrar directamente desde Facebook utilizando esta clase.

Su implementación es bien sencilla, tan solo tenéis que bajaros un archivo .php llamado phpcURL.php de PHPclasses. Ese archivo contiene la clase de programación orientada a objetos que tenéis que utilizar para extraer las fotos de un álbum. El archivo del código de la clase debe copiarse en tu servidor, por ejemplo en la misma carpeta donde quieras mostrar las imágenes.

Una vez que lo tienes descargado te creas otro archivo .php, que será el que nos muestre el álbum, y podría ser algo como esto:

<html>
<head>
<title>Álbum de fotos Facebook</title>
</head>

<body>
<div id ="wrapper">
<?php
   define('PAGE_ID', '00000000000000');
   define('APP_ID','');
   define('APP_SECRET','');
   include("phpcUrl.php");
   $face = new FacePageAlbum(PAGE_ID, $_GET['aid'], $_GET['aurl'], APP_ID, APP_SECRET);
?>
</div>
</body>
</html>

Como hemos podido comprobar, se trata de un código bastante sencillo, en el que se invoca a la clase para realizar todo el trabajo por nosotros. Claro está, debemos pasarle el identificador de tu página en Facebook al hacer el define('PAGE_ID', '00000000000000'). Por tanto, para que os funcionará tan solo tendríais que cambiar la ristra de ceros por el id de tu página en Facebook.

En el código anterior, las líneas que hacer define('APP_ID','') y define('APP_SECRET','') van en blanco, en el caso de que no tengas ninguna aplicación Facebook creada. Si tuviéramos registrada una aplicación y quisiéramos mostrar las imágenes de dicha aplicación tendríamos que pasarles el APP_ID correspondiente, y el APP_SECRET para conexiones externas con Facebook dentro de dicha aplicación.

Si hacéis la prueba veréis que os salen las imágenes pero sin estilos, bien, pues podéis crearos un CSS para definir el aspecto que deseáis para el álbum. Hacer vuestro propio CSS es muy sencillo, ya que la clase viene preparada para poder modificar los estilos a vuestro gusto.

Tan sólo tendréis que tocar las siguientes clases:

#wrapper, #back, #backAlbums, #next, #prev, .ImageLink, .ImageLink img

Si añadimos estos estilos el código nos quedaría más o menos de la siguiente forma:

<html>
<head>
<title>Álbum de fotos Facebook</title>
<style type='text/css'>
   body
   {
      font-family:arial;
   }
   #wrapper
   {
      width:880px;
      margin:0 auto:
   }
   #back
   {
      display:block;
      padding:5px;
      float:left;
   }
   #backAlbums
   {
      display:block;
      padding:5px;
      float:right;
   }
   #next
   {
      float:right;
      display:block;
      padding:5px;
   }
   #prev
   {
      float:left;
      display:block;
      padding:5px;
   }
   .ImageLink
   {
      display:block;
      float:left;
      padding:5px;
      margin:5px;
   }
   .ImageLink img
   {
      width:150px;
   }
</style>
</head>

<body>
<div id ="wrapper">
<?php
   define('PAGE_ID', '00000000000000');
   define('APP_ID','');
   define('APP_SECRET','');
   include("phpcUrl.php");
   $face = new FacePageAlbum(PAGE_ID, $_GET['aid'], $_GET['aurl'], APP_ID, APP_SECRET);
?>
</div>
</body>
</html>

Nota: en la página de descarga de la clase, tenéis un archivo llamado Example.php que contiene este código de ejemplo. Pero OJO, en nuestro caso encontramos un error en el script, ya que el archivo que esta puesto en el include esta mal escrito, tenéis que cambiarlo por “phpcUrl.php”.

Acordaros siempre que esta clase funciona en servidores que tengan PHP 5, en PHP 4 no funcionará.

Sara Alvarez

Equipo DesarrolloWeb.com

Manual