Fragmento de código para añadir un enlace Crear

Para añadir un enlace Crear directamente a una página de tienda o a una ventana emergente de vista previa de la tienda, debe utilizar un fragmento de código específico. El fragmento de código construye un URL CreateBusinessObject del Management Center para un tipo específico de objeto de negocio, como una zona de e-Marketing o una actividad web. También puede especificar valores para los campos que desea completar previamente en la vista de propiedades para el objeto de negocio nuevo.

Los parámetros para un enlace Crear

El enlace Crear debe incluir un conjunto de parámetros que proporciona el Management Center con información sobre el tipo de objeto de negocio que desea crear. Debe proporcionar valores para las variables que se muestran en el texto en cursiva:
<c:url var = "clickToCreateURL" value = "/cmc/CreateBusinessObject" context = "/">
    <c:param name = "toolId" value = "toolId"/>
    <c:param name = "storeId" value = "storeId"/>
    <c:param name = "languageId" value = "langId"/>
    <c:param name = "storeSelection" value = "storeSelection"/>
    <c:param name = "objectType" value = "objectType"/>
    <c:param name = "newObjectOption.keyPropertyName" value = "prefilledValue"/>
    ....
    <c:param name = "newObjectOption.keyPropertyName" value = "prefilledValue"/>
</c:url>
<a href="javascript:void(0)" onclick="parent.callManagementCenter('<wcf:out escapeFormat="js" value="${clickToCreateURL}"/>');">Create</a>

Las variables son las siguientes:

toolId
ID de la herramienta del Centro de gestión en la que se gestiona el objeto de negocio. La función pulsar para editar utilizar este ID para abrir la herramienta correcta cuando el usuario de negocio pulsa el enlace. Por ejemplo, catalogManagement es el ID de la herramienta para la herramienta Catálogos y marketingManagement es el ID de herramienta para la herramienta Marketing.

Puede buscar el ID de herramienta en el archivo ApplicationMenuItems.def, que define todos los elementos de menú en el Centro de gestión:

WCDE_installdir/workspace/LOBTools/WebContent/config/commerce/shell/ApplicationMenuItems.def

Por ejemplo, en el archivo ApplicationMenuItems.def, el ID para la herramienta Catálogos se especifica como el valor del parámetro id en la línea de código que se muestra en texto en negrita:

<ApplicationMenuItem
    actionName = "openBusinessObjectEditor"
    activeIconSrc = "catalogActiveTabIcon"
    displayName = "${shellResourceBundle.catalogManagementDisplayName}"
    id = "catalogManagement"
    inactiveIconSrc = "catalogInactiveTabIcon"
    toolDefinitionName = "catCatalogManagement"
    usage = "IBM_ViewCatalogTool"/>
storeId
ID de la tienda de la que se obtiene una vista previa. La función de pulsar para editar utiliza este ID para determinar qué tienda seleccionar en el Centro de gestión. Puede utilizar la variable del ID de tienda ${storeId} de forma que el ID de tienda actual se recupere y pase al URL de pulsar para editar.

HCL Commerce DeveloperHCL Commerce EnterprisePara un sitio ampliado, el valor storeSelection también se utiliza para determinar qué tienda seleccionar en el Centro de gestión.

langId
ID de idioma de la tienda de la que se obtiene una vista previa. Puede utilizar la variable de ID de idioma ${langId} de forma que el ID de idioma actual se recupere y pase al URL pulsar para editar.
HCL Commerce DeveloperHCL Commerce EnterprisestoreSelection
HCL Commerce DeveloperHCL Commerce EnterprisePara un sitio ampliado, el valor de preferencia de la tienda para el enlace. Este parámetro define el tipo de tienda que hay que seleccionar en el Management Center cuando el usuario de empresa pulsa el enlace. Los valores válidos son los siguientes:
prompt
Visualiza una solicitud que permite al usuario de empresa seleccionar la tienda con elementos o la tienda de sitio ampliado. Este es el valor predeterminado. Si los usuarios de empresa utilizan la tienda de sitio ampliado y la tienda con elementos para gestionar los objetos de negocio que están relacionados con este enlace, utilice este valor.
assetStore
Abre la tienda con elementos de catálogo (la tienda con elementos del escaparate o la tienda con elementos del catálogo, la que se aplique al objeto de negocio que se está editando). Si los usuarios de negocio gestionan todos los objetos de negocio que están relacionados con este enlace en las tiendas con elementos, utilice este valor.
eSite
Abre la tienda de sitio ampliado. Si los usuarios de negocio gestionan todos los objetos de negocio que están relacionados con este enlace en la tienda de sitio ampliado, utilice este valor.

