Configuración y opciones
Por lo general, un sitio web tiene muchos tipos de página (inicio, lista de noticias, noticias, blog...). Tal vez todas las plantillas tengan una zona común donde se muestran los iconos de redes sociales (un icono para el sitio de la empresa en Facebook, otro con el perfil en Twitter, etc.) La dirección URL de cada perfil de red social sería una opción del tema, por tanto en Navigate CMS el usuario debería poder establecer estos valores sin modificar los archivos de tema.
Otro ejemplo simple es la opción del tema para seleccionar el logotipo de la página web mostrado en todas las páginas.
Del mismo modo, puedes definir opciones relacionadas con un tipo de página determinada. En la plantilla de una entrada del blog, por ejemplo, puedes definir una propiedad llamada "imagen_lista_blog" correspondiente a la imagen que se mostrará al enumerar las entradas de blog.
Las propiedades/opciones se definen como objetos JSON siguiendo este formato:
{
"id": "código_interno_de_la_opción",
"name": "@nombre_de_la_opción",
"element": "item|structure tipo de elemento donde va a usarse la opción",
"type": "tipo de la opción",
"dvalue": "valor por defecto cuando se deja en blanco",
"propiedad_especial": "valor_de_la_propiedad_especial"
}
Un ejemplo simple:
{
"id": "logo",
"name": "@logo",
"element": "item",
"type": "image",
"dvalue": "img/logo.png"
}
"logo" es el identificador de propiedad que se utilizará en las plantillas cuando se solicite el valor de la propiedad. "name" es un texto que describe la propiedad (se puede traducir en el diccionario del tema) y se mostrará en Navigate CMS durante la edición de esa propiedad. "tipo" es el tipo de campo que se debe mostrar. "dvalue" representa el valor por defecto de la propiedad cuando el usuario la deja vacía (atención: las rutas en la definición del tema son siempre relativas a la carpeta raíz del tema).
Lista de los tipos de propiedad
nombre | descripción | ejemplo de valor | notas / atributos personalizados |
---|---|---|---|
value | número o valor único | 2012 info@tudominio.com |
el valor no depende del idioma |
rating | valoración |
5#10 |
por defecto: visualización de 5 estrellas |
boolean | casilla sí/no |
1 | 1: verdadero / 0: falso |
option | seleccionar un valor único entre un conjunto |
3 |
'options': {
Todos los nombres de las opciones serán comprobadas con el diccionario del tema. |
moption | seleccionar varios valores de un conjunto |
3,5 | mismo formato que "opción" |
webuser_groups | selector de grupos de usuarios web | 1,2 | |
country | selector de país | es | |
coordinates | seleccionar una latitud y longitud (con un mapa) | 40.689231#-74.044505 |
Latitud#Longitud
|
text | campo de texto (una línea) |
{"es": "default en Inglés" "es": "default en español"} |
propiedad multi idioma, un campo para cada idioma |
textarea | área de texto (varias líneas) |
{"en": "por defecto en Inglés" "es": "por defecto en español"} |
propiedad multi idioma, un campo para cada idioma |
rich_textarea | área de texto tinyMCE | { "en": "<span>test</span>", "es": "<span>prueba</span>"} |
propiedad multi idioma, un campo para cada idioma |
source_code | área de texto codemirror | <div><strong>hola</strong></div> | código fuente html |
color | selector de color hexadecimal | #FFFFFF | |
date | selector de fecha | 1356139800 | marca de fecha (sin hora) [timestamp] |
datetime |
selector de fecha y hora | 1356139800 | fecha y hora en un timestamp |
decimal | cifra numérica decimal o entera | 17.08 | precision (número de decimales) prefix (texto antes del campo editable; p.e. $) suffix (texto después del campo editable; p.e. €) |
link | enlace: título y url | { "en": "http://www.navigatecms.com/en##Navigate CMS website in English", "es": "http://www.navigatecms.com/es##Navigate CMS website en Español" } |
propiedad multi idioma, dos campos por idioma (título + url) en la definición del tema, el valor por defecto para cada idioma se escribe de esta manera: "url_enlace##nombre_enlace" |
image | selector de archivo de imagen |
325 | Identificador del fichero |
video | selector de vídeo externo o archivo de vídeo | provider#reference: file#327 youtube#3MteSlpxCpo |
un id numérico, sin proveedor, se considerará como un fichero interno |
file | selector de fichero |
326 | Identificador del fichero |
comment | texto de ayuda (no editable) |
{"en": "por defecto en Inglés" "es": "por defecto en español"} |
texto de ayuda mostrado sólo dentro de Navigate CMS |
category | selección de una entrada de la estructura | 17 | identificador de la entrada de la estrucutra seleccionada |
element | elemento relacionado | 8 |
identificador del elemento relacionado nota: añade la propiedad "element_template" para obtener sólo los elementos con la plantilla indicada |
0 Comentarios