Personal tools
User Handbook/Admin Panel/Extensions/User Defined Tags/es
From CMSMS
Table of Contents
- Inicio
- Instalación
- Primeros pasos
- El panel de administración
- Resolución de problemas
- Contenido
- Diseño
- Usuarios y grupos
- Extensiones
- Módulos
- Etiquetas
- Administrador de eventos
- Etiquetas definidas por el usuario
- Administración del sitio
- Mis preferencias
- Ver sitio
- Extensiones
- Trucos y consejos
- Glosario de términos
- Guía del desarrollador
This page in: English - Deutsch - Français - Svenska - Русский - Norsk - Polski - Nederlands - Español - Lietuvių
Etiquetas definidas por el usuario
Tras haber realizado una descripción de las etiquetas definidas por el usuario (EDU) en el apartado extensiones, veamos cómo se realizan las tareas admisnistrativas relacionadas con ellas.
Versión rápida
Las EDU son una forma sencilla de introducir código PHP en tu sitio. Crea una nueva EDU (Extensiones -> Tags personalizadas -> Añadir tag personalizada) con tu código PHP pero sin <?php ni ?>. Puedes ejecutar etiquetas con la sentencia (smarty): {tag_name}
La instalación por defecto ya tiene una EDU definida llamada {user_agent}, ¿imaginas lo que hace
?.
Parámetros de las etiquetas
Puedes pasar parámetros a las EDUs de la siguiente forma:
{image_link src='hedgehog'}
Siendo el código de la etiqueta el siguiente:
echo '<a href="'.$params['src'].'.jpg" target="_blank">'; echo '<img src="t_'.$params['src'].'.jpg"></a>';
Versión detallada
Crear una EDU
Al igual que la mayor parte de las cosas en CMSMS, añadir un complemento es sencillo, aunque no son exactamente como unas vacaciones
- Nota del traductor: el eslogan de CMSMS es "Es tan sencillo que es como tomarse unas vacaciones", aunque parece que algunas cosas no lo son tanto
.
Para añadir un complemento sigue estos pasos:
- Desde el panel de administración, dirígete a Extensiones -> Tags personalizadas.
- Pulsa Añadir Tag Personalizada en la parte de abajo.
- Introduce el nombre de la etiqueta, que es el que tendrás que teclear entre corchetes para ejecutarla así que utiliza un nombre descriptivo pero que no sea largo.
- En la casilla de código, introduce el código PHP por el que será reemplazada la etiqueta cuando se procese la página que la contiene.
- Pulsa OK.
Tu primera EDU
En lugar de explicar pormenorizadamente hasta el último detalle de las EDUs, un ejemplo sencillo nos valdrá para empezar. Para ello crearemos una etiqueta que muestre el clásico ¡Hola Mundo!
Sigue los pasos que se describen arriba para crear una nueva EDU, llámala "holamundo" (sin comillas), y copia y pega el siguiente fragmento en el código:
echo "¡Hola Mundo!";
Y pulsa OK. Para probarla crea una nueva página de tipo "contenido" y teclea "{holamundo}" (sin comillas) en alguna parte del <body> y pulsa Preview. En lugar de verse {holamundo} deberías ver ¡Hola Mundo!.
El comando echo escribe lo que está entre comillas, así que también podemos usarlo para añadir HTML, DHTML, o JavaScript a nuestras páginas.
Edita la EDU que acabas de crear (pulsando el icono editar de su línea) en la página de Tags Personalizadas, y sustituye su código por este otro:
echo "<h3>¡Hola Mundo!</h3>";
Pruébala igual que la anterior, y deberías ver algo parecido a esto:
¡Hola Mundo!
"Pero si puedo hacer todo eso con un recorte HTML", estarás diciendo. Bien, las EDUs se vuelven realmente útiles cuando les añades parámetros. Los parámetros te permiten variar algo dentro de la tag. Supongamos que quieres saludar a alguien llamado Pepe, prueba este código:
echo "<h3>¡Hola ".$params['nombre']."!</h3>";
Con esto hemos añadido el parámetro "nombre" a la EDU, y los contenidos de dicho parámetro aparecerán en el resultado cuando ejecutes la EDU desde una página. Pruébala igual que antes, pero cambiando el contenido de la página por "{holamundo hombre='Pepe'}" en lugar de "{holamundo}". Verás algo como esto:
¡Hola Pepe!
Con esto hemos cubierto los aspectos básicos de la creación de una EDU. Puedes hacer cosas interesantes con el comando echo, los parámetros, y un poco de imaginación, así que piensa en lo que podrás hacer si aprendes un poco de PHP...
Pasar el contenido de la página como un parámetro
Puedes acceder al contenido de la página desde una EDU pasándola como parámetro:
Pon en tu plantilla:
{content assign=pagecontent}
{table_of_contents thepagecontent="$pagecontent"}
Crea una EDU llamada "table_of_contents" con este código:
echo $params['thepagecontent']; // Muestra el contenido de la página.
Puedes usar esto para procesar el contenido de la página y generar una tabla de contenido, por ejemplo.
Cómo obtener una URL a partir de su content_id
Supondremos que el content_id de tu página está en una variable llamada $page_contentd_id
global $gCms; $hm =& $gCms->GetHierarchyManager(); $curnode =& $hm->getNodeById($page_content_id); $curcontent =& $curnode->GetContent(); echo 'Page URL: '.$curcontent->GetURL();
Ejemplos de etiquetas definidas por el usuario
La comunidad de CMSMS ha publicado muchas etiquetas definidas por el usuario. Puede consultar un listado de algunas de ellas en esta página (en inglés).
This page in: English - Deutsch - Français - Svenska - Русский - Norsk - Polski - Nederlands - Español - Lietuvių
