in

ProcessWire CMS: una guía para principiantes

Los sistemas de gestión de contenido suelen ser más bien obstinados. Por ejemplo, la mayoría de ellos esperan una cierta estructura de contenido rígida para ingresar datos y luego tienen una forma específica grabada de acceder y generar esos datos, tenga o no sentido. Además, rara vez ofrecen herramientas efectivas para salir de los senderos predefinidos si un caso lo requiere.

ProcessWire es un sistema de gestión de contenido (CMS) distribuido bajo la licencia pública de Mozilla versión 2.0 (MPL) y la licencia MIT. Está diseñado desde cero para abordar los problemas causados ​​exactamente por este tipo de obstinación (que, inevitablemente, resulta en desarrolladores y usuarios frustrados) al ser, lo adivinaste, no obstinado. En esencia, se basa en algunos conceptos básicos simples y ofrece una API excepcionalmente fácil de usar y poderosa para manejar contenido de cualquier tipo. ¡Entremos en ello!

La interfaz gráfica de usuario del administrador  #

Después de instalar ProcessWire (que requiere PHP 5.3.8+, MySQL 5.0.15+ y Apache), verás la página de inicio de la GUI de administración predeterminada:

La GUI de administración tiene una estructura bastante simple. También es completamente sensible, por lo que se verá ligeramente diferente en pantallas grandes.

Nota: Las páginas que ves en el árbol de páginas jerárquicas (más sobre esto más adelante) están ahí porque elegí el perfil del sitio web “Predeterminado (Edición para principiantes)” durante el proceso de instalación. Esto es totalmente opcional. También puedes comenzar con un perfil de sitio web en blanco, que permite crear todo desde cero. En realidad, puedes elegir entre muchos temas de administración, aunque para ProcessWire 2.6+ se recomienda el tema predeterminado o el tema Reno. Debido a que Reno viene empaquetado con cada instalación de ProcessWire, cambiarlo es bastante fácil: simplemente instálalo y selecciónalo en su perfil de usuario.

Instalar un nuevo tema para la GUI de administración es fácil. Este se llama Reno. (Ver versión GIF animada)

Echemos un vistazo rápido a la navegación principal del back-end:

  • “Páginas” Este es el punto de entrada de la GUI de administración. Presenta el árbol de página jerárquico y, por lo tanto, todo el contenido de tu sitio web en el back-end.
  • “Configuración” Este es el lugar para configurar la arquitectura del modelo de datos general de tu instalación a través de plantillas y campos (más sobre esto más adelante). Aquí también es donde los módulos de ProcessWire a menudo agregan una entrada para su funcionalidad específica e interfaz de usuario, por ejemplo, visualizando mensajes de registro directamente en la GUI de administración o administrando todos los diferentes idiomas cuando se trata de contenido en varios idiomas.
  • “Módulos” Aquí es donde administras todos los módulos de tu sitio web. Piensa en los módulos de ProcessWire como complementos de WordPress: amplían y personalizan el sistema.
  • «Acceso» Aquí es donde se administran los usuarios, las funciones de los usuarios y los permisos de los usuarios.

Tres conceptos básicos simples  #

Los conceptos centrales que forman la arquitectura general del modelo de datos de ProcessWire son exactamente tres: páginas, campos y plantillas. Miremos cada uno por uno.

Todo es una página: o un árbol de una página para gobernarlos todos  #

Una página en ProcessWire puede generar una página normal en la parte frontal de su sitio web, lista para ser visitada por sus usuarios (como «Inicio» y «Acerca de» en la captura de pantalla anterior). Pero una página también puede existir únicamente en el back-end, sin contraparte en el front-end, por ejemplo, una página de configuración oculta donde almacena el eslogan global, el logotipo y el aviso de derechos de autor de su sitio web. Cuando digo «todo es una página» en ProcessWire, lo digo en serio. ¡Diablos, incluso los enlaces de navegación principales en la GUI de administración están hechos de páginas ocultas en el árbol de páginas jerárquicas!

