Je suis tombé sur les besoins de l'entreprise dans Sitecore où pour quelques articles nous n'avons pas besoin de flux de travail joint mais nous voulons créer une nouvelle version lorsque nous verrons éditer l'élément.Comment créer une version d'élément sitecore sans workflow?
Je ne peux pas appliquer le réglage ci-dessous car il aura un impact sur tous les éléments et mon flux de travail ne sera pas utile.
<setting name="RequireLockBeforeEditing" value="true"/>
J'ai aussi passé par stackoverflow question et il a donné ci-dessous solution, mais pas sûr de quel événement il devrait être.
public Item StartEditing(Item item)
{
Error.AssertObject((object) item, "item");
if (!Settings.RequireLockBeforeEditing || Context.User.IsAdministrator)
return item;
if (this._context.IsAdministrator || StandardValuesManager.IsStandardValuesHolder(item) || !this.HasWorkflow(item) && !this.HasDefaultWorkflow(item) || !this.IsApproved(item))
return this.Lock(item);
Item obj = item.Versions.AddVersion();
if (obj != null)
return this.Lock(obj);
else
return (Item) null;
}
Voulez-vous forcer la nouvelle version d'un article pour tous les éditeurs lorsqu'ils commencent à éditer un article? Vous pouvez jeter un oeil à l'événement "item: locked", mais n'est-ce pas assez pour utiliser le bouton "ribbon> Versions> Add"? –
Oui, nous souhaitons forcer la nouvelle version d'un élément pour tous les éditeurs lorsqu'ils commencent à modifier un élément. Non, nous ne pouvons pas utiliser l'option ruban car les éditeurs ne le connaissent pas. Je vais créer la version sur l'élément: événement verrouillé. J'ai également vérifié show.config là j'ai vu l'article: commande d'édition pouvons-nous tirer parti de cela? –
Je ne pense pas que la commande "item: edit" soit appelée partout, par ex. pas sûr de l'éditeur d'expérience? –