2011-12-09 2 views
1

J'ai installé et configuré le module de sondage pour qu'il fonctionne correctement. Le site Web sur lequel je travaille comportera une instance de sondage sur une page, soit comme un rail de gauche, soit comme un rail de droite. Les scrutins seraient installés dans un dossier séparé. Sur l'élément de la page, il y aura un champ multiliste qui pointera vers le dossier Sondages et l'utilisateur peut sélectionner n'importe quel sondage qu'ils choisissent. Le dossier contiendra également différentes sous-couches qui pourront être sélectionnées pour être affichées sur le rail. J'ai un code personnalisé qui va regarder le champ multiliste mentionné ci-dessus et montrer ces éléments de rail.Exemple de module de sondage Sitecore

Je ne sais pas comment afficher un sondage par programme. Je n'ai pas trouvé d'exemples de code et je ne sais pas non plus où placer le sous-programme. Dois-je le définir sur le modèle de sondage lui-même, puis laisser le code pour l'afficher? Comment puis-je y parvenir en code? Tout échantillon de code serait utile.

+0

Très typique :). J'ai répondu, et je savais déjà que je n'accepterais aucune acceptation sur celui-ci. – Younes

+0

Nice, tout fonctionne maintenant? – Younes

+0

Vous ne répondez que pour ces points? – Gabbar

Répondre

3

En espérant que vous cette fois-ci accepter la réponse, je l'ai écrit ce qui suit pour vous (basé sur le module Sondage OMS:

Lire le champ sur votre article:

Sitecore.Data.Fields.ReferenceField selectedPoll = (Sitecore.Data.Fields.ReferenceField)Sitecore.Context.Item.Fields["Poll"]; 

Obtenez le pollItem :

if (selectedPoll.TargetItem != null) 
      { 
       Item pollItem = selectedPoll.TargetItem; 

       if (pollItem != null) 
       { 

Vérifiez si le scrutin est ouvert ou fermé et lieu:

Sitecore.Data.Fields.CheckboxField pollClosed = (Sitecore.Data.Fields.CheckboxField)pollItem.Fields["Closed"]; 

        if (pollClosed.Checked == false) 
        { 
         // Set the header of the snippetBlock 
         ltPollHeader.Text = pollItem.Name; 

         PollVotingSublayout pollSublayout = (PollVotingSublayout)LoadControl("/sitecore modules/Shell/Poll Module/Controls/PollVotingSublayout.ascx"); 
         pollSublayout.Attributes.Add("sc_parameters", "PollPath=" + pollItem.Paths.FullPath); 
         pollSublayout.CurrentPoll = (PollItem)pollItem; 
         this.pollRegion.Controls.Add(pollSublayout); 

         phPollSnippet.Visible = true; 

         int blockPos = 0; 

         if (snippetField != null) 
         { 
          if (snippetField.GetItems().Any()) 
          { 
           blockPos = 1; 
          } 
         } 

         string cssClass = String.Empty; 

         if (blockPos == 0) 
         { 
          cssClass = "snippetColHomeFirst"; 
         } 

         this.SetClass("snippetColHome", cssClass); 
        } 

Espérons que vous pouvez créer quelque chose en utilisant ces extraits. Bonne chance!

+0

J'ai donc obtenu le sondage, mais mes chiffres ne sont pas mis à jour. J'ai vérifié pour voir des erreurs dans le firebug et je ne vois aucune erreur de publication. Des idées? – Gabbar

+0

Il ne semble pas y avoir de compte Poll dans le Gestionnaire des utilisateurs. Avez-vous des détails sur les autorisations et les rôles que ce compte est censé avoir? – Gabbar

+0

Il devrait y avoir un compte utilisateur appelé "poll" sur le domaine sitecore. Ce compte est normalement utilisé en interne par le sondage. Dans le commentaire de ce compte est indiqué: "S'il vous plaît ne pas supprimer ce compte". – Younes

1

Un compte d'utilisateur appelé "poll" doit figurer sur le domaine du sitecore. Ce compte est normalement utilisé en interne par le sondage. Dans le commentaire de ce compte est indiqué: "S'il vous plaît ne pas supprimer ce compte". le compte doit avoir le rôle d'éditeur de page minimal de Sitecore. Je ne connais pas les informations d'identification de l'utilisateur d'interrogation, mais vous pouvez le trouver en utilisant le réflecteur ou en ouvrant les fichiers cs que vous pouvez obtenir en téléchargeant la source.

Questions connexes