En ProcessWire, todo es una página. Incluso la navegación principal y la subnavegación están hechas de páginas del árbol de páginas jerárquicas.

Esto es tan meta que me recuerda a un cierto meme de Xzibit. Pero dejémoslo así. El concepto de que una página sea visible solo en el back-end es bastante poderoso porque abre todo un mundo de posibilidades sobre cómo estructurar y acceder a los datos a través de otras páginas (tu imaginación es el único límite). Puedes crear un catálogo de productos masivo o una aplicación de intranet con cientos de miles de elementos basados ​​en una jerarquía de páginas compleja, o simplemente un blog simple con las categorías y etiquetas de blog habituales (cada categoría y etiqueta es una página en el árbol de la página).. Joss Sanglier, un miembro distinguido de la comunidad ProcessWire, desglosa el concepto de páginas en esto:

En las páginas de ProcessWire […] no son grandes tragos de información, sino pequeñas cosas, nada más que un enlace al mundo más interesante de campos y plantillas; sólo un pequeño fragmento de datos en su enorme y fascinante base de datos. Las páginas en ProcessWire se utilizan para todo tipo de cosas. Se pueden utilizar como marcadores en su lista de páginas. Se pueden utilizar como padres de grupo para otras páginas. Se pueden utilizar como categorías, etiquetas o listas o usuarios. E incluso se pueden usar para selecciones desplegables simples, solo para proporcionar una etiqueta y un valor.

Interactuemos un poco con el árbol de páginas jerárquico:

Puedes mover páginas en el árbol de páginas jerárquicas arrastrándolas y soltándolas. (Ver versión GIF animada)

Como puedes ver, las páginas se pueden editar, mover o eliminar, y pueden tener un número infinito de hijos y nietos. Abramos la página «Inicio»:

La página «Inicio» del perfil del sitio web «Predeterminado (Edición para principiantes)» presenta algunos campos simples, que son todos opcionales.

Esto nos lleva al siguiente concepto central de ProcessWire, campos.

Los campos son los contenedores en los que coloca los datos  .

Los campos son básicamente los contenedores en los que se colocan los datos. En este punto, es importante darse cuenta de que ProcessWire no tiene el concepto de campos personalizados, como lo hace WordPress, porque cada campo en ProcessWire es un campo personalizado. Cuando creas un campo, puedes darle una etiqueta, una descripción y algunas notas adicionales que aparecerán debajo. Editemos el campo «Título» y agreguemos una descripción y una nota:

A cada campo se le puede dar una descripción personalizada y una nota. (Ver versión GIF animada)

Los tipos de campo preinstalados cubren la mayoría de las necesidades básicas de entrada de datos. Por ejemplo, puedes crear cosas como casillas de verificación, selectores de fecha, conjuntos de campos (un campo que agrupa otros campos en unidades visualmente lógicas), cargadores de archivos e imágenes y, por supuesto, campos de texto y áreas de texto (el editor WYSIWYG predeterminado es CKEditor). También hay muchos tipos de campos pre-empaquetados y de terceros para elegir. Un módulo central útil, que no está instalado por defecto, es el campo repetidor. Permite crear dinámicamente filas de conjuntos de datos.

Los repetidores son una forma sencilla y ordenada de crear filas de datos del mismo tipo. (Ver versión GIF animada)

ProcessWire también es una buena opción para manejar imágenes. Por ejemplo, puedes decidir qué variantes de imagen ProcessWire debe crear automáticamente de una imagen después de cargarla (lo que permite buenos casos de uso para imágenes receptivas). Y elegir una miniatura para una imagen es muy sencillo.

ProcessWire es una buena opción para trabajar con imágenes. (Ver versión GIF animada)

Otro tipo de campo útil es el tipo de campo de página. Puede vincular otras páginas con la página que estás editando actualmente y, así, crear una relación entre ellas. En la configuración del campo, puedes decidir cómo debe ser la apariencia de la entrada y la interacción con el campo; por ejemplo, si se debe seleccionar una sola página o varias páginas, o si solo se deben seleccionar las páginas secundarias de una página principal en particular. Si tuvieras que escribir, digamos, una publicación de blog, podrías optar por permitir que solo las categorías de publicaciones de blog se autocompleten.

