Mots clés
Calendrier
<<  mai 2012  >>
lumamejevesadi
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
Altima
 
Gold Partner

Les objets du sélecteur de contenu (content selection) sont utilisés pour sélectionner des contenus personnalisés et font partie intégrante du « Content Selection Framework » (CSF).

Bien que le CSF utilise de nombreux objets pour sélectionner un contenu, l’objet ContentSelector est le principal objet utilisé pour obtenir et l'affichage de contenu ciblé.

Le ContentSelector objet invoque différents pipelines du CSF  permettant de sélectionner différents types de contenu. Le resultat est une liste de « dictionnaire »(ListDictionary) recuperée à partir de la méthode getContent().

Exemple, Comment récupérer les promo codes d’un client donné (par exemple, le client courant) avec le minimum d’accès base possibles et de façon très rapide ?

<!--[if !supportEmptyParas]-->

CommerceContext ContexteCommerce = CommerceContext.Current;

<!--[if !supportEmptyParas]-->

//la cible ici est discounts, il peut être pub.

ContentSelector SelecteurContenu = ContexteCommerce.TargetingSystem.SelectionContexts["discounts"].GetSelector();

<!--[if !supportEmptyParas]-->

//configure le sélecteur

ContexteCommerce.TargetingSystem.TargetingContextProfile["PageGroup"].Value = "All";

SelecteurContenu.ItemsRequested = 900;

<!--[if !supportEmptyParas]-->

//Configuration pour le client en cours

SelecteurContenu.Profiles.Add("User", CommerceContext.Current.UserProfile);

<!--[if !supportEmptyParas]-->

//obtenir le contenu

SelecteurContenu.GetContent();

<!--[if !supportEmptyParas]-->

//Afficahge du contenu

foreach (ListDictionary contentItem in SelecteurContenu.SelectedContentItems)

{
      Response.Write(Convert.ToString(contentItem["promocode_public_code"]) + "<br />");

Response.Write(Convert.ToString(contentItem["name"]) + "<br />");

Response.Write(((DateTime)contentItem["date_end"]).ToShortDateString() + "<br />");

}

<!--[if !supportEmptyParas]--> <!--[endif]-->

Ceci reste une façon très optimisée pour récupérer toutes les OPCO applicables (actives et dans les dates) ou non :

<!--[if !supportLists]-->-          <!--[endif]-->toutes les OPCO applicables

SelecteurContenu.SelectedContentItems :

<!--[if !supportEmptyParas]-->

<!--[if !supportLists]-->-          <!--[endif]-->toutes les OPCO même celles qui ne sont pas applicables :

SelecteurContenu.AllContentItems

Actuellement noté 1.4 par 9 personne(s)

  • Currently 1,444444/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Pour faire une recherche de produits avec variants dans mon catalogue nommé, « MonCatalogue »,  on procède comme suit :

CatalogContext cc = CommerceContext.Current.CatalogSystem.CatalogContext;

CatalogSearch cs = cc.GetCatalogSearch();

cs.CatalogNames = "MonCatalogue";

cs.SearchOptions.ClassTypes = CatalogClassTypes.ProductFamilyClass;

//Propriété à retourner

cs.SearchOptions.PropertiesToReturn = "ProductId, cy_list_price";

//Clause de recherche sur les categories

cs.CategoriesClause = "CategoryName = 'MaCategorie'";

//Clause de recherche sur les produits

cs.SqlWhereClause = "EtatProduit = 'Affiché'";

Si on veut trier par ordre coissant le, « ProductId » :

cs.SearchOptions.SortProperty = "ProductId";

cs.SearchOptions.SortDescending = false;

Maintenant, si on veut trier par ordre coissant le « ProductId » ensuite le prix :

cs.SearchOptions.SortProperty = "ProductId, cy_list_price";

cs.SearchOptions.SortDescending = false;

Les choses se compliquent si on veut trier le « ProductId » par ordre croissant ensuite le  prix par ordre décroissent.

Pour cela il suffit d’omettre cs.SearchOptions.SortDescending et preciser l’odre dans cs.SearchOptions.SortProperty :

cs.SearchOptions.SortProperty = "[ProductId]ASC, [cy_list_price]DESC";

N’oubliez pas de separer les propriétés et le parametres de tri par des accolades([« propriétés »]ASC).

Soyez le premier à noter ce billet

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5