Utilización de la etiqueta de salida para configurar la colocación de los fragmentos de código JavaScript de IBM Digital Analytics
<cm:output/>
) actúa como marcador de ubicación para grabar fragmentos de código JavaScript de cada vez que se representa la página. Estos fragmentos de código JavaScript de IBM Digital Analytics se definen en el archivo de configuración de análisis (biConfig.xml
), dentro del elemento <output>
. El archivo de ejemplo predeterminado biConfig.xml
y las últimas tiendas de inicio HCL Commerce ya están configuradas para utilizar la etiqueta de salida para su finalidad prevista. Si es necesario, puede cambiar la ubicación de la etiqueta de salida en las páginas de la tienda de inicio, o puede utilizar la etiqueta <output> para grabar contenido adicional en una ubicación de una página de la tienda.Implementación predeterminada de la etiqueta de salida
En el archivo de ejemplo predeterminadobiConfig.xml
, la etiqueta de salida se define utilizando el elemento <output>
, tal como se muestra a continuación:...
<output section = "header">
<![CDATA[
<script type="text/javascript" src="//libs.coremetrics.com/eluminate.js"></script>
<script type="text/javascript">
cmSetupNormalization("krypto-_-krypto");
// send data to production system
//cmSetClientID("99999999",true,"data.coremetrics.com","thesite.com");
// send data to test system
cmSetClientID("69999999",false,"testdata.coremetrics.com","thesite.com");
</script>
]]>
</output>
...
Cuando se representa una página de tienda, todo el contenido dentro del elemento <output>
debe grabarse en la página. El objetivo de este contenido JavaScript es incluir el archivo de biblioteca de IBM Digital Analytics (eluminate.js) y llamar a la función cmSetClientID. IBM Digital Analytics utiliza este contenido cuando recopila datos de análisis.
<output>
, las tiendas de inicio Madisons y Elite publicadas con las mejoras de HCL Commerce Versión 7 Feature Pack 3 ya están etiquetadas con la etiqueta <cm:output />
. La etiqueta tiene este aspecto:<cm:output section="header" />
Para estas tiendas, la etiqueta <cm:output />
se coloca en el siguiente archivo: workspace_dir/crs-web/WebContent/store_name/include/CommonJSToInclude.jspf
CommonJSToInclude.jspf
que muestra la etiqueta <cm:output />
:...
<%@ include file="CommonJSToIncludeExt.jspf"%>
<%@ include file="CommonJSToIncludeBrazilExt.jspf"%>
<%@ include file="MultipleWishListSetup.jspf" %>
<%@ include file="../ShoppingArea/Configurator/SterlingConfiguratorJS.jspf" %>
<flow:ifEnabled feature="Analytics">
<cm:output section="header" />
</flow:ifEnabled>
<!-- END CommonJSToInclude.jspf -->
El archivo CommonJSToInclude.jspf
es un archivo especial incluido en el elemento <head>
de cada página de tienda de inicio. Su finalidad es incluir funciones y variables globales en todas las páginas de tienda de inicio. Al incluir la etiqueta <cm:output />
en este archivo especial, los fragmentos de código JavaScript IBM Digital Analytics definidos en el elemento <output>
del archivo biConfig.xml se grabarán en el elemento <head>
de cada página de la tienda.
La etiqueta de salida y el programa de utilidad de etiquetado automático
Si tiene una tienda personalizada en lugar de una tienda basada en Madisons o Elite, puede utilizar el programa de utilidad de etiquetado automático para añadir automáticamente la etiqueta<cm:output />
al elemento <head>
de todas las páginas de la tienda, al mismo tiempo que el programa de utilidad añade la etiqueta <cm:pageview />
. De este modo, no es necesario añadir manualmente la etiqueta <cm:output />
a cada página.El elemento <output> comparado con el elemento <instrumentation> en el archivo biConfig.xml
La mayoría de los archivosbiConfig.xml
implementados antes de HCL Commerce Versión 7 Feature Pack 3 tienen un elemento <instrumentation>
que contiene fragmentos de código JavaScript IBM Digital Analytics parecidos al elemento <output>
. A continuación se proporciona un ejemplo:...
<instrumentation>
<![CDATA[
<script language="JavaScript1.1" type="text/JavaScript" src="//libs.coremetrics.com/eluminate.js"></script>
<script language="JavaScript1.1" type="text/JavaScript">
cmSetClientID("12345",true,"data.coremetrics.com","localhost");
</script>]]>
</instrumentation>
...
Cuando se presenta una página de la tienda, los contenidos del elemento de <instrumentation>
se graban encima de la etiqueta </body>
cerca del final de la página.En los archivos de biConfig.xml
Feature Pack 3 o posterior, se utiliza el elemento <output>
en lugar del <instrumentation>
. Esto significa que los fragmentos de código JavaScript IBM Digital Analytics ahora están grabados dentro del elemento <head>
en lugar de cerca del final de la página. Determinadas aplicaciones de IBM Digital Analytics, tales como IBM Digital Analytics AdTarget, requieren que los fragmentos de código se graben cerca de la parte superior de la página.
La ventaja añadida del elemento <output>
sobre el elemento <instrumentation>
es darle el control sobre dónde se graban los fragmentos de código JavaScript; sin embargo, si utiliza el elemento <output>
, las páginas de la tienda deben contener una etiqueta <cm:output />
correspondiente para marcar la ubicación donde grabar los fragmentos de JavaScript.
Razones para cambiar la implementación de etiquetas de salida predeterminadas
Existen varias razones para cambiar la implementación de etiquetas de salida predeterminadas:- Es posible que desee grabar el código JavaScript de IBM Digital Analytics en una ubicación diferente en la página de la tienda, o grabar contenido adicional en la página. Para ello, puede cambiar la ubicación de la etiqueta
<cm:output />
en las páginas de la tienda y cambiar el contenido dentro del elemento<output>
del archivobiConfig.xml
. - Es posible que desee grabar varios fragmentos de código JavaScript de IBM Digital Analytics en ubicaciones distintas de la página de la tienda. Si es así, puede definir varias etiquetas de salida en el archivo biConfig.xml, cada uno con un valor de parámetro
section
distinto. A continuación se muestra un ejemplo que incluye la definición de etiqueta<output>
predeterminada parasection = "header"
y una segunda definición de etiqueta<output>
parasection = "body"
:... <store storeId = "10101" biprovider = "coremetrics" enabled = "true" debug = "true" useHostedCMHLibraries = "true"> <clientid>69999999</clientid> <output section = "header"> <![CDATA[ <script type="text/javascript" src="//libs.coremetrics.com/eluminate.js"></script> <script type="text/javascript"> cmSetupNormalization("krypto-_-krypto"); // send data to production system //cmSetClientID("99999999",true,"data.coremetrics.com","thesite.com"); // send data to test system cmSetClientID("69999999",false,"testdata.coremetrics.com","thesite.com"); </script> ]]> </output> <output section = "body"> <![CDATA[ <script type="text/JavaScript"> your_JavaScript_goes_here </script> ]]> </output> </store> ...
A continuación, en las páginas de la tienda debe tener las siguientes etiquetas
<cm:output />
en las ubicaciones adecuadas:<cm:output section="header" />
<cm:output section="body" />