I am currently setting my items in Sitecore programmatically:

item.Fields[FieldIDs.EnableItemFallback].Value = "0";

This makes my non-English version to not have a fallback from EN. But then I noticed that there's also this: item.Fields[FieldIDs.EnableLanguageFallback].Value = "0"; and this: item.Fields[FieldIDs.EnableSharedLanguageFallback].Value = "0";

What is the difference?

using Sitecore 8.2


Language fallback enables either on item-level or on field-level fallback on the relevant sites and on the relevant items, fields, or templates. You should not use both item- and field-level fallback on the same item because it makes it difficult to maintain an overview of the versions that different items and fields fall back to. In your code -

item.Fields[FieldIDs.EnableItemFallback].Value = "0"

above code is used for Item-level fallback. Also, you can maintain field-level fallback by following -

item.Fields[FieldIDs.EnableLanguageFallback].Value = "0"; 


item.Fields[FieldIDs.EnableSharedLanguageFallback].Value = "0";
  • Item.Fields[FieldIDs.EnableSharedLanguageFallback] - to enable language fallback for all the language versions of the current field. This applies to all the currently available language versions of the field and any new language versions that you create
  • Item.Fields[FieldIDs.EnableLanguageFallback] - to enable language fallback for only the current language version of the field.
| improve this answer | |
  • great explanation. Thank you – Jethro Sep 3 '19 at 10:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.