Fragmento de código para añadir un enlace Editar
Para añadir un enlace Editar
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 EditBusinessObject del Centro de gestión para un objeto de negocio específico como, por ejemplo, una entrada de código o una actividad web.
El fragmento de código también puede hacer referencia a las variables de entorno y a clases CSS para controlar la disponibilidad y el aspecto del enlace Editar
.
Parámetros para un enlace Editar
El enlace Editardebe incluir un conjunto de parámetros que proporciona el Centro de gestión con información sobre qué objeto de negocio abrir para editarlo. Debe proporcionar valores para las variables que se muestran en el texto en cursiva:
<c:url var = "clickToEditURL" value = "/cmc/EditBusinessObject" 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 = "searchType" value = "searchType"/>
<c:param name = "searchOption.searchText" value = "keyword"/>
<c:param name = "searchOption.searchUniqueId" value = "objectId"/>
</c:url>
<a href="javascript:void(0)" onclick="parent.callManagementCenter('<wcf:out escapeFormat="js" value="${clickToEditURL}"/>');">Edit</a>
- 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 ymarketingManagement
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"/>
- 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.Para un sitio ampliado, el valor storeSelection también se utiliza para determinar qué tienda seleccionar en el Centro de gestión.
- 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. Para 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 Centro de gestión 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.
- Tipo de búsqueda que se ha definido para el objeto de negocio en el archivo de definición de objeto. La función de pulsar para editar utiliza el valor de tipo de búsqueda para buscar el objeto de negocio en el Centro de gestión. Por ejemplo, el tipo de búsqueda para entradas de catálogo es
FindAllCatalogEntries
y el tipo de búsqueda para zonas de e-Marketing esFindEMarketingSpots
.Puede buscar el tipo de búsqueda visualizando el archivo de definición de objeto para un objeto de negocio existente en la vía de acceso siguiente:
WCDE_installdir/workspace/LOBTools/WebContent/config/commerce/component/objectDefinitions/
Por ejemplo, en el archivo ProductSKUPrimaryObjectDefinition.def para productos y los códigos de artículo, el tipo de búsqueda se especifica como el valor del parámetro
searchType
en la línea de código que se muestra en texto en negrita:<PrimaryObjectDefinition baseDefinitionName = "catBaseCatalogEntryPrimaryObjectDefinition" definitionName = "catBaseProductSKUPrimaryObjectDefinition" displayName = "${catalogResources.displayNameProductLevelSKU}" displayNameProperty = "partnumber" helpLink = "tasks/tpngen1s.htm" idProperty = "catentryId" isBaseDefinition = "true" newDisplayName = "${catalogResources.displayNameNewProductLevelSKU}" newObjectMenuItemText = "${catalogResources.contextMenuNewProductLevelSKU}" objectGroups = "CatalogEntry,SKUs,ProductSKUs" propertiesDefinitionName = "catProductSKUProperties" searchType = "FindAllCatalogEntries">
- Un valor que se utiliza para buscar el objeto de negocio por palabra clave (text). La mejor opción para la palabra clave es el índice exclusivo para el objeto de negocio que está definido en el esquema de base de datos, por ejemplo:
${partNumber}
- El número de pieza para una entrada de catálogo.${emsName}
- El nombre de la zona de e-Marketing.
- Un valor que se utiliza para buscar el objeto de negocio por ID exclusivo (number). Como ejemplos de valores
objectId
tiene los siguientes:${productId}
- El ID de la entrada de catálogo${emsId}
- El ID de una zona de e-Marketing
Ejemplo del fragmento de código para un enlace Editar
El fragmento de código siguiente crea un enlace Editarpara una entrada de catálogo en la tienda de inicio Aurora directamente en la página de detalles del producto. El código se copia del archivo ProductDisplay.jsp:
1 <div class="container_product_details_image_information container_margin_5px productDetail">
2 <c:if test="${env_inPreview && !env_storePreviewLink}">
3a <div class="caption" style="display:none"></div>
3b <div class="ESpotInfo">
4 <c:url var="clickToEditURL" value="/cmc/EditBusinessObject" context="/">
<c:param name="toolId" value="catalogManagement"/>
<c:param name="storeId" value="${storeId}"/>
<c:param name="storeSelection" value="prompt"/>
<c:param name="languageId" value="${langId}"/>
<c:param name="searchType" value="FindAllCatalogEntries"/>
<c:param name="searchOption.searchText" value="${partNumber}"/>
<c:param name="searchOption.searchUniqueId" value="${productId}"/>
</c:url>
5 <a id="ProductDisplay_click2edit_Product_${productId}"
class="click2edit_button" href="javascript:void(0)"
onclick="parent.callManagementCenter('<wcf:out escapeFormat="js" value="${clickToEditURL}"/>');" >
<fmt:message bundle='${previewText}' key='Click2Edit_product'/></a>
</div>
</c:if>
Las notas siguientes explican las llamadas numeradas en el código de ejemplo: