Structure Documentation

The recommended method is to have your default language at the top level and make separate branches for your alternate languages like this:

  • /about
  • /services
  • /contact
  • /es/about
  • /es/services
  • /es/contact
  • /fr/about
  • /fr/services
  • /fr/contact

You can then use the nav_sub tag and either the start_from or exclude_status parameters. When using exclude_status you can assign statuses by language to control the output.

Example nav_sub code:

  
    {if segment_1  'es' OR segment_1  'fr'}
        {!-- START FROM SEGMENT 2 IF NOT DEFAULT LANGUAGE --}
        {exp:structure:nav start_from='/{segment_1}/{segment_2}'}
    {if:else}
        {!-- START FROM SEGMENT 1 IF DEFAULT LANGUAGE --}
        {exp:structure:nav start_from='/{segment_1}'}
    {/if}
 
 

This method does not require different custom fields per language as they’re all separate pages powered by the same code and quite often the same templates.

Support

Having problems setting up and/or using Structure? Support is offered from 10am to 4pm EST weekdays. Send us an email at help@eeharbor.com and we will respond as quickly as we can.