2012-11-30 2 views
1

EDIT: question ReformuléOrchard CMS - requête basée sur des valeurs de ContentPicker

Je pense qu'il ya soit un bug ou que je fais quelque chose de mal.

  1. J'ajoute un champ au type Blogpost. Ce champ est de type Contentpicker. Je l'appelle la page associée.
  2. Ensuite, je crée des pages normales (ContentType Page).
  3. Je crée 4 blogposts. Deux pages de blog obtiennent PageOne comme valeur sélectionnée dans le champ RelatedPage. Les deux autres messages obtiennent PageTwo comme valeur sélectionnée dans la page RelatedPage.
  4. Maintenant, je crée une requête avec un filtre ContentType est BlogPost. Et un filtre avec Blog Post.Related Page est égal à {21} (c'est l'ID de PageOne).

Je m'attendrais à obtenir des résultats BlogPostOne et BlogPostTwo. Au lieu de cela, je n'obtiens pas de résultats. En fait, je voulais que le pageid soit récupéré à partir de la page sur laquelle le widget est placé mais ne pouvait pas le faire fonctionner, donc je suis revenu à une valeur prédéfinie au lieu de dynamique pour le filtre. Mais comme je l'ai dit aucun résultat.

Donc, la requête est fausse et comment dois-je faire alors. Ou y a-t-il un bug avec les filtres pour les champs ContentPicker.

P.S. Je vais également soumettre un problème dans Codeplex.

MISE À JOUR Dans Tokenizer, toutes les valeurs contenant {} sont considérées comme des jetons et sont donc remplacées. Le problème est que les ID des éléments de contenu dans un champ contentpicker sont stockés avec des accolades. Donc, quand {21} est la valeur du filtre, 21 devient segmenté et comme il n'y a pas de valeur pour ce jeton, la valeur devient vide. En sautant le tokenizer cela fonctionne (pendant le débogage). Mais on ne peut pas sauter le tokenizer, car il est très légitime qu'il y ait un jeton présent. Je crois donc qu'il y a un bug avec le tokenizer, ou la façon dont les ids sont stockés dans le champ contentitem pour contentpicker. Je pense qu'il peut être résolu en changeant le contentpicker pour stocker les nombres séparés par des virgules, mais sans les accolades.

+0

Je semble avoir trouvé le 'bug' mais je ne sais pas comment le résoudre. J'ai édité la question avec mes résultats. – Mounhim

+0

J'ai suivi le problème du [codeplex jusqu'à ici] (https://orchard.codeplex.com/workitem/19313) mais il n'a aucune résolution. Je ne peux pas croire qu'il ne soit pas apparu pendant toutes ces années que ContentPicker renvoie des données dans un format que le tokeniser va juste manger:/ – rtpHarry

Répondre

0

avez-vous essayé d'utiliser l'alias de la page au lieu de l'ID de contenu comme identifiant? par exemple. "/ about-us", comme vous le faites dans les règles de calque.

+0

Non, n'a pas fonctionné. – Mounhim