Algoritmo de servicio GetPageDesign

El servicio GetPageDesign encuentra los datos de diseño correctos que se deben utilizar para representar una página en el escaparate. El diseño puede ser un diseño asignado o un diseño predeterminado. El servicio devuelve los datos de diseño al llamante.

Este algoritmo hace referencia a las zonas de e-marketing y a las actividades de asignación de diseño que se utilizan en la resolución de diseño. Para obtener más información, consulte Resolución de diseño de Commerce Composer.

El siguiente diagrama de algoritmo muestra los pasos de proceso que tienen lugar cuando se invoca el servicio GetPageDesign para buscar y devolver datos de diseño:


Algoritmo de servicio GetPageDesign
  • 1 El servicio GetPageDesign se invoca con una serie de parámetros para buscar y devolver un diseño. La expresión de acción a la que se llama es:
    /PageDesign[(ObjectIdenfier='$ObjectIdentifier$') and @deviceClass='$deviceClass$' and @pageGroup='$pageGroup$']
  • 2 El mandato GetPageDesignCmd llama al mandato FetchPageDesignCmd. El mandato FetchPageDesignCmd realiza la mayor parte del trabajo para resolver el diseño (consulte el área que se muestra con una línea punteada en el diagrama).
  • 3 El mandato FetchDesignCmd llama al mandato de tarea PageDesignEMarketingSpotListTaskCmd para crear una lista de una o más zonas de e-marketing a utilizar para la resolución de diseño. Cada zona de e-marketing representa una página o un término de búsqueda para comprobar las asignaciones de diseño.

    Crear nombres de zona de e-marketing para la resolución de diseño

    3a Si el parámetro pageGroup es Category, Product, Bundle, Kit, DynamicKit o Item: El mandato crea una lista de nombres de zonas de e-marketing que representan:
    • La página de categoría o de entrada de catálogo en la solicitud de página.
    • Todas las páginas de categoría padre en la jerarquía de catálogo. Estas zonas de e-marketing se incluyen para que se puedan comprobar las asignaciones de diseño heredadas de las páginas de categoría padre.

    La lista se crea empezando por la parte inferior de la jerarquía de catálogo y trabajando hacia arriba. A las zonas de E-marketing que representan páginas en la parte inferior se les da una mayor prioridad durante la resolución de diseño.

    Para obtener más información sobre la herencia y la priorización de diseño para las páginas de entrada de catálogo y categoría, consulte:
    3b Si el parámetro pageGroup es Search: El mandato crea una lista de nombres de zonas de e-marketing que representan:
    • El término de búsqueda en la solicitud.
    • Sinónimos que están definidos para el término de búsqueda en la herramienta catálogos, si la característica Usar sinónimos está habilitada para la tienda.
    3c Si el parámetro pageGroup es Content: El mandato crea un nombre de zona de e-marketing que representa la página de contenido en la solicitud de página.
  • 4 De uno o más nombres de zonas de e-marketing, en orden de prioridad, se llama a la fachada de marketing para encontrar la asignación de diseño a aplicar a la página. El mandato FetchPageDesignCmd crea parámetros de desencadenante a partir de la lista de nombres de zonas de e-marketing. Una cadena de consulta de parámetro de desencadenante puede tener un aspecto similar a este:
    DM_EmsName=Content_50005&DM_Emspot_Usage=LAYOUTMARKETINGSPOT&DM_DeviceClass=Web&DM_resolvedParentCategories=true_mkt.endTriggerParameters
    Cuando se generan los parámetros de desencadenante, se llama a la expresión de acción /MarketingSpotData. El servicio GetMarketingSpotData evalúa las actividades de asignación de diseño que existen para los nombres de zona de e-marketing. Las actividades de asignación de diseño representan posibles asignaciones de diseño para la página. El ID exclusivo para el primer diseño aplicable se devuelve al mandato FetchPageDesignCmd.
  • 5 si se encuentra un diseño aplicable, el mandato FetchPageDesignCmd rellena el nombre PageDesign cargando los detalles del diseño, potencialmente de la memoria caché.
  • 6 Si no se encuentra un diseño aplicable, el mandato FetchPageDesignCmd intenta cargar un diseño predeterminado. Normalmente, este proceso se lleva a cabo en la memoria e implica hasta cuatro intentos:

    Intentos de reserva para diseños predeterminados

    Buscar el diseño predeterminado utilizando... Detalles
    deviceClass + pageGroup El mandato intenta encontrar un diseño predeterminado que se ha definido para deviceClass y pageGroup, por ejemplo, Any y Item.
    (deviceClass de reserva) + pageGroup Si no se encuentra ningún diseño predeterminado, el mandato intenta encontrar un diseño predeterminado utilizando un deviceClass de reserva. En el archivo de configuración wc-component.xml de Commerce Composer, hay un grupo de configuración de DeviceClassDefaultLayoutFallback en el que se define la reserva. Por ejemplo, la reserva para Any podría ser Web.
    deviceClass + (pageGroup de reserva) Si no se encuentra ningún diseño predeterminado, el mandato intenta encontrar un diseño predeterminado utilizando un pageGroup de reserva. En el archivo de configuración wc-component.xml de Commerce Composer, hay un grupo de configuración de PageGroupDefaultLayoutFallback en el que se define la reserva. Por ejemplo, la reserva para Item podría ser Product.
    (deviceClass de reserva) + (pageGroup de reserva) Si no se encuentra ningún diseño predeterminado, el mandato intenta encontrar un diseño predeterminado utilizando un deviceClass de reserva y un pageGroup de reserva.
    Nota: La infraestructura de Commerce Composer debe estar programada para que siempre se encuentre un diseño predeterminado. De lo contrario, se devuelve una respuesta vacía.
  • 7 Los datos de diseño (PageDesign) se devuelven al llamante (página).