Utilisation des données de contexte métier dans la personnalisation

Certaines tâches de personnalisation impliquent l'écriture d'une logique métier qui doive récupérer des données de contexte métier à propos d'une session utilisateur. Par exemple, ces données peuvent être l'ID d'utilisateur, l'ID du magasin, l'ID de langue ou l'ID du catalogue que l'utilisateur consulte. HCL Commerce fournit un ensemble d'interfaces que vous pouvez utiliser pour récupérer les données de contexte métier spécifiques dont vous avez besoin.

Au cours d'une session de navigateur HCL Commerce, les données de la session sont capturées et stockées en tant que données de contexte métier HCL Commerce. Chaque groupement dispose d'une classe d'interface qui fournit un ensemble de méthodes pour récupérer des données. Par exemple :

  • Les méthodes de l'interface com.ibm.commerce.context.base.BaseContext récupèrent les données de session de base, telles que l'ID de magasin et l'ID d'exécution.
  • Les méthodes de l'interface com.ibm.commerce.context.globalization.GlobalizationContext récupèrent des données spécifiques à l'environnement local, telles que l'ID de langue ou la devise de la session.
Des interfaces et des méthodes supplémentaires sont fournies.

Avant de commencer

Pour obtenir des informations de base sur les données de contexte métier et une liste des contextes métier fournie par HCL Commerce, consultez Service de contexte métier .

Procédure

  1. Identifiez l'interface qui fournit les données de contexte métier dont vous avez besoin.
    Pour obtenir une liste des interfaces disponibles et de leurs méthodes, consultez la liste des sous-interfaces de la documentation API pour l'interface parent, com.ibm.commerce.context.base.Context.
  2. Écrivez la logique métier pour récupérer les données de contexte métier à l'aide de l'interface et de la méthode appropriées.

    Pour la personnalisation de l'infrastructure de commande BOD, utilisez un code similaire à l'exemple suivant. Votre code doit utiliser le com.ibm.commerce.foundation.server.services.businesscontext.ContextServiceFactory, qui est une classe d'assistance utilisée pour récupérer le service contextuel qui gère l'objet de données dont vous avez besoin. Le code de cet exemple renvoie l'ID utilisateur et l'ID du magasin pour la requête :

                        
      ContextService bcs = ContextServiceFactory.getContextService();
    		BaseContext baseContext = (BaseContext) bcs
         .findContext(BaseContext.CONTEXT_NAME);
    		Long userId = baseContext.getRunAsId();
    		Integer storeId = baseContext.getStoreId();
    

    Pour la personnalisation de l'infrastructure de commande de paire nom-valeur, utilisez un code similaire à l'exemple suivant. Dans ce cas, votre code doit utiliser le contexte de commande pour obtenir l'objet de données contextuelles. Le code de cet exemple renvoie l'ID utilisateur et l'ID du magasin pour la requête :

    BaseContext baseContext = (BaseContext)getCommandContext().getContext(BaseContext.CONTEXT_NAME); 
    Long userId = baseContext.getRunAsId();
    Integer storeId = baseContext.getStoreId();