Understanding The Problem
Parsing your question I think I see where your issue is coming from. To reiterate, for the purposes of this answer, you have 4 Templates:
Template A
Section Main
Field A
Field B
Field C
Template B
Section Main
Field A
Field D
Field E
Template C
Section Main
Field A
Field F
Field G
When Template A is added as a Base Template of Template B, the resultant set of fields on the item based off of Template B looks like:
Item X (Based off of Template B)
Section Main
Field A
Field A
Field B
Field C
Field D
Field E
Field A is showing up twice because there are two templates with the
same name that are inherited by this item.
Correct Way to Inherit Fields
Using the above scenario, the proper way you want to construct your templates should look something like this:
Template A
Section Main
Field A
Field B
Field C
Template B (Inherits A)
Section Main
Field D
Field E
Template C (Inherits A)
Section Main
Field F
Field G
The resulting item will look like this:
Item X (Based off of Template B)
Section Main
Field A
Field B
Field C
Field D
Field E
Tips
- Fields will be merged across inherited templates based on the Section Name that the field resides under. If the Section Names match, the field will go there.
- Use the Sortorder field to arrange the order that the fields show up on the Item in Content Editor. This also affects the ordering in the Field array on the
Sitecore.Data.Item
.
- Do NOT inherit from templates that contain fields with the same name. Instead, split off those fields that are duplicated and put into their own template to be inherited from the templates needing those fields.