Único archivo de configuración
CFG nació por la necesidad recurrente de gestionar configuraciones en plugins y esqueletos.
Su lema es la sencillez. Por lo tanto la configuración de « cualquier_cosa » (un plug-in, una esqueleto o lo que quieras) se basa en un solo archivo fonds/cfg_cualquier_cosa.html [1]
Este « fond » contiene un formulario y las propiedades/opciones que se transmiten a CFG.
La modificación de datos (para una administrador del sitios) se realiza fácilmente a través de la acción CFG como ecrire/?exec=cfg&cfg=cualquier_cosa
o cualquier_cosa correspondiente al nombre de archivo fonds/cfg_cualquier_cosa.html
.
El formulario
Se trata de un formulario HTML estándar, interpretado como un esqueleto. Los datos manejados son reconocidos mediante el atributo « name » del campo del formulario. Por ejemplo :
- <input type="text" name="cosa"...>
,
- <select name="cosa"...>
,
- <textarea name="cosa" ...>
Notas sobre los valores del atributo « name »
- Los nombre comenzado por _cfg_ se reservan al funcionamiento interno.
- Los nombres comenzados por id_ pueden ser problemáticos.
Enviar una acción asegurada
La acción del formulario está asegurada. Simplemente se debe agregar al formulario <form ...>
un campo oculto :<form method="post" action="#SELF">[(#ENV{_cfg_}|form_hidden)]
Botones de envío y cancelación
Por último, el botón de submit y el de reset deben llamarse _cfg_ok y _cfg_delete respectivamente (nombres reservados).
Formulario mínimo
Un formulario mínimo sería el siguiente :
<form method="post" action="#SELF"><div>[(#ENV{_cfg_}|form_hidden)]
<input type="text" name="mi_texto" value="#ENV{mi_texto}" />
<textarea name="mi_area">[(#ENV{mi_area})]</textarea>
<input type="submit" name="_cfg_ok" value="<:OK:>" />
<input type="submit" name="_cfg_delete" value="<:Supprimer:>" />
</div></form>
Como se puede ver, los valores de los datos se recuperan con #ENV{cosa}
Importante : El método de análisis de los formularios de CFG implica respetar el orden de los atributos de los campos input, textarea, select : type
y luego name
; luego opcionalmente class
y luego el resto de los atributos si los hubiera.
Las propiedades del objeto cfg
Mediante comentarios HTML comenzado por propiedad= es posible específicar propiedades intrínsecas del objeto CFG que manipulará el formulario.
Por ejemplo, se puede definir el título del formulario [2]
<!-- titre=Título del formulario-->
Se pueden usar balizas SPIP y archivos de idiomas :
<!-- descriptif=<multi>[es] Descripción en español [fr]Descriptif français [en]In english</multi>-->
<!-- descriptif=<:prefijo_plugin:descripcion_del_plugin:>-->
Aquí, la descripción será completamente interpretarse como un esqueleto ... incluyendo bucles y toda la maquinaria de guerra SPIP.
Propiedad | Descripción |
---|---|
titre | Uno de los dos títulos, será el principal si boite también está presente |
boite | Título secundario del formulario |
descriptif | La descripción mostrada a la izquierda |
nom | El prefijo de nombre con el que se guarda la información en la base. El valor predeterminado es el nombre del formulario , xxx de fonds/cfg_xxx |
Existen otras propiedades avanzadas que pueden estudiarse en el artículo API CFG : Paramètres des formulaires
Usando los datos
Los datos almacenados se serializan bajo el nombre « cualquier_cosa » dentro de la tabla spip_meta.
Para recuperarlos dentro de un esqueleto se utiliza la baliza #CONFIG que interpreta cfg para extraer los datos particulares mediante el separador /.
Por ejemplo #CONFIG{cualquier_cosa/mi_area}
devolverá el valor del campo mi_area producido por el formulario fonds/cfg_cualquier_cosa.html
Desde PHP se realiza análogamente mediante lire_config('cualquier_cosa/mi_area')
#CONFIG{}
o lire_config()
admiten como
segundo parámetro el valor a retornar por defecto. Por ejemplo
#CONFIG{cualquier_cosa/mi_area, área por defecto} devolverá <code>área por defecto
si cualquier_cosa no existe o mi_area está vacía.
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |