Abel Martínez

Snippets (fragmentos) en MODX Revolution

Editado el 10-11-2020 a las 21:07:36

Los snippets son fragmentos, o podemos llamarlos scrpts, de código php, que se pueden ejecutar llamándolos con una etiqueta o desde dentro de otro snippet o plugin. Pueden realizar cualquier cosa que se pueda realizar con php: crear o borrar archivos, consultar a la base de datos y devolver resultados, modificar valores de variables mediante operaciones lógicas, etc, etc.

En esta sección, repasaremos cómo instalar un snippet existente usando el Administrador de paquetes de MODX. También crearemos desde cero algunos snippets propios. Comenzaremos con ejemplos muy simples e iremos complicándolo poco a poco. También veremos cómo usar las propiedades predeterminadas y los conjuntos de propiedades con los snippets.

Cuando MODX encuentra una etiqueta de snippet ( por ej.[[nombre-snippet]] 41 ), la etiqueta es remplazada por aquello que retorne el snippet. Las etiquetas de snippet pueden colocarse en recursos, chunks y plantillas. También pueden usarse como valores de propiedades o colocarlos dentro de otras etiquetas de MODX.

Las propiedades de snippet (comunmente llamadas parámetros) pueden ser enviadas en la etiqueta del snippet ([[nombre-snippet?&propiedad1=`valor`&propiedad2=`valor`]]), para proveer información al mismo, o para controlar sus acciones. Los snippets también pueden tener propiedades por defecto, que serán anuladas por cualquier nombre de propiedad coincidente en la etiqueta del snippet. También se puede especificar un conjunto de propiedades en la etiqueta ( por ej.[[nombre-snippet@nombreConjuntoPropiedades]] ).

Para snippets con un número significativo de propiedades o snippets cuyas propiedades tengan que ser editadas con frecuencia, los conjuntos de propiedades son un método mucho mejor,ya que no habrá que preocuparse de cometer errores con los signos de interrogación, ampersands, o comillas simples tumbadas, o de escribir mal los nombres de las propiedades.

Un snippet también puede ser usado en una etiqueta de chunk para definir su nombre. La etiqueta[[$[[nombresnippet]]]]es una etiqueta de chunk que incluye una de snippet. La de snippet retornará un nombre y la del chunk retornara el contenido del chunk con ese nombre.

Instalando un Snippet existente

Para instalar un Snippet existente, sigue estos pasos:

  • Vete al Menú superior del Manager de MODX
  • Abre el submenu de Componentes y pincha en Instalador (te llevará a la página Administración de Paquetes)
  • Pulsa el botón Descarga de Extras.
  • Selecciona el área deseada en el árbol que aparece a la izquierda, o usa el formulario de búsqueda para encontrar un paquete.
  • Pulsa en el botón Descargar del paquete que quieras (en el botón Ver detalles debería aparecer una descripción del paquete) y espera hasta que desaparezca.
  • Vuelve a la página principal del Administrador de Paquetes pinchando el icono .
  • Pulsa el botón Instalar correspondiente al paquete descargado.

Recuerda que no podrás usar nada de ningún paquete hasta que esté instalado.

Como práctica, te recomiendo instalar ahora el extra Simple Ace Code Editor, un sencillo editor de código que te facilitará un poco las cosas al trabajar con snippets. Sigue los pasos de instalación descritos anteriormente y, una vez instalado, asegúrate de que esté activado. Vete a Sistema->Configuración del Sistema e introduce which_element_editor en el formulario de búsqueda. El ajuste de sistema aparecerá en la tabla. Haz doble click sobre el valor y selecciona Simple Ace Code Editor.

Creación de un snippet sencillo

Crea un nuevo snippet pinchando con el botón derecho sobre "Snippets" en el arbol de "Elementos" y selecciona "Snippet Nuevo". Introduce Hola mundo en el campo de nombre del snippet.

Todos los snippets tienen que empezar por <?php. No añadas nada antes del inicio <?php.

En el campo Código del Snippet(php), entre las etiquetas de apertura y cierre de php, introduce el siguiente código y luego salva el snippet:

return "<p>Este es mi snippet Hola mundo</p>";

Comentarios 0

Añadir comentario





Vista previa

(anonymous) escribió::
29 de marzo del 2023, a las 21:40


Añadir un nuevo comentario:


Vista previa