Un campo de página puede tener manifestaciones muy diferentes. Aquí hay uno: la función de autocompletar permite elegir páginas ya existentes (en el menú desplegable) pero también crear nuevas páginas dentro del campo. (Ver versión GIF animada)

Una característica interesante que puedes activar en la configuración de un campo es la capacidad de editar el contenido del campo en la parte frontal de su sitio web. Una vez que un usuario ha iniciado sesión en el back-end de ProcessWire, puede cambiar al front-end del sitio web y editar y guardar el contenido justo donde finalmente se renderizará.

¿Eres fanático de la edición de contenido desde el front-end? ProcessWire lo tiene cubierto. (Ver versión GIF animada)

Después de mirar páginas y campos en ProcessWire, puedes preguntarte: ¿Cómo sabe una página qué campos tiene? ¿Y dónde puedo definir cómo se ordenan y renderizan los campos en una página? Entonces, pasemos al último concepto central, plantillas.

Las plantillas son los planos de las páginas  #

Cada vez que creas una página en el árbol de páginas jerárquicas, ProcessWire necesita saber qué plantilla está asociada con ella. Eso es porque una página necesita saber qué campos tiene que representar, y esa información siempre es parte de la plantilla respectiva. En pocas palabras: las plantillas contienen toda la información que la página necesita saber sobre su contenido (qué campos tiene, cómo se representan esos campos y cómo se comportan). Abramos la plantilla «Inicio» de nuestra instalación de muestra.

Las plantillas en ProcessWire son muy flexibles y son una de las razones por las que ProcessWire se siente más como un marco que como un CMS. (Ver versión grande)

Lo principal a tener en cuenta es la cantidad de configuraciones. Realmente hay mucho por descubrir aquí. Por ejemplo, puedes limitar el acceso a las páginas creadas con esta plantilla a roles de usuario específicos. O puedes decidir si las páginas creadas con esta plantilla deben almacenarse en caché durante un período de tiempo específico (para mejorar el rendimiento), además de las condiciones bajo las cuales se debe borrar la caché. Otra configuración poderosa está oculta en la pestaña «Familia». Aquí, puedes definir si las páginas creadas con esta plantilla pueden tener páginas secundarias y qué plantillas están permitidas para la página principal o sus páginas secundarias. Esto permite crear exactamente el tipo de jerarquía de familia de plantillas que desees. Es una forma flexible y práctica (y en realidad una de las formas más poderosas) de estructurar sus datos, y es una de las muchas formas en que ProcessWire muestra su flexibilidad. Dirijamos nuestra atención a la lista de campos en una plantilla. Al observar la captura de pantalla anterior, puedes ver que el orden de los campos se asemeja al orden en el que se mostrarán los campos en la página de inicio. Puedes simplemente arrastrar y soltar campos para cambiar el orden en la lista, cambiando así el orden de aparición al editar la página de inicio.

Cambiar el orden de los campos en la configuración de la plantilla (izquierda) afecta el orden en el que se representan los campos en la página (derecha). (Ver versión GIF animada)

También puedes cambiar el ancho de un campo en la página. Simplemente haz clic en un campo y cámbialo. Pongamos los campos «Título» y «Título» uno al lado del otro.

Tienes el control total de cómo se representan los campos en la página. (Ver versión GIF animada)

Otro ejemplo de cómo se puede personalizar y adaptar la interfaz de usuario de una página y sus campos son las dependencias del campo de entrada. Estos permiten especificar las condiciones bajo las cuales se muestra o se requiere un campo en particular en el editor de página. Hagamos que el campo «Título» sea visible en la interfaz de usuario solo si el usuario ingresa algo en el campo «Título», y marquemos el campo «Resumen» como requerido solo si el usuario ingresa algo en el campo «Título»:

El campo «Título» se mostrará en la página solo una vez que el usuario haya ingresado algo en el campo «Título». (Ver versión GIF animada)

