5

I've been working with the forceCommunity:layout interface to make my own custom layout for use in a community.

The examples from the docs work fine, but there seems to be some magic around the naming of your attributes which determines whether or not they appear as drop-able areas in Community Builder.

If I take the example from the docs:

<aura:component implements="forceCommunity:layout" access="global">
    <aura:attribute name="column1" type="Aura.Component[]" required="false"></aura:attribute>
    <aura:attribute name="column2" type="Aura.Component[]" required="false"></aura:attribute>

    <div class="container">
        <div class="contentPanel">
            <div class="left">
                {!v.column1}
            </div>
            <div class="right">
                {!v.column2}
            </div>
        </div>
    </div>

</aura:component>

When I look in Community Builder, I can see areas called "column1" and "column2" that I can drag components into. Great. If I rename column1 to columnA (in both the attribute and the {!v.columnA} usage, I did check that!), then it does not appear as an area in Community Builder.

With a bit of guessing, I came across the fact the "footer" is another magic name that works. Is there a comprehensive list of what does work like this? Some reasonable things e.g. column3 don't work. Here is what I have so far:

  • header
  • content
  • sidebar
  • sidebarAlt
  • column1
  • column2
  • footer

Hopefully, SF will improve this so that we can use whatever names we want and maybe add an extra attribute to the aura:attribute, telling Community builder that this is going to be an area to contain more components.

1

Your Answer

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

Browse other questions tagged or ask your own question.