Si no tiene un sitio ampliado, puede hacer caso omiso de este parámetro.

Un desarrollador de TI puede cambiar el valor de preferencia de la tienda en cualquier momento.

objectType
El valor objectType es necesario para que la infraestructura del Management Center busque la definición de objeto para el objeto. A continuación, la infraestructura crea una instancia del objeto. Para un objeto de negocio, el valor objectType se define en el archivo de definición de objeto. Por ejemplo, el tipo de objeto para una actividad web es WebActivity y el tipo de objeto para una regla de búsqueda es SearchActivity.

Puede encontrar archivos de definición de objeto para los objetos de negocio que se envían con HCL Commerce en la vía de acceso siguiente:

WCDE_installdir/workspace/LOBTools/WebContent/config/commerce/component/objectDefinitions/

Por ejemplo, en el archivo EMarketingSpotPrimaryObjectDefinition.def, el valor del parámetro objectType se define en la última línea de código de este fragmento de código:

<PrimaryObjectDefinition
    baseDefinitionName = "mktBaseEMarketingSpotPrimaryObjectDefinition"
    creatable = "true"
    definitionName = "EMarketingSpot"
    objectType = "EMarketingSpot">
    

Puede completar previamente valores de campo en la vista de propiedades del Management Center que se abre cuando el usuario de empresa pulsa el enlace Crear. Para ello, especifique los siguientes valores adicionales para el parámetro newObjectOption:

keyPropertyName
Nombre de la propiedad que desea completar previamente. Por ejemplo, para un enlace Crear para una zona de e-Marketing, es posible que desee completar previamente el campo Name en la vista de propiedades de e-Marketing. Si es así, puede definir el keyPropertyName como marketingSpotName. Puede utilizar cualquier nombre, pero debe hacer referencia al nombre exacto al crear el archivo JSP para definir los valores completados previamente más adelante en este flujo de tareas. Consulte Inicialización de un nuevo objeto de negocio para un enlace «Crear».
prefilledValue
El valor de la propiedad que desea completar previamente. Por ejemplo, para completar previamente el campo Nombre en la vista de propiedades de la zona de e-Marketing, el valor es la variable ${emsName}.

Ejemplo de fragmento de código para un enlace Crear

El fragmento de código siguiente crea un enlace Crear para una zona de e-Marketing en la tienda de inicio Aurora. Este código se copia desde el archivo ESpotInfoPopupDisplay.jspf, que es la página Información de zona de e-Marketing:
1 <c:if test="${!espotFound}"> 
2   <c:url var="clickToCreateURL" value="/cmc/CreateBusinessObject" context="/">
		  <c:param name="toolId" value="marketingManagement"/>
		  <c:param name="storeId" value="${storeId}"/>
		  <c:param name="languageId" value="${langId}"/>
		  <c:param name="storeSelection" value="prompt"/>
		  <c:param name="objectType" value="EMarketingSpot"/>
		  <c:param name="newObjectOption.marketingSpotName" value="${emsName}"/>
    </c:url>
3    <a id='click2create_EMarketingSpot_<c:out value="${espotName}"/>' 
          title='<fmt:message key="Click2Create_espot" bundle="${previewText}"/>' class="click2create_button" href="javascript:void(0)" 
          onclick="window.parent.callManagementCenter('<wcf:out escapeFormat="js" value="${clickToCreateURL}"/>');">
          <fmt:message key="Click2Edit_Create" bundle="${previewText}"/>
    </a>
  </c:if>
Notas sobre el código de ejemplo (consulte las llamadas numeradas en el fragmento de código):
  • 1 Esta línea de código garantiza que el enlace Crear solo se muestra si la zona de e-Marketing todavía no existe en el Management Center. El archivo ESpotInfoPopupDisplay.jspf obtiene datos desde el motor de marketing para determinar si la zona de e-Marketing existe. Los datos se devuelven a la variable ${!espotFound}.
  • 2 Este elemento <c:url define una variable que es el URL pulsar para crear.
  • 3 El elemento <a crea el enlace Crear y llama a la función de JavaScript callManagementCenter, que envía el URL a la aplicación web del Management Center.
    Nota: Para que funcione correctamente, un enlace Crear solo necesita la parte siguiente del código en el elemento <a:
    <a href="javascript:void(0)" 
       onclick="parent.callManagementCenter('<wcf:out escapeFormat="js" 
       value="${clickToCreateURL}"/>');">Create</a>
    En el fragmento de ejemplo, el código adicional dentro del elemento <a es para fines internos de IBM, como la automatización, y no es necesario.