El número, el orden y la apariencia de los campos en una página están totalmente bajo tu control. Puedes poner un solo campo en una plantilla, ninguno en absoluto (no es muy útil) o más de 50 campos, 100 o incluso más. Puedes ordenarlos de la forma que desees, especificar cuáles son obligatorios o visibles y cuáles no, y especificar bajo qué circunstancias deben ser requeridos o visibles. Aquí es donde brilla el enfoque sin opiniones de ProcessWire.

Resumen: páginas, campos, plantillas  #

Recapitulemos la relación técnica entre páginas, campos y plantillas: agregar campos a las plantillas y seleccionar una plantilla al crear una nueva página. Los campos que ves al editar una página son los campos que has agregado a la plantilla seleccionada. Otra forma de ver esto sería a través de una analogía del mundo de la programación:

  • Las plantillas son como clases.
  • Los campos son como las propiedades de las clases.
  • Las páginas son instancias de clases.

Una vez que internalice estos conceptos, estarás equipado con todo lo que necesitas saber para desarrollar en ProcessWire. Y la razón de esto es que la filosofía de ProcessWire se basa únicamente en estos tres conceptos. Bastante bien, ¿verdad?

Archivos de plantilla y API: una pareja destinada a estar juntos  #

El lugar donde recupera los datos ingresados ​​en el back-end de ProcessWire y los genera en el front-end es, por supuesto, el sistema de archivos, más específicamente, la carpeta /site/templates/ de su instalación de ProcessWire. Una plantilla puede tener asociado un archivo PHP físico del mismo nombre; entonces, la home plantilla tendría un archivo home.php en la carpeta /site/templates/. Nota: La forma en que desarrolles tus archivos de plantilla depende totalmente de ti. Si estás familiarizado con el estilo de WordPress para desarrollar cosas, puedes continuar como estás acostumbrado. O, si tienes una configuración bastante compleja y grande y deseas crear una arquitectura más sofisticada, puedes usar un enfoque inspirado en MVC, que funcionaría igual de bien. Ryan Cramer tiene un tutorial introductorio bastante bueno, titulado » Cómo estructurar sus archivos de plantilla «, en el que puede aprender diferentes enfoques para el desarrollo de archivos de plantilla en ProcessWire. El código que escribas en un archivo de plantilla consistirá principalmente en construcciones PHP básicas (if condiciones, foreach bucles, echo declaraciones), marcado HTML y API de ProcessWire. La API está muy inspirada en jQuery, por lo que es realmente como iterar y recorrer el contenido que ingresaste en el back-end a través de métodos, selectores y capacidades de encadenamiento (interfaz fluida). Es fácil de usar y muy expresivo, como jQuery. Comencemos por mirar algunos ejemplos simples para comenzar con la API. Pero antes de comenzar, recuerda marcar la hoja de trucos de la API de ProcessWire, una referencia útil con una descripción general de todos los métodos API disponibles.

La hoja de trucos de la API le servirá como un buen compañero.

Lo primero que queremos hacer es acceder y generar el contenido del campo de una página. La API expone una variable que nos ocupamos de esto: $page.

Obtener la página actual con la $pagevariable  #

La variable $page contiene todos los campos de una sola página. Esto incluye campos integrados (como el nombre de la plantilla de una página), así como los campos que tú, como desarrollador, has agregado a la plantilla de la página. Abramos home.php, que es el archivo de home de la plantilla, y agreguemos esta línea:

echo $page->title; 

Esto le dice a ProcessWire que tome el campo «Título» de la página en la que estamos actualmente («Inicio») y lo muestre. Digamos que también tenemos un campo «Título» en la página, que queremos usar en lugar del campo «Título», pero solo si el usuario ha ingresado algo en él.

echo $page->get("headline|title"); 

