Pods CMS

Al empezar la creación de una página web siempre nos habíamos preguntado cual sería la mejor opción a la hora de elegir un CMS.

Nuestras investigaciones por internet y después de barajar varias opciones hizo que descubriéramos Pods CMS. Pods es un plugin para WordPress que lo convierte en un cms cómodo, rápido y muy fácil de configurar.

Para empezar a trabajar con Pods simplemente hay que bajar el plugin y activarlo en una instalación de WordPress. Podéis encontrar el plugin Pods CMS en la web de plugins para wordpress.

Pods funciona principalmente como un generador de tipos de contenido, desde el punto de vista del programador podríamos verlo como un generador de clases, esto es, permite definir un modelo y asignarle varios campos de diferente tipo para luego poder crear objetos de dicha clase e interaccionar con ellos. Simplemente con esta funcionalidad ya es suficiente para dejarte con los ojos abiertos, pero hay mucho más.

Con Pods puedes hacer cualquier cosa, ya que tienes muchas formas de sacar la información introducida en la base de datos:

  • Mediante páginas desde Pods en el área de administración. En estas páginas se puede poner tanto código php como caracteres comodín en las URL. Por ejemplo la página recetas/* será el handler por defecto de todas las páginas que empiecen por recetas/. Una forma de routing sencilla para el usuario…
  • Se puede también añadir código en php directamente en los templates del tema que estés utilizando en WordPress.
  • Utilizar shortcode de WordPress para incluir instancias de Pods o detalles de un Pod específico dentro de páginas o entradas de WordPress.
  • Y por último y la más importante de todas creo yo, la API de Pods, que te permite hacer CRUD directamente de cualquier Pod que tengas creado en el sistema. Esto viene de perlas por ejemplo para hacer plugins que utilicen el sistema Pods como entrada de datos en las tablas.

Por poner un ejemplo, estamos trabajando en una web donde utilizamos Pods como entrada de datos en el sistema. Una de las partes de la página principal muestra los servicios más llamativos que proporciona nuestro cliente cada mes. Para ello creamos un Pod (que llamaremos Servicios destacados) que contendrá los siguientes datos: nombre, imagen, activa, oferta del mes, enlace.

Una vez creado el Pod podemos introducir datos desde la sección Add Servicios destacados que aparece en el menú principal de Pods (esto puede cambiarse mediante Pods UI o creando un menú nuevo mediante un plugin, pero eso lo comentaremos en otro post):

Ya introducidos los datos podremos asociar una página de WordPress a un template concreto y modificar ese template para que lea los datos del pod que queremos. En este caso creamos un template con este código:

<?php
/*
Template Name: Servicios destacados
*/
<?php get_header(); ?>
<?php
	// Consultamos la base de datos en Pods. 4 servicios destacados que estén activos
	$imagenes = new Pod('servicios_destacados');
	$imagenes->findRecords('name ASC','4','t.activa = 1');
	$total_imagenes = $imagenes->getTotalRows();
?>

//Bucle por los servicios destacados encontrados para crear la página
<div id="servicios-destacados">
<?php if( $total_imagenes>0 ) : ?>
	<ul>
	<?php while ( $imagenes->fetchRecord() ) : ?>
		<?php
			// iniciamos nuestras variables
			$id        	= $imagenes->get_field('id');
			$nombre      	= $imagenes->get_field('name');
			$imagen  	= $imagenes->get_field('imagen');
			$imagen_url     = $imagen[0]['guid'];
			$enlace		= $imagenes->get_field('enlace');
			if($enlace=="") $enlace = "#";
		?>

		<li>
			<a href="<?php echo $enlace; ?>">
			<img src="<?php echo $imagen_url; ?>" alt="<?php echo $nombre; ?>" />
			</a>
		</li>
	<?php endwhile ?>
	</ul>
<?php endif ?>
</div><!-- #servicios-destacados-->
<?php get_footer(); ?>

En este template lo que hacemos es:

  1. consultar cuatro productos destacados activos
  2. hacer un bucle por los productos para mostrarlos en pantalla

Con esto hemos visto lo fácil que es meter contenido propio en una base de datos utilizando el gran backEnd que tiene WordPress y consultar ese contenido con un template. Todo esto gracias a Pods.

Por último os dejo con un video de uno de los autores rascando un poco por encima las posibilidades de Pods y de su creciente documentación:

 
 

Tags: , , ,

Compartir en Facebook Compartir en Twitter

3 Comentarios a “Pods CMS”

  1. Juan Garcia dice:

    Gracias por un post tan bien escrito.

  2. luis dice:

    Mira yo tengo una duda. Yo estoy trabajando una red de medicos entonces el Pods me quedo de maravilla porque yo en las tablas trabaje una ficha medica para que por medio de ella ellos lleven un control medico de sus pacientes pero mi problema es que como todos los doctores se suscriben como suscriptores entonces yo lo tengo configurado para que todos los suscriptores puedan ver el post pero yo quiero que cada usuario tenga sus propios datos sinque otro suscriptor los vea osea hacer las tablas privadas. Sera posible que me pudieras decir si se puede y como lo podria configurar para que me quede como yo quiero.

    Gracias, muy buen post

  3. Carlos dice:

    Pues no se si te he entendido bien. Si los usuarios, es decir, los médicos, son usuarios de WordPress, en principio con un plugin con el que pudieses gestionar los roles de cada usuario y a partir de ahí programar el template para que cargue una cosa u otra.

    Tienes varios plugins que se dedican a estas historias. En está página, noupe.com/wordpress/wordpress-cms-plugins.html en la sección Managing Users and their Roles tienes unos cuantos. Si lo solucionas comentanos como lo has hecho ok?
    Suerte!!!

Dejar un comentario

XHTML: Puedes usar estos tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>