El configurador debe parecerse a su tienda: colores, fuente, esquinas, el aspecto de los campos de selección. Todo esto se adapta con CSS, sin nada de JavaScript. Esta página se aplica al motor de frontend V3. Legacy genera otro HTML, por lo que allí no funcionan las variables y clases que se describen a continuación.
Lo que el configurador ya toma de la tienda
En una tienda –a través de un plugin de tienda o del fragmento HTML– el configurador toma de su tema la fuente, el tamaño de fuente y el color del texto. Para ello no tiene que hacer nada. Solo tiene que adaptar lo que el configurador trae consigo: color de acento, bordes, fondos, esquinas.
Si lo integra con data-configento-embed-mode="admin-preview", muestra él mismo el título, el precio y el resumen y también usa sus propios colores para los textos. Incluso entonces hereda la fuente de la página.
Dónde va su CSS
Tiene dos lugares:
- El tema de su tienda: lo adecuado si todos los configuradores deben tener el mismo aspecto.
- CSS personalizado en la Configuración del componente, en Diseño: lo adecuado para un solo componente. Se carga con el configurador, en la tienda y en la vista previa del admin.
Escriba [data-configento] delante de las reglas para elementos individuales, p. ej. [data-configento] .cfg-toggle-item__price. El configurador carga su propio CSS después de su tema; con este prefijo, su regla prevalece de todos modos. Para las variables de abajo no hace falta.
Colores, fuente y esquinas
La adaptación más sencilla: definir variables en :root. Actúan en todo el configurador y también en la vista ampliada de imágenes y en las ventanas de información, que se abren fuera del configurador.
:root {
--configento-color-accent: #1d3c78;
--configento-color-border: #c8d0e0;
--configento-radius-md: 0;
}
| Variable | Predeterminado | Actúa sobre |
|---|---|---|
--configento-color-accent |
#2563eb |
Valores elegidos, botones de radio y casillas de verificación, imágenes elegidas, pestaña activa, barra de progreso, botón Siguiente, enlaces en textos |
--configento-color-accent-fg |
#ffffff |
Texto sobre superficies en el color de acento, p. ej. en el botón Siguiente |
--configento-color-accent-soft |
#dbeafe |
Fondo claro en el color de acento, p. ej. en la pestaña activa |
--configento-color-border |
#e2e8f0 |
Bordes y líneas divisorias |
--configento-color-border-strong |
#cbd5e1 |
Bordes de campos de entrada y botones |
--configento-color-bg |
#ffffff |
Fondo del configurador |
--configento-color-bg-subtle |
#f8fafc |
Superficies ligeramente destacadas |
--configento-color-bg-elevated |
#ffffff |
Grupos, listas de selección, botones y ventanas |
--configento-color-fg |
#0f172a |
Texto: solo con admin-preview; en la tienda procede del tema |
--configento-color-fg-muted |
#64748b |
Textos secundarios: solo con admin-preview |
--configento-color-error |
#b91c1c |
Mensajes de error y campos con errores |
--configento-color-error-soft |
#fee2e2 |
Fondo claro de los errores |
--configento-color-success, --configento-color-success-soft |
#059669, #d1fae5 |
Mensajes de éxito |
--configento-color-warning, --configento-color-warning-soft |
#b45309, #fef3c7 |
Advertencias |
--configento-radius-sm, -md, -lg |
4px, 8px, 12px |
Esquinas: elementos pequeños, campos y mosaicos, ventanas |
--configento-font-family |
Fuente de la página | Fuente: solo es necesaria si el configurador debe usar una fuente distinta de la de la página |
Los nombres de estas variables se mantienen iguales en todas las versiones 3.x.
Color activo: si en la configuración del componente, en Diseño, hay un Color activo definido, este se aplica a ese componente en lugar de --configento-color-accent. Deje el campo vacío si el color debe venir de su CSS.
Otra fuente: si el configurador debe usar una fuente distinta de la de la página, defínala en el elemento con data-configento. La fuente debe estar cargada en la página, por ejemplo a través de su tema.
[data-configento] { font-family: 'Source Sans 3', sans-serif; }
Diseñar elementos individuales
Para ir más allá de las variables existen clases y atributos que garantizamos: se mantienen iguales en todas las versiones 3.x y solo cambian con una nueva primera cifra de versión. Las demás clases y el resto de la estructura HTML pueden cambiar.
Marco de cada característica
| Clase / atributo | Elemento |
|---|---|
.cfg-char |
La característica completa. También lleva las clases del campo Clase CSS de la característica. |
[data-configento-char-id], [data-configento-char-type] |
En el mismo elemento: ID y tipo de datos de la característica, p. ej. radiobuttons, checkbox, text, area, select |
[data-configento-invalid] |
En el mismo elemento, mientras se muestra un mensaje de error |
.cfg-char__head |
Fila de cabecera con el título |
.cfg-char__title |
Título |
.cfg-char__required |
Asterisco de campo obligatorio en el título |
.cfg-char__info |
Texto informativo bajo el título |
.cfg-char__body |
El elemento de entrada con todo lo que le pertenece |
.cfg-char__errors, .cfg-char__error |
Lista de mensajes de error y cada mensaje individual |
Botones de radio y casillas de verificación
| Clase / atributo | Elemento |
|---|---|
.cfg-toggle-list |
Lista de todos los valores |
.cfg-toggle-item con [data-configento-value-id] |
Un valor, con su ID |
.cfg-toggle-item__label |
El label que rodea toda la fila. El input (type="radio" o type="checkbox") es su hijo directo. |
.cfg-toggle-item__image |
Imagen del valor |
.cfg-toggle-item__text |
Bloque de texto con etiqueta y textos informativos |
.cfg-toggle-item__label-text |
Etiqueta del valor |
.cfg-toggle-item__info |
Texto informativo del valor |
.cfg-toggle-item__price |
Recargo |
Al estado seleccionado se accede a través del input, p. ej. .cfg-toggle-item__label:has(input:checked).
Campos de entrada y listas de selección
| Clase | Elemento |
|---|---|
input.cfg-input |
Campo de entrada de una línea |
textarea.cfg-textarea |
Campo de entrada de varias líneas |
select.cfg-select |
Lista de selección |
Si el CSS no basta porque una característica debe tener un aspecto y un comportamiento totalmente distintos (por ejemplo, como una matrícula), dibújela en JavaScript con una representación propia.
La forma más sencilla de dirigirse a una característica concreta es una clase propia: introdúzcala en el editor, en el campo Clase CSS de la característica, y aparecerá en el elemento .cfg-char.
Ejemplos
Botones de radio propios: círculo con CSS en lugar del estándar del navegador y fila elegida resaltada:
[data-configento] [data-configento-char-type="radiobuttons"] .cfg-toggle-item__label > input {
appearance: none;
width: 1.25rem;
height: 1.25rem;
border: 2px solid var(--configento-color-accent);
border-radius: 50%;
}
[data-configento] [data-configento-char-type="radiobuttons"] .cfg-toggle-item__label > input:checked {
background: radial-gradient(var(--configento-color-accent) 45%, transparent 50%);
}
[data-configento] .cfg-toggle-item__label:has(input:checked) {
background: var(--configento-color-accent-soft);
}
Para ello, defina --configento-color-accent y --configento-color-accent-soft en :root, como se muestra arriba.
Mostrar los errores con más claridad:
[data-configento] .cfg-char[data-configento-invalid] .cfg-char__title { color: var(--configento-color-error); }
[data-configento] .cfg-char[data-configento-invalid] .cfg-input { border-color: var(--configento-color-error); }
Ocultar los recargos, por ejemplo si su tienda los muestra de otra forma:
[data-configento] .cfg-toggle-item__price { display: none; }
Solución de problemas
| Problema | Causa y solución |
|---|---|
| Su regla no tiene efecto | El configurador carga su CSS después de su tema. Escriba [data-configento] delante del selector. |
| El color funciona en el configurador, pero no en la vista ampliada de imágenes | La variable está definida en un elemento en lugar de en :root. La vista ampliada se abre fuera del configurador. |
| Se ignora el color de acento del CSS | En el componente hay un Color activo definido. Vacíe el campo. |
| El color del texto no cambia | En la tienda, el color del texto procede del tema. --configento-color-fg solo funciona con admin-preview. |
| Tras cambiar a V3 todo se ve distinto | Legacy tiene otras clases. Reconstruya su CSS con las variables y clases de esta página y compruébelo en la vista previa. |
Próximos pasos
- Configuración del componente: Color activo y CSS personalizado
- Integración fragmento HTML
- Interfaz JavaScript (V3): si quiere intervenir más allá del aspecto
- Motor de frontend: Legacy o V3