Usamos el método get para acceder al campo de una página (por lo tanto, $page->get(“title”) es básicamente equivalente al primer ejemplo de código anterior), y escribimos “headline|title” en el método get. Esto le dice a ProcessWire que primero verifique el campo «Título» y muestre el contenido del título. Pero si el campo «Título» está vacío, entonces el campo «Título» se utiliza como respaldo. También es posible usar variables API en cadenas PHP. Las siguientes dos declaraciones echo para generar el número de hijos de una página son equivalentes:

echo "This page has " . $page->numChildren . " children pages.";
echo "This page has {$page->numChildren} children pages.";

Consigamos los elementos secundarios de nuestra página raíz (recuerda, todavía estamos dentro home.php) y los mostramos como una lista de enlaces:

echo "<ul>";
foreach ($page->children as $child) {
    echo "<li><a href='{$child->url}'>{$child->title}</a></li>";
}
echo "</ul>";

Otro ejemplo de un campo integrado (como children y url en el ejemplo anterior) es iterar a través de todos los padres de una página y crear una navegación de ruta de navegación:

echo "<ul>";
foreach ($page->parents as $parent) {
    echo "<li><a href='{$parent->url}'>{$parent->title}</a></li>";
}
// output the page itself at the end
echo "<li>{$page->title}</li>";
echo "</ul>";

En la página raíz («Inicio»), esto solo daría como resultado su título, porque $page->parents estaría vacío. Anteriormente, mostré cómo crear miniaturas de imágenes en la GUI de administración. La creación de miniaturas también se puede realizar mediante programación con la ayuda de la API. Repetiremos todas las imágenes cargadas en el campo «Imágenes», creemos una variante de imagen grande de 600 píxeles de ancho con una altura proporcional y una miniatura de 150 × 150 píxeles, con opciones específicas como ajustes de recorte y calidad de imagen. Al final, queremos vincular la imagen en miniatura a la imagen grande. ¿Suena complicado? No lo es.

$options = array(
    "quality" => 90,
    "cropping" => "northwest"
);

foreach ($page->images as $image) {
    $large = $image->width(600);
    $thumbnail = $image->size(150, 150, $options);
    echo "<a href='{$large->url}'><img src='{$thumbnail->url}' alt=’></a>";
}

ProcessWire es bastante inteligente en este sentido porque crea imágenes en cualquier tamaño sobre la marcha y mantiene un caché de ellas, por lo que tienes que crear las versiones solo una vez. Aquí hay un último ejemplo $page para mostrar que la API se siente como si estuviera interactuando con el DOM cuando usa jQuery. Obtengamos el último hijo de la página principal en la que estamos actualmente.

$wantedPage = $page->parent->children()->last();

Además de la variable $page, el API expone otra importante: $pages.

Obtener todas las páginas con la variable $pages  #

Con $pages, tienes acceso a todas las páginas de tu instalación de ProcessWire. En otras palabras, da acceso a todo tu contenido desde cualquier lugar. Por ejemplo, podrías tener una página de configuración oculta (es decir, no accesible en la interfaz) en su instalación de ProcessWire; puedes agregar configuraciones globales, como el título y la descripción de tu sitio web; y podrías acceder y generar estos blobs de contenido desde cualquier archivo de plantilla que desees.

$settings = $pages->get("template=settings");
echo "<h1>{$settings->global_title}</h1>";
echo "<p>{$settings->global_description}</p>";

Un caso de uso común para una página de un solo tema de un blog es mostrar todas las publicaciones de blog en las que se hace referencia al tema. Simplemente escribe esto en el archivo de plantilla del tema:

$pages->find("template=blog-post, topics=$page");

Nota: topics es un campo en la plantilla blog-post donde agregarías todas las categorías de temas que son específicas de la publicación del blog. Otra configuración poderosa está oculta en la pestaña «Familia». Aquí, puedes definir si las páginas creadas con esta plantilla pueden tener páginas secundarias y qué plantillas están permitidas para la página principal o sus páginas secundarias. Esto permite crear exactamente el tipo de jerarquía de familia de plantillas que desees. Es una forma flexible y práctica (y en realidad una de las formas más poderosas) de estructurar sus datos, y es una de las muchas formas en que ProcessWire muestra su flexibilidad. Dirijamos nuestra atención a la lista de campos en una plantilla. Al observar la captura de pantalla anterior, puedes ver que el orden de los campos se asemeja al orden en el que se mostrarán los campos en la página de inicio. Puedes simplemente arrastrar y soltar campos para cambiar el orden en la lista, cambiando así el orden de aparición al editar la página de inicio.

