Una de las mejores cosas de un CMS es que almacena toda la información de su sitio web en una sola base de datos (como una hoja de cálculo de Excel) y le brinda acceso fácil para editar esa información en el administrador. Cuando edita el título, el resumen o la copia del cuerpo de una página, y hace clic en publicar, Esencialmente estás actualizando esa base de datos con la información cambiada. ¿Pero qué sucede si desea almacenar información adicional asociada con un tipo de contenido en particular? Una página de perfil, por ejemplo, puede contener una estructura repetitiva de información sobre esa persona (Nombre, Apellido, Título del trabajo, etc.). Tradicionalmente, sus opciones serían volver a escribir toda esa información cada vez, o tendría que modificar la base de datos (ya sea directamente o escribir algunos scripts personalizados para hacer eso por usted) para crear columnas adicionales que contengan esa información. Luego, tendría que modificar la interfaz de usuario (UI) para proporcionarle campos de formulario adicionales para ingresar esa información..
En Mura CMS, todo el proceso se simplifica con el uso de Atributos ampliados. En el administrador de Mura, puede extender casi cualquier tipo de nodo de contenido (Página, Componente, Galería, Carpeta, etc.) y agregar tantos campos adicionales como desee, todo sin tener que tocar la base de datos ni escribir ningún código..
En este ejemplo, vamos a crear un nuevo tipo de página para un libro. Además del título, cada libro tendrá los siguientes campos para que los llene el administrador de contenido:
Autor
Fecha de lanzamiento
ISBN
Nuevo usado
Precio
Hay tres partes involucradas en la creación de atributos extendidos:
Extensión de la clase: Este es el nodo base que está extendiendo (página, carpeta, galería, componente, etc.)
Conjunto de Attrbute: Una agrupación de atributos ampliados, que se muestra cuando el usuario está editando contenido
Atributos ampliados: Campos individuales para los datos que desea recopilar (como hemos enumerado anteriormente).
Crear la extensión de clase
El primer paso es crear la extensión de clase. Este es el objeto principal. Tipo y Subtipo que albergará todos los atributos extendidos. Para crear una nueva extensión de clase:
Desde el administrador de Mura, vaya a seleccionar Configuración del sitio>Class Extension Manager> Agregar extensión de clase.
por Tipo de base Seleccionar Página.
Debajo Subtipo, tipo Libro Nota: Al dejar "Subtipo" establecido en "Predeterminado" se aplicarán los atributos extendidos que cree a TODOS los nodos de contenido de ese tipo.
Debajo Icono, Seleccione el icono del libro para asociarlo con el subtipo de libro..
Hacer clic Añadir.
Añadir conjunto de atributos extendidos
Ahora que tiene su extensión de clase de página / libro, debemos agregar algunos atributos extendidos para los elementos que necesitamos para el libro. Los atributos ampliados se agrupan en conjuntos de atributos, de forma muy similar a un en un formulario HTML). Los conjuntos de atributos están separados visualmente en el administrador para permitir la separación modular para el usuario.
Para crear un conjunto de atributos:
Seleccionar Añadir > Añadir conjunto de atributos.
Entrar Detalles del libro Para el Nombre de conjunto de atributos. Este conjunto contendrá todos los detalles que necesitamos para cada libro..
Para el Contenedor (Tabulador), seleccionar BASIC (Puede seleccionar pestañas alternativas en la interfaz de usuario de Mura para la organización)
Hacer clic Añadir.
Añadir atributos extendidos
Una vez que haya creado su conjunto de atributos, puede agregar los atributos ampliados individuales. Comenzaremos agregando un campo de texto sin formato para el autor del libro:
Dentro de tu Detalles del libro Conjunto de atributos, haga clic en Añadir nuevo atributo.
En el Nombre campo, entrar libro autor. Nota: Es importante que la variable tenga un espacio de nombre basado en su subtipo y el nombre del atributo. Por ejemplo, si el subtipo es 'Libro' y el atributo que desea agregar es 'título', entonces use 'título de producto' como el 'nombre' real del atributo. Si tiene varios atributos extendidos personalizados para su sitio, podría crear fácil y accidentalmente dos (o más) atributos extendidos con el mismo nombre. No hagas esto! Además, evite utilizar cualquiera de los nombres de campo de formulario estándar de Mura. Esto es para evitar colisiones de nombres de campos de formulario, de lo contrario, podría terminar involuntariamente con dos campos de formulario con 'Título' para el atributo de nombre, uno de Mura y el otro de su atributo extendido.
En el campo Etiqueta, ingrese la etiqueta fácil de usar para el campo que aparecerá para el usuario.
Para el Tipo de entrada, seleccionar Caja de texto.
por Información sobre herramientas, ingrese una sugerencia fácil de usar sobre lo que debería incluirse en el campo de entrada. Algo como "Por favor ingrese el nombre de quién escribió el libro" para asegurarse de que los usuarios entiendan lo que significa ese campo.
Su formulario completo debe verse así:
Hacer clic Añadir
Para los campos restantes, repita los pasos anteriores con los siguientes detalles para cada campo:
Fecha de lanzamiento
Nombre: bookReleaseDate
Etiqueta: Fecha de lanzamiento
Tipo de entrada: Caja de texto
Información sobre herramientas: Por favor seleccione la fecha de publicación del libro.
Validar: Fecha (esto agregará un selector de fecha al campo)
ISBN
Nombre: bookISBN
Etiqueta: ISBN
Tipo de entrada: Caja de texto
Información sobre herramientas: Por favor ingrese el ISBN del libro
Nuevo usado
Nombre: libroNuevoUsado
Etiqueta: Nuevo o usado
Tipo de entrada: SelectBox
Información sobre herramientas: Por favor, seleccione si el libro es nuevo o usado
Lista de opciones (los valores html para los elementos en la lista desplegable): nuevo ^ usado
Lista de etiquetas de opciones (las etiquetas fáciles de usar para los elementos en la lista desplegable): Nuevo ^ Usado
Precio
Nombre: precio del libro
Etiqueta: Precio $
Tipo de entrada: Caja de texto
Información sobre herramientas: Por favor ingrese el precio del libro
Usando una extensión de clase
Ahora que ha creado todos sus atributos extendidos, puede agregar un nuevo libro desde el administrador del sitio y completar todos los campos del formulario que acaba de crear..
Ve a la Administrador del sitio
Junto a la Página de inicio, pase el cursor sobre el signo (+) y seleccione Agregar contenido
Seleccionar Carpeta
Entrar Libros Para el Título
Seleccione la pestaña Diseño y Objetos
Debajo Plantilla de diseño de hijo alternativo, seleccionar twoCol_SR.cfm
Hacer clic Publicar
Junto a la carpeta Libros en el Administrador del sitio, pase el cursor sobre el signo (+) y seleccione Agregar contenido
Cuando el Seleccione el tipo de contenido Aparece modal, ahora deberías ver el Libro Tipo de página, junto con el icono correspondiente..
Ingrese el título del libro, resumen y contenido
deberías ver el Detalles del libro Conjunto de atributos debajo del campo de contenido en la pestaña Básico (si no lo ve allí, puede haber seleccionado una pestaña diferente para mostrar el conjunto de atributos, como Atributos ampliados). Ingrese la información respectiva de los libros y haga clic en Publicar
Visualización de atributos extendidos
Cuando vea la página, notará que sus atributos no se muestran. Esto se debe a que debemos decirle a Mura que muestre esos valores en la página. Ahora, hay varias formas de lograr esto, todas dependiendo del caso de uso y de la flexibilidad que desee dar a sus usuarios para cambiar el diseño de la página. En este ejemplo, vamos a crear un componente que genere la información que queremos, de modo que sea versátil para usar en cualquier plantilla de página que elijamos..
Crear un nuevo componente
En el administrador de Mura, haga clic en ir a Módulos> Componentes
Seleccionar Agregar componente
En el Título campo, entrar Detalles del libro
En el área de contenido, ingrese lo siguiente: Detalles Autor: [m] $. contenido ('bookAuthor') [/ m] Fecha de lanzamiento: [m] dateFormat ($. content ('bookReleaseDate'), 'mm / dd / aa') [/ m] ISBN: [m] $. contenido ('bookISBN') [/ m] Condición: [m] $. contenido ('bookNewUsed') [/ m] Precio: $ [m] $. contenido ('bookPrice') [/ m]
Nota: Estamos utilizando un formato simple para este ejemplo, sin embargo, puede marcarlo y personalizarlo como lo desee con CSS.
Hacer clic Publicar
Agregue el componente a las páginas del libro
De vuelta en el Administrador del sitio, busque el Libros carpeta (no el libro en sí), y haga clic en ella para editar.
Selecciona el Diseño y objetos lengüeta
Debajo Reglas de herencia, seleccionar Iniciar nueva cascada
Debajo Objetos de contenido, Seleccione Componentes, localice el Detalles del libro componente y agregarlo a la Columna derecha región de visualización.
Hacer clic Publicar
Ahora, cuando actualice la página de su libro, debería ver los detalles del libro en la barra lateral derecha..
Terminando
Como mencioné anteriormente, esta es simplemente una forma de mostrar los atributos extendidos. También puede optar por incorporar sus atributos extendidos en su página o plantillas de componentes, donde puede usar lógica adicional y evitar que sus usuarios modifiquen su marca..
Si desea mostrar sus atributos extendidos dentro de una plantilla, simplemente cambie el [metro] a # p.ej. # $. contenido ('bookAuthor') #
los [metro] La etiqueta es parte de Mura Scope para permitirle mostrar ciertas funciones de Mura dentro del editor en el administrador, donde los hashtags (#) son la forma estándar de generar contenido en CFML.
Ahora que ha aprendido a usar Class Extensions, puede llevar sus temas de Mura a un nivel completamente nuevo al brindar a sus usuarios formas más sólidas de administrar el contenido de sus temas..