Spartacus Información del Juego
Proveedores | WMS |
Tragamonedas | Sin Conexión |
Caracteristicas | Símbolo De Wild, Multiplicador, Simbolo Scatter, Tiradas Gratis, Con Bonos |
Tambores | 10 Tambores |
Tragamonedas Por Temas | |
Líneas de Pago | 100 Líneas de Pago |
Mín. Apuesta | 0.1 |
Máx. Apuesta | 250 |
Tragamonedas RTP | 95.94% |
Spartacus se basa en un patrón de diseño de aplicaciones de una sola página, pero todavía hay páginas que se representan en el escaparate. El concepto de “página” es clave para la web y no se puede evitar: las páginas se identifican mediante URL, se indexan con motores de búsqueda, se comparten a través de las redes sociales, se almacenan en el historial del navegador, etc. Las páginas son fundamentales para los usuarios finales y también para el proceso de creación de contenido.
Tabla de Contenidos
Estructura de la página
Las páginas de CMS se construyen con ranuras y componentes. Una página contiene ranuras y las ranuras contienen componentes. Para organizar las ranuras y los componentes comunes, Spartacus admite plantillas de página. Una plantilla de página contiene el diseño y los componentes que se pueden usar globalmente, como las secciones de encabezado y pie de página.
El CMS proporciona la estructura de la página, pero no proporciona una definición de diseño clara. La estructura de la página solo proporciona una lista ordenada de componentes por ranura, pero las ranuras en sí no tienen metainformación sobre cómo se deben representar en el diseño.
Para proporcionar información de diseño a la lógica de la vista, Spartacus usa un objeto de configuración LayoutConfig para representar las ranuras de página en un orden determinado. Además, puede usar reglas CSS para proporcionar un diseño específico.
Configuración del diseño
Spartacus no hace distinción entre las plantillas de página y las secciones de página, y puede configurar ambas con LayoutConfig. Al igual que con cualquier configuración de Spartacus, puede proporcionar LayoutConfig a ConfigModule.
Para cada plantilla o sección, las ranuras se pueden configurar en un orden específico. A continuación se muestra un ejemplo:
const defaultLayoutConfig: LayoutConfig = { header: { slots: [ ‘TopHeaderSlot’, ‘NavigationSlot’ ] }, footer: { slots: [‘FooterSlot’] }, LandingPageTemplate: { slots: [ ‘Section1’, ‘Section2A’, ‘Section2B’ ] } };
Nota: Para simplificar la configuración inicial de los proyectos, si la configuración del diseño de página está incompleta, todas las ranuras de página se representan en la página. Además, se imprime una advertencia en la consola, junto con información sobre las ranuras de página disponibles que se pueden configurar.
Uso de salidas para invalidar plantillas de página
Cuando las plantillas de página, las ranuras o los componentes se representan dinámicamente en Spartacus, se agregan salidas para cada ranura. Los puntos de venta se pueden usar para reemplazar parte de una plantilla de página en Espartaco. Las salidas para las ranuras son fáciles de encontrar, ya que su etiqueta corresponde al nombre del elemento que se está envolviendo. El siguiente es un ejemplo de cómo reemplazar el ProductAddToCartComponent mediante una salida:
Contexto de salida
Las salidas contienen un contexto que es un objeto que contiene varios atributos que se pueden utilizar dentro de la salida. El contexto es diferente por salida en función del elemento que contiene.
Plantilla de página
templateName$: nombre de la plantilla. (Observable)
slots$: Ranuras en la plantilla. (Observable)
sections$: Secciones de la plantilla. (Observable)
ranura
components$: Lista de componentes en la ranura. (Observable)
componente
component: los datos del componente devueltos por el back-end.
En el ejemplo siguiente se muestra cómo utilizar el contexto para obtener la lista de componentes dentro de una ranura:
Posición de salida
Además del contexto, los puntos de venta tienen otro atributo para el posicionamiento, cxOutletPos. Este attibute permite inyectar el código de la salida antes, después o reemplazar la referencia. Si no se especifica ningún valor, se reemplazará el código.
En el siguiente ejemplo, demonstate addidng una etiqueta antes de ProductDetailsPageTemplate:
Nota: Algunas ranuras tienen el mismo nombre por lo tanto, sus puntos de venta tienen la misma etiqueta. Esto puede llevar a que se inyecte código en partes no deseadas del sitio. Este es un problema conocido y el equipo está trabajando en solucionarlo.
Reglas de diseño CSS
Mientras se representan las ranuras del diseño de página o de sección, el nombre de la plantilla de página se agrega como una clase CSS. También puede seleccionar todas y cada una de las ranuras utilizando el nombre cx-page-slot o position de la ranura. Puede usar estas clases CSS para asignar reglas de estilo específicas al diseño de una manera de acoplamiento flexible. El CSS proporcionado por Spartacus es opcional, por lo que puede agregar nuevos estilos o modificar los existentes. Dado que el diseño de página está controlado por códigos de plantilla de página y nombres de posición, el diseño está estrechamente acoplado a los datos de instalación del back-end. Si decide agregar o reemplazar plantillas de página y posiciones de ranura, también debe ajustar las reglas CSS relevantes.
Elegir un diseño adaptable o con capacidad de respuesta
El escaparate Spartacus se implementa utilizando un diseño responsivo, en lugar de un diseño adaptativo. Para el desarrollo de software de escaparate, así como para la producción de contenido, el diseño responsivo es ampliamente aceptado como más rápido de implementar y más rentable.
Sin embargo, nada le impide usar un enfoque de diseño adaptativo en su escaparate Spartacus. El back-end de SAP Commerce Cloud admite implementaciones de varios sitios y se puede configurar para que tenga contenido diferente (catálogos) para diferentes sitios. El diseño adaptable en la capa de interfaz de usuario puede mejorar la experiencia del usuario final, tanto en términos de accesibilidad como de rendimiento. Para ambos aspectos, Espartaco permite una configuración adaptativa para cada punto de interrupción. Se puede proporcionar una configuración de ranura específica para cada punto de interrupción. La configuración de ejemplo siguiente muestra una configuración de ranura alternativa para pantallas extra pequeñas (xs), con un orden diferente (para mejorar la accesibilidad) y un número limitado de ranuras (para mejorar el rendimiento).
accesibilidad
Un enfoque de solo capacidad de respuesta no puede abordar todos los casos de uso de accesibilidad, como la capacidad de re-ordenar los componentes. Es posible que también deba re-ordenar los componentes para optimizar la experiencia del usuario para diferentes dispositivos que acceden a su escaparate. El encabezado en Spartacus es un buen ejemplo: para pantallas grandes, todos los elementos son visibles, pero en dispositivos pequeños, algunos de los componentes están ocultos detrás de un menú de hamburguesas, y algunos componentes se reorganizan.
Aunque CSS admite la re-ordenación de elementos DOM, tanto con flex-box como con grid, los elementos DOM re-ordenados no se sincronizan con el sistema de pestañas HTML. Esto no proporciona una experiencia óptima para las personas que utilizan el sistema de pestañas para navegar por el escaparate. Una configuración de ranura para cada punto de interrupción resuelve este problema. El diseño es (re)build para cada punto de interrupción.
rendimiento
Un cuello de botella potencial con el diseño responsivo es la cantidad de contenido que se representa en un dispositivo móvil. Especialmente en redes más lentas (como 2G), existe una preocupación de rendimiento para los escaparates que representan todo el contenido inmediatamente. Si bien esto podría (y debería) resolverse en el back-end, la configuración de diseño se puede usar para eliminar parte del contenido de la página.
Representación del lado del servidor
Se requiere especial atención cuando las páginas se representan en el servidor, utilizando la representación del lado del servidor (SSR). Siempre que el proceso SSR o las capas de caché perimetral no puedan direccionar el dispositivo cliente, el proceso debe decidir el punto de interrupción preferido. Un punto de interrupción que representa todo el contenido es mejor para los motores de búsqueda, y esto sería típico para un punto de interrupción de escritorio. Por otro lado, un punto de interrupción optimizado para el rendimiento puede proporcionar una mejor experiencia para los usuarios finales que tienen acceso al escaparate en un dispositivo móvil.
En Espartaco, todo el contenido siempre se representa. Hay un vale abierto para mejorar la representación del lado del servidor en función de la detección de dispositivos, si es posible, o bien proporcionar una ventanilla estándar (primero móvil).