Cambiar el orden de los campos en la configuración de la plantilla (izquierda) afecta el orden en el que se representan los campos en la página (derecha). (Ver versión GIF animada)

También puedes cambiar el ancho de un campo en la página. Simplemente haz clic en un campo y cámbialo. Pongamos los campos «Título» y «Título» uno al lado del otro.

Tienes el control total de cómo se representan los campos en la página. (Ver versión GIF animada)

Otro ejemplo de cómo se puede personalizar y adaptar la interfaz de usuario de una página y sus campos son las dependencias del campo de entrada. Estos permiten especificar las condiciones bajo las cuales se muestra o se requiere un campo en particular en el editor de página. Hagamos que el campo «Título» sea visible en la interfaz de usuario solo si el usuario ingresa algo en el campo «Título», y marquemos el campo «Resumen» como requerido solo si el usuario ingresa algo en el campo «Título»:

El campo «Título» se mostrará en la página solo una vez que el usuario haya ingresado algo en el campo «Título». (Ver versión GIF animada)

Otras variables de API  #

$page y $pages no son las únicas variables de API con las que puedes trabajar. Hay muchos otros, como $session (para iniciar y cerrar la sesión de los usuarios y para redirigir a otras páginas), $user (para establecer una conexión con el usuario que está viendo la página en ese momento) y $config (que son para configuraciones específicas de su instalación de ProcessWire). Veamos dos ejemplos. Primero, redirigamos al usuario a la página de inicio:

$session->redirect($pages->get("template=home")->url);

Y hagamos algo si el usuario actual está conectado:

if ($user->isLoggedin()) { /* do something */ }

Ampliación de la funcionalidad de ProcessWire con módulos  #

ProcessWire está construido sobre una arquitectura modular y fácilmente ampliable, y muestra: Cada instalación consta del núcleo de ProcessWire (la esencia de ProcessWire, que habilita la funcionalidad básica) y un conjunto de módulos preempaquetados (los llamados módulos centrales) que se ubican en la parte superior del núcleo y extenderlo.

Módulos principales  #

Algunos de estos módulos preempaquetados se instalan y activan de forma predeterminada, y otros se desinstalan de forma predeterminada. Por ejemplo, el sistema de comentarios integrado de ProcessWire es un módulo que puede activar o desactivar en cualquier momento. Además, cosas como el campo repetidor del que hablamos anteriormente y la compatibilidad con el contenido en varios idiomas son básicamente módulos que puedes instalar si los necesitas en su proyecto. Otros ejemplos de pequeños módulos centrales son los Nombres de página, que validan la entrada de texto cuando estás escribiendo un nombre de página (transformando automáticamente, digamos, diéresis como ä a ae), y el Historial de rutas de página, que realiza un seguimiento de las URL pasadas donde las páginas tienen en vivo y redirige automáticamente a la nueva ubicación cada vez que se accede a una URL anterior.

Encontrar e instalar módulos  #

El repositorio de módulos oficial es el lugar principal donde puedes encontrar y descargar módulos de ProcessWire. En la página de un módulo, encontrarás la descripción y el propósito del módulo y enlaces al respectivo repositorio de GitHub y foro de soporte. Se recomienda encarecidamente a los autores de módulos que publiquen sus módulos en el repositorio oficial porque tiene la mayor visibilidad y es el lugar en el que la gente piensa primero cuando quieren encontrar un módulo de ProcessWire. Instalar un módulo es tan fácil como arrastrar los archivos del módulo al directorio /site/modules/ e instalarlo en la GUI de administración. Hay otras formas de instalar un módulo, como instalando el Administrador de módulos, que permite explorar (e instalar) módulos sin salir de la GUI de administración.

