Manual:Wiki/Cómo crear un formulario
Cómo crear un formulario
Se trata de formularios semánticos mediante la extensión Semantic Forms, que ya está instalada en esta wiki
Pasos previos
Se necesitan 2 cosas antes de crear un formulario:
- Tener definidos los atributos (propiedades) que van a ser usados
- Disponer de una plantilla de salida
¿Qué es un atributo o propiedad?
Cada campo de un formulario está vinculado a un atributo o propiedad el cual define de qué tipo de dato se trata:
- Propiedades, listado de atributos usados
- Tipos de datos
¿A mano o a máquina?
Mediante esta extensión, mediawiki dispone de formularios para crear formularios... sin embargo, aconsejo hacerlo a mano, pues así se entiende mejor lo que está pasando, y cuando ya se entiende es más rápido igualmente hacerlo a mano.
¿Cómo creo una plantilla?
Es tan fácil como ir a un dirección tipo Plantilla:Lo que sea y crear la plantilla teniendo en cuenta que los valores de los campos se llaman así:
[[\Propiedad::{{{\Nombre del campo|}}}]]
Sustituyendo lo que está escapado (con \ delante) por lo que corresponda. No es necesario llamar a todos los campos que vaya a haber en el formulario, sino sólo los que interese mostrar mediante esta plantilla en concreto. Es decir, que el formulario para crear un formulario te pide una plantilla de salida inicial, pero luego, los datos introducidos mediante el futuro formulario, los podremos visualizar de distintas formas, independientemente de los campos que muestre o no la plantilla inicial.
Por ejemplo, si voy a crear un formulario para registrar preguntas tipo FAQ, una especie de Ask4Questions, la plantilla podría ser tan simple como esta:
[[Título::{{{Pregunta|}}}]] [[Resumen::{{{Respuesta|}}}]]
Y una vez rellenado el formulario, el resultado mostrado mediante la plantilla devolvería simplemente la pregunta en una primera línea y la respuesta a partir de la siguiente. Pero el formulario podría haber tenido más campos, como podría ser uno con palabras clave relacionadas con la cuestión, el nombre de usuario que rellena el formulario, o lo que fuera menester, independientemente de la plantilla que se halla vinculado desde el formulario.
Por ejemplo, en el formulario de Especial:FormEdit/NodoHM, se pregunta la hora en la que el dinamizador prefiere hacer el nodo, para que luego sea un poco más fácil cuadrarlo en la parrila; pero esa información introducida mediante el formulario, podría ser o no ser mostrada luego, mediante la plantilla. Pero está allí, se puede acceder viendo el código generado por el formulario, o bien mediante consultas con #Ask.
Compruébalo en cualquier página con la Plantilla:NodoHM, como esta. Las preferencias horarias están en el código, pues fueron introducidas mediante el formulario, pero, sin embargo, no sale una vez llamada la plantilla.
Es simplemente que los formularios generan un código wiki que llama a la plantilla asociada para mostrar la información o parte de ella. Por lo tanto, si modificamos la plantilla, modificamos la manera en que es mostrada la información desde donde sea que ésta sea llamada.
¿Qué código wiki genera un formulario?
Por ejemplo, el generado por el formulario de una tarea pendiente es este:
{{Tarea pendiente |Título=Comprar gallumbos y bragas |Comisión=Autofinanciación |Resumen=Para poder hacer la serigrafía en ellos en el pre-Hackmeeting |Prioridad=Media |Estado=Esperando respuesta }}
Es decir, le pasa a la Plantilla:Tarea pendiente como parámetros el título, la comisión, etc, y ésta devuelve el resultado:
Comprar gallumbos y bragasPara poder hacer la serigrafía en ellos en el pre-Hackmeeting Comisión: Autofinanciación Añadir una tarea # Ver tareas pendientes # Editar esta tarea |