Help center Customer portals Liquid forum breadcrumbs: show the community hierarchy Updated Wednesday, October 28, 2026 · Marc Staine Forum breadcrumbs help customers move from a specific community area back to a broader product or discussion area. This is useful when a colleague shares a deep link and the reader does not recognize where it belongs. sb.forum_bread_crumb supplies the selected forum’s hierarchy, while your template controls the readable navigation. At a glanceFor: portal administrators and designers working with support operations. Applies to: Supportbench Core.Start here: Settings → Customer Portal → select the portal → Page templates What this object gives you · Choose the correct page and customer context · Supported values and how to use them · Example: distinguish the current forum from its parents · Design for a customer arriving from a shared link · Make and verify the change · Common problems and recovery · Keep the portal useful over time What this object gives you sb.forum_bread_crumb is a collection of rows with id, name and selected. It needs a positive forum context. Without that context it is empty, rather than automatically returning a default forum.The selected flag identifies the current forum. A forum is not the same as a discussion topic; a topic’s ID should not be substituted for a breadcrumb’s forum ID. Choose the correct page and customer context Use the forum context available to the current community page. A direct discussion link may not provide the same selected forum context as a forum-browsing page. Preserve the existing main navigation for visitors who have no breadcrumb path.Open the intended portal in Settings → Customer Portal, then choose Page templates. You need permission to administer communities or the applicable portal-edit override. Work on the existing page for this task; adding an object name to a different page does not make its records available. Keep existing forms, input names, navigation and scripts intact.Liquid is a presentation language. Expressions inside {{ ... }} print values; statements inside {% ... %} control a loop or condition. A collection must be looped through before reading an individual row. These examples are display fragments to adapt within a working template, not replacement page templates. Supported values and how to use them MemberMeaning and operational useidString identifier of the forum in this breadcrumb row.nameReadable forum name. Escape it as plain text.selectedBoolean indicating the current forum in the hierarchy. Use it to label the current location. Example: distinguish the current forum from its parents <nav aria-label="Community breadcrumb"> <ol> {% for crumb in sb.forum_bread_crumb %} <li> {% if crumb.selected %} <span aria-current="page">{{ crumb.name | escape }}</span> {% else %} <a href="/forum/{{ crumb.id | escape }}">{{ crumb.name | escape }}</a> {% endif %} </li> {% endfor %} </ol> </nav>For a page that can have no forum context, hide the empty breadcrumb wrapper through the page’s normal conditional layout or leave the existing community-home navigation available. Avoid a row of separators with no labels. Design for a customer arriving from a shared link A B2B contact may receive a link from a colleague who works on another product line. The breadcrumb should explain the community area, while the page title explains the current discussion or forum. These labels should complement each other rather than repeat an internal numeric ID.Try a long forum name and a narrow phone viewport. Allow wrapping and adequate link spacing. Do not remove the selected label simply because it is not clickable; it provides orientation. Make and verify the change Write down the customer task this change should improve. For example, make the correct request or relevant knowledge easier to find. Decide what should appear when there is no data.Copy the current template into your approved change record before editing. Add the fragment in the correct page context without removing functional controls.Choose Save Changes to save the draft, then Design to preview it. Check a populated example and an empty or signed-out example as applicable.Inspect desktop and narrow-screen layouts. Test long customer names, long titles, missing optional values, readable links and keyboard navigation.Use Review changes → Publish when the draft is ready. A saved draft does not update the live visitor page.Open the actual portal as an intended customer and follow the full task. Verify another relevant role or customer scope where visibility differs. Record the account, page, role and outcome with the change.Preview is only part of the checkDesigner examples use synthetic data. They can show layout and syntax problems, but do not prove that a real customer has access to a record. Keep portal access rules and the actual customer test separate from visual preview. Common problems and recovery ProblemWhat to checkNo breadcrumb is returnedCheck for an actual selected ForumId. Do not fabricate a default path.Links open discussion pagesUse /forum/ for these IDs. /topic/ is for discussion identifiers.The current discussion is marked as the selected forumselected describes the forum context, not a TopicId.The hierarchy disagrees with the forum directoryReview the underlying configured parent structure and the selected context; styling cannot repair an incorrect hierarchy.The template renders in preview but the live page has not changedConfirm that you published the reviewed draft for the correct portal, page and language. Reopen the live page.A customer sees fewer records than an agentCheck the customer’s portal role, company/contact relationship and the record’s audience. Do not attempt to broaden access by changing a Liquid loop.A layout change breaks a form or navigationCompare the changed template with the saved working version. Restore missing form IDs, inputs, URL patterns or callbacks before publishing the corrected draft. Keep the portal useful over time Recheck breadcrumb paths when forums are reorganized. Clear community navigation should reduce wrong-area posting, while account-specific or urgent requests still need the appropriate support channel.Use clear labels and meaningful empty states. Do not display a raw ID when a customer needs a descriptive name, and do not describe an absent value as a service failure. After changes to portal roles, topic placement, custom fields or language coverage, revisit the relevant customer examples. A successful render alone does not establish that the instructions, links and customer visibility are still correct. Continue learning Plan and publish a safe Liquid portal customizationDisplay the forum directoryDisplay forum topic rowsConfigure the customer portal Was this article helpful? Yes No Thank you for your feedback.