Módulos comerciales  #

Si bien la mayoría de los módulos son gratuitos, también hay algunos comerciales. Los que se promocionan en la tienda de ProcessWire son del desarrollador principal, Ryan Cramer. Allí encontrarás los siguientes módulos:

  • ProDrafts permite mantener versiones en vivo y en borrador separadas de cualquier página. También proporciona una herramienta de comparación y diferenciación, así como capacidades de guardado automático.
  • Los ProFields son un grupo de módulos ProcessWire que ayudan a administrar más datos con menos campos, lo que ahorra tiempo y energía.
  • ProCache (entre otras cosas) proporciona un aumento de rendimiento impresionante para tu sitio web al omitir por completo PHP y MySQL y permitir que tu servidor web entregue páginas de su sitio web ProcessWire como si fueran archivos HTML estáticos.

No te pierdas las capturas de pantalla y los videos en las páginas del módulo para obtener una primera impresión. Este es un software finamente ejecutado. También hay módulos comerciales fuera del sitio web oficial, como Padloper, una plataforma de comercio electrónico construida sobre ProcessWire. Para ser justos, lo que definitivamente falta en ProcessWire cosmos es una forma para que los autores de módulos publiquen fácilmente sus módulos comerciales en un lugar centralizado.

¿Cómo se comparan generalmente los módulos ProcessWire con los complementos de WordPress? #

La razón por la que ProcessWire tiene menos módulos que WordPress (aproximadamente 400 frente a más de 40.000) no es tanto porque sea menos popular (un eufemismo, por supuesto), sino más porque el núcleo en sí ya tiene tantas funciones que agregar un tonelada de módulos para ampliarlo simplemente no es necesario. Por ejemplo, no necesita un módulo para crear una presentación de diapositivas de galería o para obtener el primer hijo de algo o para generar miniaturas. Todo eso (y mucho más) ya está cubierto de inmediato. Entonces, mientras que en WordPress su método típico para resolver un problema sería buscar un complemento, en ProcessWire primero buscaría las herramientas disponibles en el núcleo; en el 90% de los casos, eso le proporcionaría la solución.

Qué puedes construir con ProcessWire  #

Debido a que ProcessWire se comporta más como un marco que como un CMS (el núcleo es en realidad un marco y el CMS es una aplicación construida sobre él), los casos de uso para construir cosas con ProcessWire son bastante amplios. Es posible que desees consultar algunos sitios web impulsados ​​por ProcessWire (especialmente los sitios web que más gustan). ProcessWire es una buena opción si deseas desarrollar una API REST JSON, una aplicación de cambio de tamaño de imagen para empleados, una interfaz para administrar millones de productos (la escalabilidad es bastante impresionante: puedes tener literalmente millones de páginas en una sola instalación), una aplicación web para mostrar los resultados financieros de las empresas, un blog simple, un sitio web para una gran universidad o simplemente un sitio web informativo de una página.

A dónde ir desde aquí: hay mucho por descubrir  #

Naturalmente, una guía para principiantes no puedes hablar de todo lo que la herramienta tiene para ofrecer. Entonces, aquí hay una breve lista de otras características, hechos, enlaces y herramientas de ProcessWire que vale la pena mencionar:

Resumen  #

ProcessWire es un sistema que recompensa por ser curioso. Nuestro objetivo es mostrar cómo pescar para que pueda atrapar al pez grande.

Esta declaración de Ryan Cramer, el creador de ProcessWire, resume de qué se trata ProcessWire. Creo que lo que resuena a mucha gente es que ProcessWire es un sistema que va de lo simple a lo complejo, no al revés. No asume lo que desea construir, sino que establece una base sólida y sin opiniones al ofrecer herramientas efectivas y poderosas y dejar el resto a tu elección. Esa estética conceptual tiene, para mí, un cierto atractivo.

¿Qué opinas?

Escrito por Wombat

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Cómo internacionalizar tu sitio web de WordPress

Los 23 mejores temas child de Genesis para WordPress (2024 – Selección de expertos)