0
votes

Comment puis-je détecter l'état de contenu chez View StartUp?

permet de supposer que j'ai créé ma propre vue personnalisée pour un type de contenu de liaison. Lorsque l'utilisateur ajoute une application de contenu 2SXC sur une vitre, choisissez le type de contenu (link), puis ma vue personnalisée, quand il démarre pour la première fois, comment puis-je détecter cela a) la vue n'utilise pas d'élément de démonstration vs. B) La vue utilise un élément de démonstration et montre l'élément de démonstration contre c) ce n'est pas la première fois et il existe un véritable contenu ajouté par l'utilisateur (entité) en place?

J'ai fait des choses comme celle-ci pour le cas A): xxx

alors vérifié si c'était NULL, mais on dirait que mon code de vue ne s'exécute jamais et je viens de voir, "Aucun élément de démonstration n'existe pour le modèle sélectionné."

Si je confectionne une démo, il y a un moyen plus élégant de savoir que l'entité que je suis remise en tant que contenu.First () ou de données ["Par défaut"]). Premier () est un élément de démonstration et maintenant une entité créée par l'utilisateur? Actuellement, je suis un codage acharné dans le modèle et les tests pour cela.


0 commentaires

3 Réponses :


0
votes

Le système de modèle ne rend pas le modèle s'il n'y a pas d'élément de démonstration (sauf s'il s'agit d'un modèle sans type de contenu). Quand nous avons besoin de cela, nous avons deux manières

  1. Donnez à la démonstration une valeur unique dans l'un des champs et vérifiez que dans le modèle
  2. Vérifiez l'ID de démonstration de l'élément de démonstration sur GUID et recherchez-le pour ce (Content.EntytyGuid == ...)

3 commentaires

Donc, je suppose que c'est vraiment une demande de fonctionnalité. Je doute que vous le verrez comme une priorité élevée, mais il semble évident que lorsque la vue est présentée avec un poste de démonstration, cette entité devrait avoir une propriété booléenne isdemo () pour inspecter ou quelque chose à cet effet. Je réalise que votre chemin fonctionne et est une solution, mais ce n'est pas intuitif et sujet aux utilisateurs qui brisent des choses au fil du temps. Quelque part dans votre code, vous choisissez de produire un article de démonstration au lieu d'un vrai, semble être une simple occasion de le signaler d'une manière ou d'une autre.


Accepter. Veuillez mettre une demande de fonctionnalité pour cela.


Notez que Github.com/2SIC/2SXC/issues/1792 a été mis à jour avec un vaste Discussion, veuillez contribuer à vos opinions.



0
votes

propriété isdemoitem ajoutée à 2SXC 10.06

entité dynamique


0 commentaires

0
votes

Si un éditeur de contenu "masque" le seul élément de contenu, l'utilisateur anonyme verra alors un élément de démonstration où l'élément était. Ceci est déroutant et inattendu du point de vue de l'éditeur de contenu (ainsi que l'utilisateur public / anonyme). Si quelqu'un d'autre s'en va là-bas, voici le simple extrait de code à ajouter au début de votre vue. Fondamentalement, si l'utilisateur actuel n'est pas connecté et que l'élément à afficher est un élément de démonstration, quittez la vue W / O affichant quoi que ce soit.

  if(!Request.IsAuthenticated) {
    if(Content.IsDemoItem ?? false) {
      return;
    }
  }


0 commentaires